An E. coli bacterium has no nervous system and cannot see where food is. It swims in straight runs, tumbles at random, and compares the nutrient signal it senses now with what it sensed over the last few seconds. When things are getting better, it tumbles less.
The green shading is the nutrient signal (attractant concentration). The simulation models chemical guidance only: the cells do not eat, grow, divide, or use up the nutrient.
Focal bacterium
Last 20 simulated seconds. Green shading: signal above reference. Red shading: below. Lower lane: tumble rate on a log scale; dashed line is the baseline.
Statistics
Each bacterium runs the same short program, and it runs it whatever the environment. Every 0.01 simulated seconds it does four things:
These words describe the computation, not an experience. “Improving” means only that s is greater than m.
The code that is running. The listings below are read from the live program, so they are exactly what the simulation executes.
This is a phenomenological teaching model, not a reconstruction of the molecular pathway. In a real cell, attractant binding to receptor clusters reduces the activity of the kinase CheA, which lowers phosphorylated CheY and so makes the flagellar motors less likely to switch into the clockwise rotation that causes a tumble. Slow methylation of the receptors by CheR and CheB plays the role of the adapting reference m.
Changes take effect immediately and keep the cells where they are, except population size and seed, which apply when you restart.