Fruit Fly
README.md
Fruit Fly
A whole fruit fly nervous system, alive in a world.
The complete adult male Drosophila central nervous system, MaleCNS v1.0, runs here as a spiking network on the graphics card: 164,587 neurons and 25,563,197 connections, the real wiring, stepping in real time. It is wearing a fly. What that fly tastes, sees and does all passes through the network, and you can reach into the network while it happens.
Your first minute
You arrive in the lab looking at the brain on its plinth. The fly is on the floor in front of you. A card in the top right walks you through the first experiment in four steps, and ticks each one as you do it. It takes about a minute and it ends with a proboscis coming out of a fly because a signal crossed a real connectome to get there.
What is on screen
The bench, on the left. The network's state along the top, three knobs under it, and then everything you do: a selection line where you name a set of neurons, and stimulate, silence, restore, watch and count. Under that are the readings: every group you are watching with its rate and a bar, a trace of the last 24 seconds, the hottest cell classes, who is driving what, the neuron you last clicked on, what the fly's body is doing, and a colour legend for the cloud.
The experiments panel, on the right, opened with the Experiments button or the P key. Five protocols from the guide, each one press. A protocol clears the drives, resets every membrane, records a baseline, applies its own stimulus and ablations, samples every readout, puts the parameters back and prints a verdict in the dataset's own terms. COMPARE lays the previous run's trace over this one.
The world. A 12 metre arena. Three food discs. The fly, which walks, turns, feeds, beats its wings and jumps, and which cannot leave the arena because it sees the wall the way it sees anything else coming at it.
Naming neurons
A selection is space-separated key:value terms. The chips above the
selection line fill in the common ones.
| term | selects |
|---|---|
type:MN9 | an exact cell type, or several separated by commas |
prefix:JO- | every type whose name starts so |
pattern:^LB%d | types matching a pattern |
class:Kenyon_Cell | a class |
super:descending_neuron | a superclass |
side:L | one side |
excitatory:true | only the excitatory neurons |
limit:100 | at most so many |
Press count to see how many neurons match before you do anything to them.
The five experiments
- Taste to the proboscis. Drive the fly's 50 tarsal taste pegs and its two proboscis motor neurons answer within a few hundred milliseconds, while the mushroom body stays quiet.
- Gain recovery. Sweep the gain: at 0.5 the signal reaches nothing, at 0.6 it reaches the proboscis and nowhere else, at 1.0 it runs away.
- Looming and escape. Walk at the fly. Its looming detectors fire, the giant fibre bursts and it jumps. Silence one detector class and walk at it again.
- Ablation. Silence the Kenyon cells, or the descending neurons, or one side of a turn neuron, and watch what the fly stops being able to do.
- Two brains, one arena. Put a second connectome in a second fly.
The experiments guide, inside the package, is the long version.
Controls
Every action is reachable with a mouse and keyboard, with a touchscreen, and with a controller.
| mouse and keyboard | controller | touch | |
|---|---|---|---|
| walk, look | WASD, mouse | left stick, right stick | left stick zone, right drag zone |
| jump | Space | A | Jump button |
| open the bench | L, or the Lab button | Start | Lab button |
| move through the bench | arrow keys or Tab | D-pad | tap the control |
| use the focused control | Enter | Y | tap it |
| nudge a slider | left and right arrows | D-pad left and right | drag it |
| identify a neuron | click the cloud | X | ID button |
| open the experiments | P | Select | Experiments button |
| next protocol | N | right stick press | tap it |
| previous protocol | B | tap it | |
| run, compare | R, C | right trigger, left trigger | tap them |
Sound
The fly's wingbeat follows its flight muscles, a wet tick marks a meal and a thump marks a jump. The brain crackles in proportion to how much of it is firing: a quiet network is a quiet room.
The science
Every cell type, class, superclass and side named anywhere in this world is what MaleCNS v1.0 calls it. Every constant in the network is from the published model. Nothing here is invented biology, and where a number is the world's own choice rather than the dataset's, it says so.
The dataset is CC-BY 4.0, Berg et al. 2026, Cell.
spec.md beside this file is the design of record, and the fruitFly package
carries its own README and the experiments guide.