Odour T-maze with a delay

Can the circuit link an odour to a turn, and can it still do so when the odour is gone before the decision?

Trained readout on fixed wiringFruit fly multisensory circuit (FlyWire)Train it yourself →Benchmark scores →
Loading 3D view…
Fly ·
livein your browser

What we measured

Real wiring, held out
0.03 (1 perfect, 0 chance)
Rewired, same degrees, held out
0.04 (1 perfect, 0 chance)
Random wiring, held out
0.03 (1 perfect, 0 chance)
Circuit silenced, held out
0.00 (1 perfect, 0 chance)
Measured with
scripts/gym-benchmark.ts: 12 generations of 16, same seed and budget for every circuit
Train it yourself
/train/gym-tmaze

What happens

Each trial starts with one of two odours: A (ORN DM1, fruity esters) or B (ORN DA2, geosmin). After a delay the fly reaches the junction, and the LC16 neurons signal that it is time to choose. Odour A means left, odour B right.

Training uses no delay and a 100 ms delay. The held out test uses 50 and 300 ms. The model has leaky neurons, no learning and no built in persistent activity, so a long delay is expected to erase the cue.

The benchmark found a more basic limit first: in this circuit the two odours barely reach the 21 output neurons (olfactory receptor neurons are at least three synapses away from them, and few strong paths survive the cut), so no readout can tell A from B, even with no delay. Every circuit stays at chance. A larger circuit with the lateral horn and mushroom body output neurons is the next step.

What you see is the readout the benchmark trained on the real circuit, playing the held out setting. Switch the circuit to a rewired one to watch the same readout on wiring it was not trained for, or train your own in the training lab.

Inspired by: Odour choice assays in T-mazes (Tully and Quinn 1985).

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
  • Odour A → ORN DM1
  • Odour B → ORN DA2
  • Junction reached → LC16 (go signal)
Neurons → movement
  • Trained readout of 21 output neurons → turn right (+) or left (−)

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.