Methods and provenance
Data provenance
All analysis starts from MaleCNS v1.0, the complete male Drosophila central nervous system connectome, released 2026-06-08 under CC BY and queried from neuprint.janelia.org (dataset male-cns:v1.0).
Reference paper: Berg et al., "Sexual dimorphism in the complete Drosophila male central nervous system connectome", Cell 189(18), 2026. DOI: 10.1016/j.cell.2026.08.015
Raw tables: 176,422 neuron records; 25,862,574 directed edges at weight 1 and above; 6,287,789 at weight 5 and above. Edge weight is the neuPrint ConnectsTo.weight property (synapse count).
Pipeline
The battery is a Python pipeline built on igraph (C-backed, the only practical choice at this scale). Stages, in order:
- Graph build. Directed weighted graphs at synapse thresholds 5 and 11 (edges kept when weight is at least the threshold). Self-loops removed after construction: 40 at threshold 5, 11 at threshold 11.
- Reachability. Exact sensory-to-motor pair counts via condensation bitsets: 26,972 in-graph sensory neurons by 2,232 in-graph motor neurons, 60,201,504 pairs. Hop-limited fractions and mean shortest paths sampled over 200 sources.
- Edge-disjoint paths. Unit-capacity max flow on 200 sampled pairs per threshold.
- Minimum cut. Directed s-t min cut between the sensory and motor sets via super source and super sink with infinite-capacity super edges.
- Lesions. Node removal (random, out-degree, approximate betweenness, min-cut membership) and edge removal (random, weight) at fractions 1, 2, 5, 10, and 20 percent, tracking newly disconnected pairs; degree-matched random controls via out-degree quantile bins where feasible.
- Nulls. Degree-preserving and region-constrained directed rewiring by double-edge swaps, 20 replicates each, weights preserved.
- Statistics. Percentile bootstrap confidence intervals, one-sided permutation tests with the +1 correction, Benjamini-Hochberg FDR over 24 tests.
Run fingerprint: config hash ; compute time . Full code: github.com/akramahmed1/malecns-fault-lines
Reproducibility audit
An independent audit (2026-09-13, fresh pandas checks, no pipeline code) confirmed every headline number: edge counts, self-loop counts, node counts, and the reconciliation with the paper below. Reachability, min-cut, lesion, and statistics code was reviewed but not re-implemented from scratch.
Node-count reconciliation
| Count | Value | Meaning |
|---|---|---|
| Neuron records downloaded | 176,422 | Every :Neuron node in neuPrint male-cns:v1.0 |
| Paper headline neurons | 166,700 | Annotated neurons only; 9,722 unannotated records excluded |
| Battery graph nodes | 173,023 | Distinct endpoints of edges with weight 5 or more |
| Threshold 11 effective nodes | 166,874 | 173,023 minus 6,149 isolated vertices with no weight 11+ edge |
Known wart, documented not hidden: the threshold 11 graph is stored with 173,023 vertices including 6,149 isolates, so its headline node count overstates the effective graph, and threshold 11 lesion fractions are computed over a pool that includes isolates (mildly diluting targeted-removal fractions). The atlas shows the effective count 166,874 wherever node counts appear.
What the atlas does not claim
- No lesion comparison on this site is statistically significant after FDR correction. They are exploratory.
- Structural routes are not behavior. Nothing here predicts what the fly does.
- Threshold 0 (the full 25.6M-edge graph) was not run; only thresholds 5 and 11 are shown.
- Nothing here claims to be the first of anything.