Taste and feed
Does the real FlyWire wiring from taste neurons to the proboscis motor neuron MN9 produce feeding on its own?
What we measured
- Real wiring
- 28 sugar, 0 bitter and 0 mixed drops drunk; proboscis out on water 0 times
- Rewired, same degrees
- 0 sugar, 0 bitter and 0 mixed drops drunk; proboscis out on water 0 times
- Random wiring
- 22 sugar, 11 bitter and 3 mixed drops drunk; proboscis out on water 0 times
- Measured with
- scripts/gym-benchmark.ts reflex: 40 s, 3 seeds each, totals
What happens
The fly walks over a plate with drops of sugar water, bitter water, plain water and sugar mixed with bitter. When its labellum touches a drop, the sugar receptor neurons (LB3, LB2d) or the bitter receptor neurons (LB1) fire.
If MN9 (CB0701 in FlyWire), the motor neuron that extends the proboscis, fires above 40 Hz, the proboscis comes out and the fly drinks. Nothing is trained; only the threshold for 'out' is chosen. The walking path is scripted.
This is the headline result of the whole brain model of Shiu et al. (2024): sugar neurons activate MN9 and bitter neurons suppress it. Here it runs in the 1,846 neuron gym circuit cut from the same connectome.
Inspired by: Shiu et al. (2024), A Drosophila computational brain model reveals sensorimotor processing, Nature.
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.
- Sugar drop → sugar receptor neurons LB3, LB2d
- Bitter drop → bitter receptor neurons LB1a to LB1e
- MN9 above 40 Hz → proboscis out, the fly drinks
Dataset: Subcircuit of FlyWire v783: inputs HSE, HSN, HSS, LPLC1, LC4, LPLC2, LC16, ORN_DM1, ORN_DA2, sugar/water, bitter; outputs DNa01, DNa02, DNa03, DNb05, DNa11, DNp01, MDN, DNp09, DNg13, DNp03, CB0701; paths with at least 40 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.