Taste and feed

Does the real FlyWire wiring from taste neurons to the proboscis motor neuron MN9 produce feeding on its own?

No training: the wiring aloneFruit fly multisensory circuit (FlyWire)Benchmark scores →
Loading 3D view…
Fly ·
livein your browser

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.

Senses → neurons
  • Sugar drop → sugar receptor neurons LB3, LB2d
  • Bitter drop → bitter receptor neurons LB1a to LB1e
Neurons → movement
  • 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.