Nature 634(8032):201–209. Received 30 October 2023; accepted 21 August 2024; published 2 October 2024 (issue 3 October 2024). DOI: 10.1038/s41586-024-07982-0. Open access, CC BY 4.0; no correction notice on the article page at retrieval. Peer-reviewed statistical-methods and connectome-analysis paper built on the FlyWire connectome (v783). It reports no new neural recordings and no perturbation experiments. Read 29 September 2026 by a subagent (claude-opus-5-5, reasoning effort max). The main session spot-checked four claims against the source text (the authors' feasibility concession and retitle in the peer-review file, the transmitter sign rule, the synapse-threshold wording); all four match. The released code was audited read-only on 30 September 2026 at 9781b03 (code audit). Its corrections are made in place, each marked, and logged at the end of this file.
Authors (verified against PDF page 1 and the article metadata): Dean A. Pospisil and Max J. Aragon (equal contribution; both corresponding), Sven Dorkenwald, Arie Matsliah, Amy R. Sterling, Philipp Schlegel, Szi-chieh Yu, Claire E. McKellar, Marta Costa, Katharina Eichler, Gregory S. X. E. Jefferis, Mala Murthy and Jonathan W. Pillow. They are at Princeton (Neuroscience Institute; Computer Science) and Cambridge (MRC Laboratory of Molecular Biology; Drosophila Connectomics Group). The title changed during review from "From connectome to effectome: learning the causal interaction map of the fly brain" "to further emphasize the prospective nature of our paper" (Peer Review File).
What was read
The article page lists exactly three supplementary files. All three were acquired and read, together with the version of record:
-
Main PDF (version of record, 24 pages). Read in full: abstract, main text, four main-figure captions, Methods, all equations (1–2 in the main text, 3–11 in Methods), data and code statements, references, acknowledgements, contributions, competing interests, the peer-review note and the ten Extended Data captions.
- The reading-order text extraction (2,647 lines) was read line by line.
- All 24 pages were rendered and inspected.
- Figs 1–4 and Extended Data (ED) Figs 2, 8 and 9 were re-rendered at 300–600 dpi to read values. Methods pages 10–11 were rendered at 200 dpi for the equations.
- PDF pages 22–24 are the Reporting Summary.
-
Supplementary Information (MOESM1; cover plus 12 pages). Read in full:
- the graphical model;
- the experimental proposal;
- the IV estimator applied to nonlinear dynamics (SI equations 1–8);
- the additional simulations and connectome analyses;
- references 46–59.
It has no figures or tables of its own; it points to the ED figures. All pages were inspected, and the equation pages were checked at 170 dpi.
-
Reporting Summary (MOESM2, 3 pages). Text read and all pages inspected for checkbox states. Its text layer is identical to PDF pages 22–24 (programmatic diff).
-
Peer Review File (MOESM3, 54 pages). All text read: three referees' first reports, the first rebuttal, second-round reports including the code-availability remarks, and the second rebuttal. The referees are named as Lu Mi, Maxwell Turner and one anonymous referee; which report is whose is not stated.
- All 16 embedded images were inspected. They are revision-stage SI figures plus one response-only simulation.
- The other 38 pages were checked as thumbnails and contain only text.
- Gap: pages 23–26 show the revision's SI Figs 12–15, the first 100 eigencircuits, at a resolution where neuron labels are illegible. These plots are not in the published package; the data statement points to GitHub for them. The repository holds no loadings or eigencircuit plots at any revision, so the gap cannot be filled from GitHub (added after the code audit).
-
Publisher HTML. Used for bibliographic metadata, the supplementary inventory and the data, code and peer-review statements. Its body was not read separately. A programmatic check found 480 of 494 sampled 60-character windows of its paragraphs in the PDF text; the misses fall at page breaks, interleaved figure text or LaTeX markup.
Not audited:
- the eigencircuit loadings, which are not in
github.com/dp4846/conn2effat any revision; the code itself was audited separately (code audit) (corrected after the code audit); - the FlyWire/Codex v783 data, beyond the code audit's inspection of the public Codex files;
- the cited papers.
No simulation was run and no data were reanalysed. Source URLs, SHA-256 hashes and derived files are in papers/consciousness_connectomics/pospisil2024_effectome.provenance.json.
Question and contribution
A connectome gives the synaptic paths by which neurons can affect each other, not how strongly they do in vivo. Passive recordings cannot separate direct effects from unobserved common inputs, and the fly has about (10⁵)² neuron pairs. The paper proposes a combined statistical and experimental route to a whole-brain causal model, which it calls the effectome. It has three parts:
- An instrumental-variable (IV) estimator for a linear dynamical model. White-noise optogenetic stimulation is the instrument: the experimenter randomises it, and it acts only through opsin-expressing neurons.
- IV–Bayes. A Gaussian prior centred on the signed synapse-count connectome is placed on the effect weights. The prior keeps non-zero variance everywhere, so the estimator stays consistent if the prior is wrong.
- An eigendecomposition of the signed connectome. It ranks candidate "eigencircuits" for targeted perturbation. The paper uses it to argue that fly dynamics are high-dimensional but carried by many small, largely independent circuits.
The SI adds an identifiability count, a four-part experimental proposal and one worked example of choosing a driver line.
After review the authors redefined the effectome as the Jacobian of the underlying nonlinear dynamics. That is the local linear effect of each neuron on each other in the current state, so the effectome is state-dependent by definition (first rebuttal; Discussion).
Method
Linear model and IV estimator (Methods equations 3–7; SI)
- Model. VAR(1): r_t = W r_{t−1} + W_{l,x} L_t + ε_t.
- L_t is the laser drive.
- ε_t may have any temporal or cross-neuron correlation, provided it is independent of L_t.
- Neurons are sources X (stimulated and observed), targets Y (observed; X ⊂ Y) and unobserved Z.
- Estimator. The stimulation has identity covariance, so Cov[X_t, L_t] = W_{l,x} and Cov[Y_{t+1}, L_t] = W_{x,y} W_{l,x}.
- Hence W_{x,y} = Cov[Y_{t+1}, L_t] (W_{l,x})⁺, with an exact inverse only if n_L ≥ n_S. This is two-stage least squares.
- Multi-synaptic effects follow from powers W^n.
- Critical assumptions:
- the laser moves only the source neurons, and only within the same step;
- only the previous step drives the next;
- the interaction delay is known and fixed: one step in the linear simulations, but 10 ms in the ED Fig. 3 conductance simulation, so the Discussion's "1 ms in our simulations" does not hold there (corrected after the code audit).
- Nonlinear case (SI). For r_t = f(W r_{t−1} + W_{l,x} L_t + ε_t), IV keeps true zeros at zero only under two conditions: each neuron is stimulated independently (W_{l,x} diagonal and invertible), and subthreshold activity is observed. Otherwise f must be effectively linear.
- Conductance model (SI equation 6). τ dv/dt = R W₀ ⊙ (E − v1ᵀ) f(v(t−d)) + v_rest − v.
- The IV estimate converges to the Jacobian at the average voltage.
- Off-diagonal Jacobian entries are zero wherever W₀,ij = 0.
- Non-zero entries are proportional to conductance only when neurons sit at similar voltages and share reversal potentials.
Connectome prior (IV–Bayes; Methods equations 8–11)
- Prior mean: s × (synapse count × sign). Prior variance: "the absolute value of the mean plus a small constant". The code implements exactly this, per weight, in both released revisions (confirmed by the code audit).
- Unconnected pairs are therefore pinned near zero.
- Connected pairs are only weakly constrained.
- The MAP estimate is ridge regression shrunk toward the connectome.
- The paper says the hyperparameters were set to their optimal values beforehand; the code uses fixed library defaults, with no search (corrected after the code audit). In Fig. 2 the mean and variance scales are 1 and the variance constant is 10⁻¹⁶; the Fig. 2d illustration uses a constant of 1. σ² is estimated from the IV residuals. The authors note that cross-validation or evidence maximisation could replace a fixed choice.
The connectome matrix (Methods)
- Data and signs. FlyWire v783, one seven-day-old female. Signs come from EM-predicted transmitters (Eckstein et al.):
- acetylcholine and dopamine positive;
- GABA, glutamate, serotonin and octopamine negative.
- Signs in code (added after the code audit). Each presynaptic neuron is positive if its predicted probability of acetylcholine plus dopamine is at least 0.5, and negative otherwise.
- By class this matches the list above, with exceptions: 1,684 cholinergic, 33 serotonergic, 11 dopaminergic, 5 glutamatergic and 1 GABAergic neuron get the opposite sign, and all 72 octopaminergic neurons are negative.
- The 19,658 neurons with no predicted class are signed by the same rule.
- The submission-era code signed each connection by its own predicted type. The change flips 3.39% of synapses and is not mentioned in the paper.
- Threshold. Connections with fewer than five synapses were set to zero. This is right: the code reads Codex's v783 table of neuron pairs with at least five synapses and applies no threshold of its own, so Fig. 2a's ">5" is wrong (confirmed by the code audit).
- Scope. The same matrix W serves as the prior mean (Fig. 2, scaled) and as the object of the eigendecomposition (Figs 3–4, run on the unscaled counts). The paper gives 121,327 "connected neurons" for the Fig. 2 simulation and the SI, but the matrix the code builds has 134,181 neurons and 2,700,513 connections, which is Dorkenwald's five-synapse graph (corrected after the code audit).
- The authors' matrix had that size too (strong inference): their hard-coded indices, the Fig. 3e axis and the reproduced eigenvalue labels all fit 134,181.
- Where 121,327 comes from is unexplained; eleven tested rules give other counts.
- This sign rule differs from Shiu et al. 2024, which treats dopamine, octopamine and serotonin as excitatory.
Eigencircuit analysis and circuit simulations
- Eigen-analysis. Treat r_{t+1} = W r_t and rank eigenvectors by |λ|. In code this is ARPACK on the unscaled signed-count matrix, and the rank i counts both members of a complex-conjugate pair (added after the code audit).
- The eigenvalue angle is read as rotation per time step: 0° is monotone decay, 90° a four-step cycle, 180° a sign flip every step.
- An "eigencircuit" is the set of neurons holding 75% of an eigenvector's power. In code it is the neurons before the cumulative power first exceeds 75%, so slightly under 75% (corrected after the code audit).
- Circuit simulations (Methods equation 4). r_{t+Δ} = exp(log(W) Δ/T) f(r_t + u_t).
- T = 10 ms, Δ = 1 ms in the text but 0.1 ms in code (corrected after the code audit), rectifying f, and W scaled to a maximum eigenvalue of 1.
- Inputs are hand-tuned 150-ms steps: 0.01 for the opponent-motion circuit, and for the ellipsoid-body circuit 0.01 to the "winner" and 0.006 to the others.
- The text says the membrane time constant was "tuned manually to 0.5 ms". In code "0.5" is
time_to_c, in units of 10-ms steps (corrected after the code audit):- the leak keeps 0.397 per 10 ms, an e-folding time of 10.8 ms;
- it is used only in the stimulation panels 4f and 4k;
- the fractional matrix power uses the principal logarithm, the state stays complex and the real part is plotted;
- HSE, the fifth member of eigencircuit 1, receives no input in 4f, although the caption says all neurons were stimulated.
Results
Estimator performance (all simulated)
- Confounding toy (Fig. 1d). Two neurons with a slow common drift and true β = 0 (n = 100). Least squares stays biased at about 0.27 across 10³–10⁵ samples; IV converges to 0.
- Whole-brain linear simulation (Fig. 2). One source neuron chosen for its many downstream contacts; whole-brain observation; laser-to-noise SNR = 10 in the text; n = 10.
- In code (corrected after the code audit):
- the source is a Dm12 neuron with 30 postsynaptic partners, all inhibitory, against a median out-degree of 12;
- SNR is 100 in power (laser SD 10, noise variance 1);
- the simulated truth has spectral radius exactly 1.
- Raw IV is unbiased, but its error is dominated by the zero weights, which are most pairs.
- IV–Bayes residual sum of squares is about 3–4 orders of magnitude lower across 10–10⁴ samples (our reading of Fig. 2f; the text claims "at least an order of magnitude").
- The code explains the size (added after the code audit). The simulated truth has the prior's exact zero pattern and the prior's variance constant is 10⁻¹⁶, so IV–Bayes pins the 134,151 non-partners at zero and acts as IV restricted to the 30 true partners. Knowing the support alone predicts 134,181/30 ≈ 4,500, or 3.65 orders (arithmetic).
- At 10⁴ samples IV–Bayes reaches about R² = 0.9, while raw IV is still below R² = 0.
- In code (corrected after the code audit):
- Conductance model, five neurons, all stimulated (ED Fig. 3). τ = 10 ms, noise and laser SD 2 mV, Euler step 1 ms.
- IV against the Jacobian: r² = 0.97 (slope 0.94) at similar voltages, and r² = 0.99 (slope 0.99) at different voltages.
- Jacobian against W₀: r² = 0.87 at similar voltages, but only 0.43 at different voltages.
- Conductance model, ten neurons, about 90% of connections zero (ED Fig. 4; five runs in the caption, ten in code). The example gives R² = 0.47 for IV and 0.94 for IV–Bayes. IV–Bayes reaches R² ≈ 0.9 near 10⁴ samples; raw IV near 10⁵ (visual reading). In code (corrected after the code audit):
- the simulation uses τ = 1, an Euler step of 0.1 and no noise, unlike ED Fig. 3;
- the IV–Bayes prior mean is the true conductance matrix;
- R² is the squared correlation.
- Misspecified prior (ED Fig. 5). Ten-neuron linear systems; the correct prior, an independent wrong prior and no prior are compared while the constant added to the prior variance is swept from 1e-5 to 1e-2 (n = 10).
-
With a small constant the correct prior converges fastest.
-
The wrong prior is far slower than no prior, reaching only R² ≈ 0.5 at 10⁵ samples.
-
At 1e-2 all three curves coincide, and all converge eventually.
-
In code (added after the code audit):
- the correct prior is the exact truth;
- the wrong prior is an independent draw from the same distribution (U(0.1, 0.2), 90% zeroed) that also lacks the true self-weights of 0.1, about a third of the truth's squared weight;
- SNR is 1 and all ten neurons are stimulated.
A partly correct prior is not tested.
-
- Higher-order dynamics (ED Fig. 6). On VAR(4) data (5 × 5 systems, n = 50), VAR(1) IV still recovers the first-order weights W₁. R² at 100 samples is 0.33, against 0.48 on VAR(1) data; both approach 1 by 10⁴ samples. The error bars are standard errors in code, not the caption's s.d. (corrected after the code audit).
- Identifiability (SI equations 1–2; ED Fig. 2). Experiments needed: N_E = N²/(n_L n_T).
- Stimulating one neuron per fly needs N flies: about 121,327 by the SI's count, or about 134,000 with the 134,181 neurons the code analyses (corrected after the code audit).
- With 5% of neurons as sources, targets and independent lasers, the SI gives 420 experiments.
- This counts identifiability with unlimited data per experiment, not accuracy.
Connectome analysis (measured anatomy, read through an untested linear-dynamics assumption)
- Slowly decaying spectrum (Fig. 3a).
- |λ₁₀₀₀| is about 0.1 of |λ₁|. This implies a power-law slope of about −1/3; the paper reports no exponent.
- The authors conclude that dynamics would be high-dimensional under private white-noise input to every neuron. They note this depends on that input assumption.
- Timescales (Fig. 3b; ED Fig. 8a–d).
- Angle modes appear at 0°, 90° and 180°.
- Fast sign-flipping modes are over-represented among the top ranks. They go with reciprocal inhibition carried by many synapses.
- Near-independence (Fig. 3c–d).
- The median correlation between eigenvectors is about 0.
- The top 10–20 are nearly orthogonal to the rest.
- The maximum correlations rise with rank.
- Sparsity (Fig. 3e–f).
- Neurons needed for 75% of power: about 50 for the top 10 eigenvectors, about 500 for ranks 10–100 and about 1,500 for ranks 100–1,000.
- The paper says the count "never exceeded" 10% of the brain. The Fig. 3f maximum is about 3,500 neurons: 2.9% of 121,327, or 2.6% of the 134,181 neurons the code analyses.
- In code the x-axis of Fig. 3f is the index of unique eigenvectors (about 516, each conjugate pair counted once), not the eigenvalue rank, and each plotted count is one below the number of neurons needed (corrected after the code audit).
- Localisation (ED Fig. 8e–f).
- Anatomically localised eigencircuits are a minority, "10% of the top 1,000" (516 unique eigencircuits). In code the locality index is the fraction of connection–neuropil rows in the most common neuropil: neither synapses, as the captions say, nor neurons, as the SI says (added after the code audit).
- Localised ones occur up to about rank 200, and some dominant circuits are non-local.
- Robustness to noise and transforms (ED Figs 9–10).
- With Gaussian count noise at SNR 10–100, the top eigencircuits are nearly identical. At SNR 1 a few top real eigenvectors are lost.
- Less-localised circuits are less robust (ρ = 0.56). The SI calls this correlation significant but reports no test or P value. In code it is a Spearman rank correlation whose P value is computed and printed but not reported (added after the code audit).
- A tanh transform degrades eigencircuits gradually, and some survive keeping only the sign.
- The spectrum barely changes under tanh, sign-only or Poisson count noise.
- Shuffle control (ED Fig. 10). Shuffling the matrix entries flattens the spectrum sharply: at rank 1,000 it sits at about 0.55 of the top eigenvalue, against 0.09 unshuffled. In code the shuffle permutes the pre- and postsynaptic index columns independently. It keeps each neuron's number of connections and the pool of signed counts, but breaks each neuron's sign and output strength. So the dimensionality needs more than sparsity, but the flattening may owe as much to the per-neuron sign structure as to the connectivity pattern (corrected after the code audit; the attribution is inferred).
Example eigencircuits (in-model simulation only)
- Eigenvector 1 (λ = −0.99).
- Top neurons: Am1, VCH, LPi15, HSE and DCH, in one lobula plate and the inferior posterior slope. 75% of synapses are in the lobula plate.
- All effects among the four simulated neurons are inhibitory.
- Unilateral back-to-front drive to VCH and DCH keeps them active; bilateral drive to all four suppresses them.
- The authors call the circuit "well-suited to compute opponent motion" and a "rediscovery" of a circuit analysed by Shinomiya et al. 2022. They say this suggests, "anecdotally", that eigendecomposition can reveal interesting sub-circuits.
- Eigenvector 45 (λ = −0.32).
- GABAergic R4d ring neurons with all-to-all mutual inhibition; 99% of synapses are in the ellipsoid body.
- When one neuron gets input 0.01 and the rest 0.006, the favoured neuron sustains its response and the others decay (winner-take-all).
- The order of the neurons along the visual field "was arbitrarily set by their eigenvector loading magnitude".
- The authors state that "the dynamical mechanisms of the computations indicated by our simulations remain untested".
Proposed experiment (SI)
The SI lists four sufficient requirements:
- sparse co-expression of opsin and a voltage sensor in the top-loading neurons (SPARC; GAL4, LexA and QF in parallel);
- voltage imaging at about 1 kHz (ASAP1; custom microscopes);
- two-photon holographic stimulation, which to the authors' knowledge has not been attempted in flies (Chronos opsin);
- identification of every recorded cell in the FAFB connectome (BIFROST, SynthMorph, NBLAST).
The effectome would be learned piecemeal across genetically identical flies in the same conditions. In the worked example, GAL4 line VT014336 overlaps the top neurons of eigenvector 25: DP1m-, DP1l- and VL2p-adPN, and v2LN30.
What the peer review adds
- No biological demonstration. Referees 1 and 2 both said the paper reads as a proposal. The authors agreed that "the approach is not feasible in the near term future" and changed the title.
- Confounders that differ between source and target.
- Referee 3 asked for such confounders. They also cited worm evidence (Randi et al. 2023) that non-synaptic peptide signalling may explain "as much as 30%" of neural variance, and that its influence is high-dimensional.
- The authors answered with a two-neuron simulation that appears only in the rebuttal, not the paper. In it the IV estimate stays unbiased for correlations of 0–1 between the source and target confounders.
- They added ED Figs 5–6 and softened the claim to "under our assumed model".
- Code. Referee 1 reported that it runs. Referee 2 could not install or run it. Referee 3 did not review it.
- Numbers that changed between the first rebuttal and print, without explanation:
- the R4d circuit was "eigenvector 42" and is 45 in print;
- "LPi2-1" became LPi15;
- synaptic density went from "0.04%" to 0.01%;
- the example dominant non-local eigencircuits went from "2, 6, 7" to 8, 10 and 12;
- the simulated input steps went from 30 ms to 150 ms, with amplitudes about 7–10× larger.
Our checks against the paper
Labels: verified means checked against the paper's own text, figures or arithmetic. Inferred means our reasoning from verified facts. Guess means plausible but unchecked.
Checks that pass (verified).
- 50, 500 and 1,500 of 121,327 neurons are 0.041%, 0.41% and 1.24%, matching the stated bounds. Of the 134,181 neurons the code analyses they are 0.037%, 0.37% and 1.12%, still within the bounds (added after the code audit). The top-10 counts in Fig. 3f average about 50.
- Fig. 3a and the black curve in ED Fig. 10 both put |λ₁₀₀₀| at about 0.1.
- ED Fig. 8e gives eigencircuit 1 a locality of about 0.76, matching "75%".
- The 5% curve in ED Fig. 2d completes at about 0.0035 experiments per neuron = 420/121,327. The formula gives 400; 420 = 20 × 21 is apparently a rounding of it (inferred).
- The linear traces in Fig. 4c and 4i match Re(λ^(t/T)) with T = 10 ms (the code confirms T = 10 ms and plots the real part). For λ₄₅ = −0.32 this gives 0.2, then −0.064 at 10 ms, then +0.02 at 20 ms, as plotted.
- The eigenvalue labels printed in Figs 3g, 4 and ED Fig. 7 cover 15 distinct ranks. None increases with rank, except the one in item 2 below.
- ED Fig. 8f is consistent with "about 10% localised" if "localised" means more than roughly 0.25–0.5 of synapses in one neuropil. The paper never states the cutoff (inferred, visual reading).
Internal inconsistencies (verified unless marked).
- ED Fig. 2d: the legend swaps D/100 and D/10. (No code exists for ED Fig. 2, so the code audit cannot check this.)
- The thickest green line completes at about 0.001 experiments per neuron, in ten 10% steps. That is the formula's D/10: 100 experiments, or 0.00082 per neuron.
- The thinnest line completes at about 0.08, which is D/100: 10⁴ experiments, or 0.082 per neuron.
- The legend labels them the other way round. The SI text ("thicker green trace" means higher expression) matches the curves, not the legend.
- Read at face value, the legend understates the D/100 cost a hundredfold.
- Fig. 3g: "i = 6, λ = −0.069" breaks the ranking by magnitude.
- Rank 8 is −0.66, and |λ| falls to about 0.1 only at rank 1,000.
- Fig. 3b shows real eigenvalues near −0.65.
- Row 2 holds mostly the same cell types as eigencircuit 1 (Am1, VCH, DCH, LPi15), in the other hemisphere.
- It should read −0.69 (corrected after the code audit; previously a guess). Rebuilding the matrix from the code and the public v783 files gives −0.6945 at rank 6, and the other eleven printed labels match.
- Olfactory row 2 of Fig. 3g does not match the text. The text says the row holds "projection neurons from the antennal lobe to the lateral horn". Row 2 (i = 8) is labelled lLN2F, lLN2T and lLN2X, which are antennal-lobe local-neuron types (inferred from nomenclature; confirmed by the code audit, which finds lLN2F/T/X/P local neurons at the top of rank 8). The adPN projection neurons are in rows 3–4.
- Wrong panel and figure references.
- The main text ("Fig. 2b, scatter centred around diagonal") and caption e ("raw IV estimator in b") both point to b. The IV scatter is panel c.
- The Methods cite "Fig. 3" for the single-neuron example, which is Fig. 2.
- Explained by the code audit: the code's own panel names, "Fig 2 B,D" for the scatters and "Fig 2C" for the prior illustration, match these references, so the text predates a relettering.
- The synapse threshold is stated two ways.
- Fig. 2a says ">5 synapses"; the Methods say connections with "less than five" were set to zero.
- Settled by the code audit (corrected). The code reads Codex's table of neuron pairs with at least five synapses, so the Methods are right and ">5" is wrong.
- The matrix it builds has 134,181 neurons, which is Dorkenwald et al.'s five-synapse graph. 121,327 matches none of eleven tested rules.
- The prior is specified two ways. The Results and Fig. 2d give a per-weight variance of |mean| + constant. Methods equations 9–10 derive only the isotropic γ²I case. Settled by the code audit: the code implements the Results form in both released revisions.
- SI equation 8 carries a τ prefactor. It contradicts equation 6 and the stated definition of J. The zero-pattern argument is unaffected. Settled by the code audit: the code's Jacobian has the prefactor dt/τ.
- Methods equation 4 is under-specified.
- It contains no membrane time constant, although the text says one was tuned to 0.5 ms. The plotted dynamics follow T = 10 ms (inferred).
- W has negative real eigenvalues, so exp(log W · Δ/T) is in general complex. How this was handled is not stated; the traces fit the real part (inferred).
- Settled by the code audit:
- T = 10 ms and Δ = 0.1 ms;
- "0.5" is half a 10-ms step;
- the principal matrix logarithm is used, the state stays complex, and the real part is plotted.
- Citation error in the Discussion. "Graph-based fly connectome analyses" cites refs 14 and 29. Ref 14 is Ko et al. 2015, on starvation and olfactory neuromodulation. Ref 10 (Lin et al.) was probably intended (inferred).
- Minor slips.
- The ED Fig. 5 caption reads "9- %" and "see Fig. 2c legend" (2d is meant). In code the value is 90% (code audit).
- The Fig. 4g caption says "top four loadings", but the panel labels 12 neurons.
- The Fig. 4j caption says "nine neurons", but the matrix is 10 × 10. The code plots 10 (code audit).
- The Methods give 21 neurons for the ellipsoid-body circuit, while Fig. 4k plots nine. The code plots ten traces, and on the rebuild its 75% rule gives 19 neurons (code audit).
- The "locality index" is defined by synapses in the ED Figs 8–9 captions and by neurons in the SI. The code counts connection–neuropil rows (code audit).
- The data are called the "central nervous system", but FlyWire covers the brain only.
- Density. "Around 0.01%" of neuron pairs connected is the right order of magnitude. From Dorkenwald's five-synapse counts (2,700,513 edges among 134,181 neurons) we get 0.015%, which is also the density of the code's own matrix (confirmed by the code audit). The authors' own revision letter said 0.04%.
- Code-versus-paper differences (added after the code audit, which tabulates them):
- SNR is 100 in power in code, not 10.
- R² has three definitions across Fig. 2 and ED Figs 4–6.
- ED Fig. 4 runs ten simulations, with τ = 1, an Euler step of 0.1 and no noise.
- ED Fig. 3 uses a 10-ms delay, against "1 ms in our simulations".
- ED Fig. 6 plots standard errors, not s.d.
- The ellipsoid-body circuit has 19 neurons under the code's rule, not 21.
- In Fig. 4f the fifth circuit member, HSE, gets no input, and the code labels LPi15 "LPi21".
- Fig. 3c shows 50 components, not the text's first 100 eigenvectors.
- Fig. 3f's x-axis is the unique-eigenvector index, and its counts are one low.
- ED Fig. 9b's P value is computed but not reported.
- The ED Fig. 10 shuffle breaks each neuron's sign.
- The promised loadings and plots of all eigencircuits are not in the repository.
- The repository has no environment file, and its cited branch has no licence.
What rests on data, and what on simulation or theory
| Claim | Basis |
|---|---|
| IV is unbiased under unobserved confounders; least squares is not | Theory for a linear VAR(1) with the laser independent of noise; two-neuron simulation (Fig. 1d); a rebuttal-only simulation |
| A connectome prior improves efficiency by orders of magnitude | Whole-brain linear simulation whose true weights are drawn from the prior itself: the same zero pattern with perturbed magnitudes, so the prior knows the true support exactly. Fixed default hyperparameters with no search (variance constant 10⁻¹⁶), SNR 100 in power (10 in the text), one source neuron with 30 partners, and no unobserved confounders (whole brain observed, Σ_ε = cI) (corrected after the code audit) |
| IV estimates the Jacobian of nonlinear dynamics | SI derivation; five- and ten-neuron conductance simulations with every neuron stimulated and observed |
| A wrong prior costs efficiency but not consistency | Ten-neuron linear simulations (ED Fig. 5), comparing the exact truth as prior with an unrelated random prior (code audit) |
| How many experiments are needed | Counting argument (identifiability only) |
| High-dimensional, sparse, near-independent modes; "a large collection of small circuits" | Eigendecomposition of the measured connectome (FlyWire v783 counts and EM transmitter predictions, one fly), read as dynamics under the untested assumptions that connectome = effectome, a one-step linear map and white-noise input |
| Robustness of eigencircuits | Simulated corruptions of that connectome |
| Opponent-motion and winner-take-all functions | Anatomy plus in-model simulation with hand-tuned inputs and scaling; qualitative agreement with earlier literature; no recordings |
| Feasibility of the experiment | Literature-based argument; the authors concede it is not near-term |
No claim rests on a new neural recording or perturbation. The empirical inputs are two:
- the FlyWire anatomy and transmitter predictions;
- published response properties (H2, T4b/T5b, R4d), used to choose which simulated neurons receive input.
The Reporting Summary is consistent with this: animals n/a, sample size n/a, no randomisation or blinding. Its only replication entry is "Robustness studies of eigendecompisition [sic] results to noise were performed."
Limitations
Stated by the authors:
- Linear, first-order estimates.
- The model is linear. Estimates are first-order and depend on state.
- Under naturalistic variability they become mixtures of Jacobians, so perturbations should be kept minimal.
- Fixed interaction timescale (1 ms). In code it is one step in the linear simulations and 10 ms in ED Fig. 3 (added after the code audit).
- Slower peptidergic or polysynaptic effects are missed, and an AR(P) extension is needed.
- Existing AR(P) IV methods do not allow recurrent interaction with unobserved neurons.
- Simulation parameters were hand-tuned for fast convergence.
- Convergence is slow with high noise, a weak laser or slow timescales.
- Identifiability does not guarantee accuracy.
- Reading the connectome as the effectome is an assumption.
- It assumes little variation in voltages, reversal potentials and time constants.
- The parameters needed to evaluate the Jacobian are not available.
- The eigencircuits are hypotheses.
- The eigenvectors are not the "true" effectome eigenvectors, and the computations are untested.
- Predicting sensory responses needs models of the periphery; linking to behaviour needs body and descending-neuron models.
- Dimensionality depends on the input distribution.
- Later and non-local eigencircuits are less robust.
- The experiment is challenging and not yet integrated. Holography has not been used in flies, and single-cell identification is untested.
Ours:
- No empirical validation of any kind.
- The abstract's "we provide evidence that fly whole-brain dynamics are generated by a large collection of small circuits" rests on the linearised anatomy alone.
- "Stimulating one eigencircuit has little effect on neurons outside of that circuit" is close to true by construction for an exact eigenvector pattern (inferred).
- The headline efficiency result tests a well-specified prior.
- The truth is drawn from the prior's own family, with the connectome's exact zero pattern. The hyperparameters are fixed defaults with no search, and the variance constant of 10⁻¹⁶ pins every non-partner at zero. So the reported gain is the gain from knowing which targets are real (corrected after the code audit).
- Missing or extra edges are tested only in ten-neuron systems (ED Fig. 5). There, a confident wrong prior is worse than none. That wrong prior is an unrelated random graph, and the correct one is the exact truth (added after the code audit).
- "Wrong for only 0.01% of parameters" is optimistic (inferred).
- Real connections below the five-synapse cut are set to zero.
- Dorkenwald reports 44.7% postsynaptic attachment.
- Gap junctions, absent from FlyWire, and neuromodulator volume transmission produce effects without a chemical synapse.
- Which circuits "dominate" depends on the formulation (inferred; a mathematical argument, not tested on the connectome).
- Ranking by |λ| treats the scaled connectome as a one-step transition matrix.
- In a leaky continuous-time model (dr/dt = −r/τ + gWr) the eigenvectors are unchanged, but persistence is ordered by Re(λ). Eigencircuits 1 and 45 (λ ≈ −1 and −0.32) would then be among the most strongly damped modes.
- The authors' own leaky map for the Fig. 4 stimulation panels already shows this. It sends eigencircuit 1's λ = −1 to −0.206 per 10-ms step, while a λ = +1 mode would stay at 1 (added after the code audit; arithmetic from code constants).
- The sign rule is a strong assumption. In code a neuron is negative unless its predicted probability of acetylcholine plus dopamine is at least 0.5. So all 72 octopaminergic and 988 of 1,021 serotonergic neurons become inhibitory point effects (refined after the code audit). This differs from Shiu et al.'s rule for the same FlyWire reconstruction, which Shiu used at version 630.
- Eigencircuit identities are not stable labels.
- The indices changed between revision and print without explanation.
- Some top eigenvectors are lost at SNR 1.
- Bilateral near-copies (rows 1–2 of Fig. 3g) suggest near-degenerate eigenvalues, whose eigenvectors can mix (guess).
- "Rediscovery" rests on two anecdotes. There is no null test, such as a shuffled or rewired matrix, of how often eigencircuits look interpretable by chance.
- The effectome is population-level by design. It would be pooled across genetically identical flies, and individual differences are not addressed.
Relevance to our research (our inference)
-
Research question 1: structure versus function.
- The paper states exactly where synaptic connectivity and causal effect coincide: in the zero pattern only, under a chemical-synapse model.
- Magnitudes depend on state (ED Fig. 3: r² = 0.87 against 0.43).
- This supports treating structural fidelity, effective connectivity and response prediction as separately validated properties. The support is formal and simulated only.
- Unlike Shiu et al., nothing is tested in flies.
- Unlike Lappalainen et al., the anatomical constraint is soft: data can override it.
-
A replica that carries on: drift (carry-on Q2).
- ED Fig. 5 maps onto the own-slot, other-slot and empty-slot controls only at the extremes (corrected after the code audit).
- In code its correct prior is the exact truth, and its wrong prior is an unrelated random graph that also denies the self-weights.
- Another real person's slot, which shares much structure, is a partly correct prior, and ED Fig. 5 does not test it.
- Its pattern gives testable expectations for the slot:
- the own slot should help most when direct evidence about the person is scarce (ED Fig. 5's version is an exact prior, so this is an upper bound);
- a confidently wrong slot unrelated to the person should do worse than an empty one; for a related person's slot this is untested;
- with enough real evidence, the three should converge.
- So slot strength is a parameter to sweep.
- Caveat: IV–Bayes is consistent only because its data come from the true system. An open-loop replica updates on its own outputs, and there "data overwhelming the prior" is drift. The true-system analogue is closed-loop correction by the person's real history.
- ED Fig. 5 maps onto the own-slot, other-slot and empty-slot controls only at the extremes (corrected after the code audit).
-
Attributing change. Base-model drift behaves like the slow common input Z in Fig. 1c–d, which biases correlational estimates. Randomised interventions on slot content alone, such as randomly withholding or adding slot items, would act as instruments. They would identify slot-driven change even when drift is unobserved. This is a design idea to test, not a result of the paper.
-
State dependence: personal updating (carry-on Q1). The effectome is a Jacobian at an operating state, and estimates pooled over states are mixtures. A person's "way of changing" should likewise be estimated conditional on current state and compared state-matched.
-
For the validation design. The paper is a worked example of the rows that must be declared:
- biological unit: a one-fly prior but a cross-fly effectome;
- structural resolution: chemical synapses at five or more, plus a predicted sign;
- prediction target: one-step direct effects, not responses or behaviour;
- evaluation distribution: truth simulated with the prior's exact support (corrected after the code audit);
- fitting budget: fixed default hyperparameters, no search (corrected after the code audit).
Controls to add:
- a prior-strength sweep with correct, wrong and no-structure priors;
- wrong zero patterns (missing or extra edges), not only magnitude noise;
- shuffled or rewired nulls for any "interpretable circuit" claim;
- sample-efficiency curves rather than a single operating point.
Two further points:
- The eigencircuit simulations are exactly the design's "ablation inside a fitted model": conditional on hand-set scales and inputs, and untested in the organism.
- The dominance-ranking issue shows that the model class must be fixed before a structural analysis is read as dynamics.
-
Library status. A methods proposal with simulation-only validation.
- Cite it for the framework: IV with a soft structural prior, and the effectome as a state-dependent Jacobian.
- Cite it for its numbered simulation results.
- Do not cite it as evidence that connectome priors improve causal estimation in real brains, or that fly dynamics are in fact carried by small independent circuits.
Corrections after the conn2eff code audit (30 September 2026)
The released code was audited read-only at 9781b03 (code audit, section "What this changes").
- How the items were applied: in place on 30 September 2026, at the main session's request. Each change is marked in the text: "corrected", "added", "confirmed" or "refined after the code audit".
- Where the numbers come from: the audit and its check script (198 assertions passed), unless the text marks them as arithmetic.
| Item | Where (found by content) | Change |
|---|---|---|
| 1 | Header; "Gap"; "Not audited" | Code audit noted. The loadings are absent from the repository at any revision, so the gap cannot be filled from GitHub |
| 2 | Critical assumptions; stated limitations | The delay is one step in the linear simulations but 10 ms in ED Fig. 3 |
| 3 | The connectome prior | Implemented as the Results form, per weight. "Optimal values beforehand" corrected to fixed defaults with no search: constant 10⁻¹⁶ in Fig. 2, 1 in the Fig. 2d illustration |
| 4 | The connectome matrix; identifiability | Sign rule in code: P(ACh) + P(DA) ≥ 0.5 per neuron, with its exceptions and its change since submission. Threshold confirmed (Codex pairs with at least five synapses). Node set corrected to 134,181 neurons and 2,700,513 connections. One-neuron-per-fly count about 134,000 |
| 5 | Eigen-analysis; circuit simulations; checks | Rank counts conjugates. Eigencircuits hold slightly under 75%. Δ = 0.1 ms. "0.5" is half a 10-ms step (e-folding 10.8 ms), used in 4f and 4k only. Principal logarithm, complex state, real part plotted. HSE unstimulated in 4f. T = 10 ms confirmed |
| 6 | Fig. 2 simulation | The paper's SNR of 10 attributed to the text. The source is a Dm12 neuron with 30 inhibitory partners. SNR is 100 in power. The truth has spectral radius exactly 1 |
| 7 | Fig. 2 result; basis table; limitations | The gain is explained by exact support knowledge (134,181/30, 3.65 orders). "Oracle hyperparameters" corrected |
| 8 | ED Fig. 4 | Ten runs in code. τ = 1, Euler step 0.1, no noise. The prior mean is the true conductance matrix; R² is the squared correlation |
| 9 | ED Fig. 5; basis table; limitations | The correct prior is the exact truth; the wrong prior is an unrelated draw without the self-weights. SNR 1. Partly correct priors untested |
| 10 | ED Fig. 6 | The error bars are standard errors, not s.d. |
| 11 | Sparsity (Fig. 3f) | The x-axis is the unique-eigenvector index and the counts are one low. 3,500 is 2.6% of 134,181 |
| 12 | Localisation | The locality index counts connection–neuropil rows |
| 13 | Robustness (ED Fig. 9b) | Spearman test; the P value is computed but not reported |
| 14 | Shuffle control | What the shuffle keeps and breaks. The attribution to the connectivity pattern corrected |
| 15 | Internal inconsistencies | Items 2, 3, 5, 6, 7, 8 and 11 settled; item 4 explained; item 1 not checkable; item 10 annotated. New item 12 lists code-versus-paper differences |
| 16 | Checks that pass | Fractions recomputed for 134,181 neurons |
| 17 | Dominance limitation | The authors' own leaky map damps eigencircuit 1: −0.206 per 10 ms |
| 18 | Sign-rule limitation | Class statement replaced by the probability rule and its counts. Shiu's version (v630) named |
| 19 | Replica analogy | ED Fig. 5 maps only onto the extremes. The own-slot expectation is an upper bound; a related person's slot is untested |
| 20 | Validation-design rows | Evaluation distribution and fitting budget corrected |
Not applied: none. Two further lines were changed for consistency and are covered above: the one-neuron-per-fly count (item 4) and the Fig. 4c/4i trace check (item 5).