Fly escapes a looming shadow
Does the measured looming detector to Giant Fiber wiring produce a fast, reliable escape, and do rewired circuits?
What we measured
- Real wiring
- 30 of 30 escapes, Giant Fiber silent at rest, mean reaction 330 ms
- Rewired, same degrees
- 27 of 27 escapes, but about twice as slow (520 to 1,040 ms)
- Random wiring, shuffled transmitters
- Giant Fiber fires all the time, even with nothing approaching: no real reflex
- Measured with
- npm run check:experiments, 3 seeds, 40 s each
What happens
Flies escape an approaching object in a fraction of a second. Looming detector neurons (LC4 and LPLC2) respond to an expanding dark shape and drive the Giant Fiber (DNp01 in FlyWire), a descending neuron that triggers the jump.
The circuit here is cut from the FlyWire connectome (v783): all LC4 and LPLC2 neurons, five looming related descending neuron types, and every neuron on strong two step paths between them, with all synapses among them. Nothing is tuned: weights are synapse counts, signs come from predicted transmitters, the neuron model is the published one of Shiu et al. (2024).
The angular size and expansion speed of the object drive LC4 and LPLC2 on the side it comes from. When the Giant Fiber passes 60 Hz the fly takes off; the reaction time is measured from the moment the object appears.
Inspired by: von Reyn et al. (2014), Nature Neuroscience, and Ache et al. (2019), Current Biology, on LC4, LPLC2 and the Giant Fiber.
How the brain is wired to the world
The mapping is part of the experiment design. Everything between senses and motor output is the connectome.
- Looming object → LC4 and LPLC2 on the side it comes from
- Giant Fiber (DNp01) above 60 Hz → take off
Dataset: Subcircuit of FlyWire v783: inputs LC4, LPLC2; outputs DNp01, DNp02, DNp04, DNp06, DNp11; paths with at least 20 synapses per step. About this dataset
Run it locally
Every experiment can also use the local runner, which simulates the brain on your own computer. It is required for connectomes too large for a browser.
git clone https://github.com/berkeyc/connectome-lab.git cd connectome-lab pip install -r local/requirements.txt python local/runner.py # listens on ws://localhost:8765
Then choose “Local runner” in the player controls and press Restart. Your browser may ask for permission to connect to a local device.