esp32-ai-fly / SUBGRAPH.md
slvDev's picture
Add fruit fly connectome for ESP32-S3
d36ff5e verified
|
Raw History Blame Contribute Delete
3.57 kB

Exact graph selection

This is a class-based induced graph from MaleCNS v1.0. It is not a spatial crop and does not preserve the behavior of the removed network.

The annotation table is filtered to nonempty superclass and status != Glia, then sorted by bodyId. This yields 166,700 cells. Retain the cells whose superclass starts with cb_, visual_ or descending_neuron. Keep every positive weighted edge in the upstream connection-strength table for which both endpoints are retained. The source file already applies its named minconf-0.5 threshold; no further weight threshold is applied here.

Retained cells

Upstream superclass Cells
cb_efferent 4
cb_endocrine 72
cb_intrinsic 32,164
cb_motor 107
cb_sensory 4,868
cb_sensory_tbc 14
descending_neuron 1,314
descending_neuron_tbc 2
visual_centrifugal 563
visual_projection 9,201
visual_projection_tbc 2
Total 48,311

Excluded cells

Upstream superclass Cells
ENS 50
ascending_neuron 1,846
efferent_ascending 8
efferent_descending 4
ol_intrinsic 89,403
ol_sensory 6,098
sensory_ascending 537
sensory_ascending_tbc 2
sensory_descending 12
vnc_efferent 94
vnc_endocrine 22
vnc_intrinsic 13,161
vnc_motor 708
vnc_sensory 6,370
vnc_sensory_tbc 36
vnc_tbc 38
Total 118,389

The corresponding annotated full graph has 25,582,938 aggregate directed edges. The selected graph keeps 9,462,135, removing 16,120,803 edges with one or both endpoints outside the selection. The retained integer weights sum to 49,481,754 contacts. They range from 1 to 1,878; 633,813 exceed 15. The image therefore does not store fixed four-bit graph weights.

There are 152 cells without incoming retained edges, 156 without outgoing retained edges, and 118 with neither. They remain in the selected node set. Rows are receiving/post cells; columns are sending/pre cells. connections-by-superclass.csv gives edges and contacts by source/target class.

Mapping and circuit roles

neurons.csv has one row per execution index, in FCL1 execution order:

  • execution_index: zero-based runtime index used by graph edges and circuit maps.
  • canonical_index: local index in the retained body IDs sorted ascending.
  • body_id: original MaleCNS body ID, not another local index.
  • superclass: upstream annotation used in selection.
  • class: upstream cell class.
  • type: upstream cell type, such as LC4 or DNp01.
  • side: upstream side annotation.

The escape circuit names 311 looming inputs, 165 left and 146 right, all LC4 and LPLC2 cells, and 8 escape outputs, 4 per side: DNp01, DNp02, DNp04 and DNp11. Which cells carry the demo's stimulus and decision is an engineering choice, supported by the stimulation measurements in escape-circuit.json, not an identified biological encoding of that world. All other retained cells still participate in graph updates; reading eight neurons does not bypass or truncate propagation.

The FCL1 permutation maps execution indices to canonical indices. The circuit indices, neurons.csv rows and both gold files already use execution indices. Applying that permutation to them again would corrupt the interface. Compression validation compared every stored edge index and contact count with the uncompressed selected source; SUBGRAPH.json records that source's hash and the neuron-map hash.