Molecules in motion
Nothing in a cell is pushed into place, yet everything gets where it needs to go. You will see why molecules jiggle, discover the square-root law of random walks, work out how long diffusion takes across syn3A, a human cell and a meter of nerve, see how crowded a cell is inside, turn collisions into reaction rates, and build your first simulator, running the same reaction molecule by molecule and with an equation.
Watch first: what you'll learn1 minute · narrated · captions
Read the transcript
Welcome to lesson four: molecules in motion. Nothing in a cell is pushed into place, yet everything gets where it needs to go.
Water molecules knock every protein about, scrambling its direction nearly a trillion times a second. The result is a random dance: Brownian motion.
In 1905, Albert Einstein showed how to measure that dance, and Jean Perrin's experiments with it settled that atoms are real.
A random walk goes nowhere on average, yet it spreads out. After a hundred steps, a walker is typically just ten steps away.
Because of that square root, twice the distance takes four times as long: diffusion is quick across a cell, hopeless across a body.
A protein crosses syn3A in a few hundredths of a second. Down a meter-long nerve it would take centuries, so our cells use motors.
A cell is also crowded. syn3A's inside is packed with about five hundred ribosomes and over seventy-seven thousand proteins, jostling for room.
Molecules react when they meet. Double one of the partners and the reactions double; double both and they happen four times as often.
You'll simulate a reaction two ways: by moving every molecule, and with an equation, and see when the two agree and when they don't.
Along the way you'll play with random walkers, crowded cells and colliding molecules, and build your first simulator. Let's begin.
By the end of this lesson you will be able to:
- Explain Brownian motion as kicks from water molecules, and why a protein's speed matters less than how often its direction is scrambled
- Use the mean, the mean square and the square root to describe a random walk, and show why its typical distance grows as the square root of the number of steps
- Define the diffusion coefficient D, use mean square displacement = 2dDt, and estimate D from a molecule's size with the Stokes–Einstein formula
- Work out diffusion times with t = x²/(6D), read log–log plots, and explain why big cells need motor proteins and bacteria don't
- Describe how crowded syn3A is inside and what crowding does to diffusion and to finding a partner
- Turn collisions into reaction rates with mass action, read a rate of change dA/dt, and solve a decay step by step with Euler's method
- Convert a rate constant in M⁻¹ s⁻¹ into "one pair of molecules in syn3A", explain the diffusion limit, and use Kd and the fraction bound
- Simulate A + B ⇌ C both as particles and as an equation, and explain when they agree, why few molecules are noisy, and what each costs
On this page
- Everything jiggles
- Random walks
- Diffusion
- How fast molecules move in a cell
- A crowded cell
- Reactions happen when molecules meet
- Second-order reactions and the diffusion limit
- Equilibrium and binding
- Two ways to simulate
- Code milestone: your first simulator
- Numbers to remember
- Sources and further reading
- Practice problems
Everything jiggles
Lesson 1 said that a protein drifts across an E. coli cell in about 10 milliseconds. But nothing in a bacterium pushes it. There are no pumps moving the cytoplasm around, no conveyor belts, no motors. The protein gets there anyway, by being knocked about at random. This lesson is about that random motion: how fast it is, why it is quick over short distances and hopelessly slow over long ones, and how it sets the speed of every reaction in the cell. At the end you will write your first simulator.
This is the first lesson of the “how a cell runs” part of the course, and the math steps up: averages and square roots, rates of change, and a first equation that describes change over time. Every piece starts from zero, with numbers worked out before any formula is used.
Heat is motion. Every molecule in a warm liquid is moving and constantly bumping into its neighbors. Lesson 2 measured the size of these thermal kicks with kT, Boltzmann’s constant times the temperature in kelvin. At body temperature, 37 °C or 310 K:
Per mole that is kJ/mol, the value Lesson 2 used. Biophysicists also write it as 4.3 pN·nm: a piconewton of force pushing over a nanometer. It is a tiny amount of energy, but molecules are tiny too, and for a protein it is plenty to keep it moving.
People saw this motion long before they could explain it. In the summer of 1827 the botanist Robert Brown looked through his microscope at pollen of the wildflower Clarkia pulchella soaked in water. The particles he watched jiggle were not the pollen grains themselves, which are too big to move much, but tiny grains of starch and fat, about 5–6 µm long, that had spilled out of them. He went on to find that any small enough particle moves the same way, living or not. The jiggling is now called Brownian motion.
In 1905 Albert Einstein explained it. The particle is hit from all sides by water molecules, and at any instant the hits don’t quite balance, so it gets shoved one way, then another. He predicted exactly how far such a particle should wander, and from that how to count the molecules hitting it. In 1908 and 1909 Jean Perrin measured the wandering of tiny particles under a microscope, used it to count Avogadro’s number, and so showed that atoms are real. He won the Nobel Prize in Physics in 1926.
Zoom in from Brown’s microscope to the water molecules. The first two stops run in real time, with the real amount of jiggle. The last two are slowed down about a trillion times.
The last stop shows something surprising. A protein the size of GFP (green fluorescent protein, 27 kDa) moves fast: at 37 °C its typical speed is about 17 m/s, faster than a sprinter. But water is so thick at its scale that it loses its direction in about 1.2 picoseconds (trillionths of a second). In that time it covers about 0.012 nm, about a hundredth of a nanometer, before it is heading somewhere new. Its direction is scrambled about a trillion times a second.
Random walks
Take away the physics and keep the randomness. A random walk is the simplest model of a molecule being knocked about. A walker stands on a line at position 0. Each step it flips a coin: heads, it steps +1; tails, −1. Where is it after many steps?
On average, nowhere: it is as likely to be left of the start as right of it, so its average position stays at 0. But it doesn’t stay put. Some walkers drift far to the left and some far to the right, and the longer they walk, the more they spread out. The question is how fast they spread.
The figure shows three views. One walker in 2D took 400 steps but ended only about 20 steps from home. Eight walkers on a line fan out inside a band that widens more and more slowly. And 2,000 walkers of 100 steps each pile up into a bell curve about 10 steps wide.
1 · One walker
2 · Spreading out
3 · Many walkers
Before you read the rule, find it yourself. In Brownian Bet, a glowing bead hops left or right at random, like a coin toss. You bet where it will finish: slide the gold bracket, lock your bet, then release the beads one at a time or ten at once. Catch enough to win, and the smaller your bet, the more stars you get. Later levels ask how wide to bet, drop a thousand beads at once, and take the walk onto a flat dish and into 3D.
Game · Brownian Bet
Bet on a random walker
Slide the bracket with ◀ ▶, then Release one bead or Run 10. The bracket is always 2 steps either side of its center.
Center +4 · bracket +2 to +6
Honest about the picture: the hops are a drawing convenience. A real molecule is kicked by water about a trillion times a second, so its path is a blur, but its averages follow the same √N law. Time here is slowed enormously.
Math toolkit: averages, spread and square roots
Start with three numbers: 3, −4 and 1. Think of them as where three walkers ended up. Three ways to summarize them:
- The mean (average): add them up and divide by how many there are. .
- The mean square: square each one first, then average. .
- The root mean square (RMS): the square root of the mean square. .
Squaring makes every number positive, so the mean square can’t cancel out the way the mean does. Taking the square root at the end puts it back in the original units, steps instead of steps squared. The RMS is a “typical size” of the numbers, ignoring their signs.
For a random walk the mean is useless: it is 0 for every number of steps, because left and right cancel. The mean square is the useful one. It grows as the walkers spread out, and its square root, the RMS, is the typical distance from the start.
Here is every possible walk of two steps. Each is equally likely, with a chance of 1 in 4:
| Step 1 | Step 2 | End | End squared |
|---|---|---|---|
| +1 | +1 | +2 | 4 |
| +1 | −1 | 0 | 0 |
| −1 | +1 | 0 | 0 |
| −1 | −1 | −2 | 4 |
The mean end is . The mean square is . Two steps, mean square 2.
Why 2? Call the position after some steps , and the next step , which is +1 or −1. The new position is , and its square is
Look at each piece, averaged over many walkers:
- is the old square.
- averages to zero: for any , the next step is as likely to be +1 as −1, so the plus and minus cases cancel.
- is always exactly 1, because .
So every step adds exactly 1 to the mean square. After steps:
A hundred random steps take you about steps from where you started. Not a hundred. Ten. Four times the steps gives times the distance, and a hundred times the steps only ten times the distance. The same is true in 2D and 3D, with steps of length 1 in random directions: the mean square after steps is .
For molecules, the mean square has a name: the mean square displacement, or MSD. “Displacement” is how far a molecule is from where it started, and MSD is the average of its square over many molecules (or over many stretches of one molecule’s path). For a walk of steps, each of length ,
So 10,000 hops of 1 nm give an MSD of 10,000 nm², and a typical distance of nm.
Now build it. Write a random walk in 1D, 2D or 3D, then let 2,000 walkers loose and check that their mean square comes out near .
Then write the mean square displacement itself, for plain numbers and for 2D or 3D positions.
Check yourselfHow many random steps does a walker need to get typically 30 steps from the start?
The typical distance is , so and steps.
Check yourselfWhat are the mean, the mean square and the RMS of the displacements 3 and −4?
Mean: . Mean square: . RMS: .
Check yourselfA walker takes 400 steps of 2 nm each. How far is it typically from the start?
steps, each 2 nm, so about 40 nm. (MSD nm², and .)
Diffusion
A real molecule doesn’t take neat steps, but the same rule holds: its mean square displacement grows in proportion to time. Diffusion is the spreading of molecules by random motion, and the diffusion coefficient says how fast the mean square grows. Einstein’s result, for motion in dimensions, is
where is the time and is 1 for a line, 2 for a flat surface and 3 for space. So MSD is along a line, in a plane and in space. The 2 for each dimension comes from the definition of D: along any one direction the mean square grows by per second, and in space there are three directions, which add.
D is measured in square micrometers per second, µm²/s. That looks odd for a speed, but D is not a speed. It is how many square micrometers of mean square displacement a molecule gains each second. Worked example: GFP inside E. coli has µm²/s. In one second, in 3D,
So in a second it typically wanders about 6.8 µm, nearly seven E. coli widths.
To link this with steps: a walk with steps of length , one every seconds, has after steps. Setting that equal to gives . If you drew GFP in E. coli as 1-nm hops in 3D, it would make one hop every
That is only a drawing convenience. The real kicks come every picosecond or so, but the averages follow the same law. Level 6 of Brownian Bet asks you to find this number.
This is how Perrin did it. A bead 1 µm across in water at 25 °C has µm²/s. Through a microscope you see a flat, 2D picture, so in one second its typical distance is µm: easy to see. Track many beads, average their squared distances, divide by , and you have D.
What sets D? Einstein worked that out too, for a sphere moving through a fluid. The Stokes–Einstein formula is
Every symbol in words:
- is the size of the thermal kicks, from above. Warmer means bigger kicks and faster spreading.
- (the Greek letter eta) is the fluid’s viscosity, how thick it is. Water at 25 °C has mPa·s (millipascal-seconds; 1 mPa·s is kg per meter per second), and at 37 °C it is runnier, 0.691 mPa·s.
- is the sphere’s radius. Bigger means slower.
- comes from the drag on a sphere moving through a fluid, worked out by George Stokes.
Twice the radius gives half the D; three times the viscosity gives a third.
Worked example: GFP, treated as a sphere of radius 2.8 nm, in water at 25 °C, where J. Everything goes in SI units, meters and seconds:
A square meter is µm², so that is 87.6 µm²/s. The measured value for GFP in salt water is 87 µm²/s. A formula from 1905, using only the size of the protein, gets it right. At 37 °C the same sphere gives 117 µm²/s, because the kicks are bigger and the water runnier.
A ribosome-sized sphere, radius 10 nm, in water at 37 °C would have µm²/s. In living E. coli, ribosomes were measured at 0.04 µm²/s, about 800 times slower. Most of them are threaded on mRNAs, several to a strand, and drag the whole tangle with them. Inside a cell, a formula for a sphere in water is a starting point, not the answer.
Put Stokes–Einstein into code. The trap is the units: nanometers to meters on the way in, and square meters to square micrometers on the way out.
Math toolkit: why time grows with distance squared
Now turn MSD around. If a molecule needs to wander a distance , the typical time is when its mean square displacement reaches :
Two worked examples:
- Across syn3A, 0.4 µm, for a protein in syn3A’s computer model, which uses µm²/s: s, about 27 ms.
- Across E. coli, 1 µm, for GFP at 7.7 µm²/s: s, about 22 ms.
Lesson 1 rounded the E. coli crossing to “about 10 milliseconds”. That was an order-of-magnitude figure, from a rule of thumb that uses D of about 10 µm²/s. With GFP’s measured 7.7 µm²/s the careful answer is about 20 ms. Both say the same thing: a hundredth to a fiftieth of a second, very fast.
Because the distance is squared, the time grows much faster than the distance. For GFP in E. coli:
| Distance | Time | Compared with 1 µm |
|---|---|---|
| 1 µm | 22 ms | 1 × |
| 2 µm | 87 ms | 4 × |
| 10 µm | 2.2 s | 100 × |
| 1 mm | 6 hours | 1,000,000 × |
Twice as far takes four times as long. Ten times as far takes a hundred times as long.
Numbers like these, from microseconds to centuries, only fit on a chart with log axes, where each tick is ten times the one before (Lesson 1’s ruler). On log axes, a rule like becomes a straight line. Take the log of both sides:
Moving one tick to the right (10 times the distance) moves you two ticks up (100 times the time). So diffusion is a straight line with a slope of 2. A molecule with a bigger D draws a parallel line, lower down. Something that moves at a steady speed takes , a line with a slope of 1.
That steady-speed line is a motor protein. Kinesin walks along tracks called microtubules in 8-nm steps, burning one ATP per step, at about 0.8 µm/s. Diffusion beats the motor over short distances, and the motor wins over long ones. They take the same time where the lines cross:
For GFP in E. coli, µm. For a ribosome-sized complex at 0.04 µm²/s, it is only 0.3 µm. Small proteins diffuse happily across a whole human cell, but big cargo rides motors.
Write diffusion_time and its inverse, rms_distance, for 1, 2 or 3 dimensions.
Check yourselfA molecule takes 1 ms to diffuse 1 µm. How long does it take to diffuse 3 µm?
Three times the distance gives times the time: about 9 ms.
Check yourselfHow long does GFP, at 7.7 µm²/s, take to cross a yeast cell 4 µm wide?
s. Or from the E. coli answer: 4 times the distance, 16 times 22 ms.
Check yourselfWhere does diffusion at D = 1.0 µm²/s cross over with kinesin at 0.8 µm/s?
µm. Shorter than that, diffusion is faster; longer, the motor is.
How fast molecules move in a cell
Here are measured diffusion coefficients, from water to the inside of a bacterium:
| Molecule, where | D (µm²/s) |
|---|---|
| Water molecules in water, 25 °C | 2,299 |
| Glucose in water | about 600 |
| A fluorescent glucose in E. coli | 50 |
| GFP in salt water | 87 |
| GFP in the cytoplasm of mammalian cells | about 27 |
| GFP in E. coli | 7.7 |
| A larger protein (72 kDa) in E. coli | 2.5 |
| Larger proteins in cells, typically | about 1 |
| Ribosomes in E. coli | 0.04 |
| A tagged mRNA in E. coli | about 0.03 |
The same GFP is 11 times slower inside E. coli than in water (87 against 7.7). E. coli’s cytoplasm slows diffusion 10–30 times; the cytoplasm of our own cells, no more than about 4 times. The big things are slowest of all: ribosomes and mRNAs move about 200 times slower than GFP in the same cell. mRNAs in E. coli don’t even follow the plain rule: their MSD grows more slowly than in proportion to time.
Nobody has measured a diffusion coefficient inside syn3A. Its whole-cell computer model (Thornburg et al., 2022) has to choose values, and it chooses cautiously: every protein diffuses at 1.0 µm²/s, a typical value for larger proteins, about 8 times slower than GFP in E. coli. RNAs get a D from a Stokes–Einstein formula with a very thick effective viscosity, tuned so that a 4,000-letter mRNA moves at 0.03 µm²/s, the measured E. coli value. Ribosomes and DNA are held still. The model cell is a cube of 64 × 64 × 64 boxes, each 8 nm on a side, and it moves molecules between boxes in time steps of 30 µs.
A modeler picks a cautious, slow value on purpose: if the cell still works with slow proteins, the result doesn’t hang on a lucky guess.
With , here are typical times to cross some cells. (Along an axon, a thin tube, motion is effectively 1D, so the time is , three times longer.)
| Mover, D (µm²/s) | syn3A, 0.4 µm | E. coli, 1 µm | Human cell, 20 µm | Axon, 1 m |
|---|---|---|---|---|
| Glucose in water, 600 | 44 µs | 0.28 ms | 0.11 s | 26 years |
| GFP in mammalian cells, 27 | 1.0 ms | 6.2 ms | 2.5 s | 590 years |
| GFP in E. coli, 7.7 | 3.5 ms | 22 ms | 8.7 s | 2,100 years |
| syn3A model protein, 1.0 | 27 ms | 0.17 s | 67 s | 16,000 years |
| Ribosome in E. coli, 0.04 | 0.67 s | 4.2 s | 28 min | 400,000 years |
Inside a bacterium, every protein gets everywhere in a fraction of a second. That is one reason bacteria are small.
The explorer puts all of these on one log–log chart. Each colored line is a real molecule; the green lines are motors. Tap a molecule and a distance to read off the time.
Now the longest cells in your body. A motor neuron in your spinal cord sends an axon all the way to your toes, about a meter. Proteins are made near the cell body and needed at the far end. By diffusion along that meter, a GFP-sized protein would need
Your body can’t wait that long, so it uses motors that walk. One kinesin at 0.8 µm/s would take about 14 days. Nerve cells’ fast axonal transport, which carries packages of cargo along microtubules, averages 2.3–4.6 µm/s and makes the trip in 2.5–5 days, faster than one kinesin in a test tube. A meter of walking is million steps, and so 125 million ATP.
Bacteria such as E. coli and syn3A have no kinesin-like cargo motors and no microtubule tracks. They don’t need them: across a cell less than a micrometer wide, diffusion is fast enough. Big cells pay for motors and tracks because diffusion can’t do the job.
In Special Delivery, you’re a courier inside a cell. Choose how your parcel travels, by diffusing or by riding a kinesin along a microtubule, and set your guess on the slider before you send it. Under the map, a log clock races from microseconds toward a thousand years. Beat the deadline to deliver, and guess within three times of the real time for the third star. The cells get bigger level by level, from syn3A to a meter of nerve.
Game · Special Delivery
Get the parcel there in time
A map of syn3A. The parcel starts at the pickup point and must reach the flag 0.4 µm away.
Each step on the clock is 10 times longer than the one before. It shows the typical time from the formula: one molecule can be faster or slower. The map is a flat drawing of a 3D trip.
How this game works
The delivery time is a formula, not a race: t = x² ÷ (6D) for diffusing across a cell, t = x² ÷ (2D) along a thin axon (a molecule can only go back and forth), and t = x ÷ v for a motor. The wandering trail is a seeded random walk, stretched in time so that it arrives at exactly that typical time.
Simplified: the map is drawn in 2D; time is slowed down or sped up (up to about 10 billion times) to fit a few seconds; real motors pause and switch tracks; fast axonal transport in nerves (200–400 mm a day) is faster than one kinesin in a test tube; the yeast level reuses GFP's value from E. coli because this lesson has no yeast measurement. Kinesin is drawn much larger than life, and its steps are slowed down: the counter shows the real number.
Sources: syn3A's model protein D (Thornburg et al. 2022), GFP in E. coli (Elowitz et al. 1999), ribosomes in E. coli (Bakshi et al. 2012), GFP in mammalian cytoplasm (Swaminathan et al. 1997), kinesin speed (Schnitzer, Visscher & Block 2000), axonal transport (Roy et al. 2007).
A crowded cell
So far we’ve imagined a molecule wandering through water. The inside of a cell is not like that. E. coli’s cytoplasm holds about 300–400 grams of protein and RNA per liter, a thick soup. Measured by the space the big molecules actually fill, they take up about 16% of the volume. Measured by the space they keep other molecules out of, which is more than their own volume, it is 34–44%.
For syn3A, we have pictures. In cryo-electron tomography, cells are frozen so fast that the water turns to glass instead of ice, then imaged in an electron microscope from many angles, and a computer builds a 3D picture, like a CT scan. Elizabeth Villa’s lab imaged syn3A this way (Gilbert et al., 2021). A small cell, about 400 nm across, held 503 ribosomes; a larger one, 820. The ribosomes were spread nearly at random through the whole cell. Unlike E. coli, syn3A has no separate region for its DNA. And the ribosomes stood out less against their background than in E. coli pictures, a hint that syn3A’s inside is even denser.
syn3A’s model cell, built on that tomogram, holds the 503 ribosomes where they were seen, the DNA, and over 77,000 proteins, 200 mRNAs and 5,800 tRNAs. A little arithmetic shows how tight that is. The cell’s volume is nm³, so each protein has
to itself. The centers of neighboring proteins are about 7.6 nm apart. Proteins are about 5 nm across, so the gap between them is only about 2.6 nm, roughly ten water molecules. The ribosomes alone fill 6.2% of the cell. With the proteins and the DNA, big molecules fill roughly a fifth of syn3A: an estimate, since nobody has measured it.
Here is a slice through syn3A drawn to scale, from those counts. Positions are random, as the tomograms show for ribosomes, and every protein is drawn as a 5-nm ball.
1 · A slice through syn3A, to scale
2 · Zoom: 100 × 100 nm
3 · Who takes up the room
Why is a protein slower in a cell than in water? There are three causes, and a car in a city is a good picture of them:
- A thicker fluid: the car’s speed on the open road is lower.
- Binding: the protein sticks for a moment to other molecules, like a car waiting at stop lights.
- Obstacles: it has to go around big things, like detours.
Crowding alone doesn’t set the slowdown. When E. coli cells slowly adapted to salty water, the space filled by their big molecules rose from 16% to 36% of the cell, yet GFP slowed only 2.4 times. When water was pulled out of cells suddenly, a similar rise slowed GFP 70 times (Konopka et al., 2009). What the molecules are doing matters, not just how much room they fill.
Crowding also changes the question that matters most: how long until a molecule finds its partner? For one molecule searching a volume for one target, where they react on touching at a distance , the average search time is
With µm²/s and nm, one protein finds one partner in about 69 ms in syn3A, about 2.1 s in E. coli, and about 1.7 hours in a human cell. In syn3A, one copy of a protein is already enough to find its partner many times a second. A big cell needs many copies.
Real searches can be stranger. The lac repressor, LacI, is an E. coli protein that switches genes off by sitting on one short stretch of DNA. In a test tube it finds that spot about 100 times faster than 3D diffusion allows, because it slides along the DNA. Inside living E. coli it is the opposite: one LacI takes 3–5 minutes, because it spends about 90% of its search stuck to the wrong DNA, sliding about 45 base pairs at a time and often sliding right past its target. DNA is a giant sticky decoy. syn3A has very few proteins like this; Lesson 6 comes back to them.
Crowd Surfer puts you inside a cube of syn3A, 100 nm on a side, packed as densely as the real cell. The glowing green protein is the size of GFP. Track it, and the game plots its mean square displacement against time; move your line onto the dots to measure D, first in water and then in the crowd. Then try a thicker fluid and some stickiness to slow it to what GFP really does in E. coli, race three molecules of different sizes to a target, and find how big a cell can be before one copy takes a second to find its partner.
3D game · Crowd Surfer
Surf through syn3A’s crowd
1 nm²/µs is the same as 1 µm²/s. Tap the chart to aim the line.
What’s real here, and what’s simplified
- Real: the counts per volume (syn3A’s whole-cell model and cryo-electron tomogram: Thornburg et al. 2022, Gilbert et al. 2021), the sizes, and the measured D values (GFP: 87 µm²/s in water, 7.7 in E. coli). Stokes–Einstein’s 117 µm²/s is for a 2.8-nm sphere in water at 37 °C.
- Positions are random. That is fair: tomograms show syn3A’s ribosomes spread nearly at random. The DNA is a random chain, not syn3A’s real fold, cut into strands of about 250 nm.
- Ribosomes and DNA are held still, as in syn3A’s model. Proteins near the hero move by the same rule as the hero (a step into another molecule is refused); proteins far from it wait until it comes near, which saves work and gives the same answer. Their gentle wobble is only for looks.
- Viscosity and stickiness settings are made up. D is measured over lags up to 1 µs; over longer times the crowd slows the hero a little more.
- Molecules are drawn as spheres and blobs; real proteins are not spheres. A window is cut through the crowd in front of the hero so you can see it.
- Time is slowed 100,000 times (1 s here = 10 µs in the cell); the derby runs faster still. The cube’s edges wrap around: leave one face and you come back in through the opposite one.
Reactions happen when molecules meet
Two molecules can only react if they meet. In a cell that means diffusing until they touch. Most meetings fail. The two may touch at the wrong angle: a protein’s binding site is a small patch of its surface, and the partner has to hit that patch. Or they may not have enough energy.
Many reactions have an energy barrier: the molecules must collide hard enough to get over a hump before they can react. Lesson 2’s Boltzmann factor, , gives the share of collisions with at least that energy . A typical barrier of 50 kJ/mol is about 19.4 kT at 37 °C, and only of collisions, about 4 in a billion, have that much energy. That share is very sensitive to temperature: warming from 25 to 35 °C multiplies the rate by about 1.9. That is the old chemists’ rule that reactions roughly double for every 10 °C.
Now count. Chemists write the concentration of A in square brackets, , in moles per liter (M). If A and B react when they meet, the number of meetings each second is proportional to the number of possible A–B pairs: double the A’s and there are twice as many pairs; double both and there are four times as many. So the rate of is
This is mass action. The constant is the rate constant: it bundles up how often pairs meet and how often a meeting works. A reaction with one ingredient, (like an mRNA falling apart), has .
The figure shows both kinds of rate law, and a reaction that runs both ways. The first panel is Lesson 3’s mRNAs decaying; we’ll come back to it in the next toolkit.
1 · First order: A → B
2 · Second order: A + B → C
3 · Both ways: A + B ⇌ C
In Collision Lab, blue A molecules and orange B molecules jiggle in a glass box. When an A bumps a B it usually bounces off; about one bump in twenty has enough energy, and then they lock together into C. Measure the starting rate, then change the number of molecules or the temperature to hit each target. The lab runs 48 boxes at once and averages them, because one box on its own is noisy. In the last two levels, C can split again.
3D game · Collision Lab
Make molecules meet
Goal: Reach 2 times the starting rate (1.7 to 2.3 times) by changing A or B.
Temperature: 310 K (37 °C, body temperature), fixed in this level.
Energies of collisions
Curve: how collision energies are spread at 310 K (the Boltzmann factor from Lesson 2). Gold: the collisions with enough energy to react. Bars: this box’s latest collisions.
How this model works, and what is simplified
- The molecules are drawn huge and their motion is slowed down enormously. Real molecules in water jiggle like this (Brownian motion); they don’t fly in straight lines like a gas.
- Each step, every molecule moves a small random distance. An A and a B that touch collide. A collision’s energy comes from the Boltzmann distribution, and it reacts if the energy clears the barrier, E = 3 kT at 37 °C, which happens for e−3 = 5% of collisions. That barrier is much lower than most real ones, so you can see reactions happen.
- Warmer molecules take their steps more often, so they diffuse faster (D grows with T) and collide more often. Warm water is also runnier, about 2% per °C; the game ignores that.
- Levels 1–3 use a “flow” box: each C leaves, and a fresh A and B appear at once at random places, so the amounts stay fixed. Levels 4–5 close the box, and each C splits back into A + B at a fixed rate.
- Only 40 or so molecules in a small box. One box gives about 20 reactions in 10 seconds, and chance moves that by about ±5. So every measurement averages 48 identical boxes (the one on screen plus 47 hidden ones).
Math toolkit: rates of change
How fast is a reaction going? Write for the amount of A. The rate of change of A is written
and read “d A by d t”: how much A changes per second, right now. It is a speedometer. A speedometer doesn’t say how far you’ve gone, only how fast you’re going at this moment. If A drops from 100 to 90 molecules over 2 seconds, it is changing at about molecules per second. The minus sign means A is going down.
The simplest reaction is one where each molecule has the same chance per second of disappearing, , whatever the others are doing. Then the more there are, the more disappear each second:
This is a differential equation: it says how A changes, not what A is. Its solution is exponential decay, the curve from Lesson 3:
where is the starting amount. It halves every half-life, , so . For syn3A’s mRNAs, with a 4-minute half-life, per minute.
1 · First order: A → B
Most equations in a cell can’t be solved with a neat formula. But a computer can follow them step by step. Euler’s method is the simplest simulator there is: look at how fast things are changing, take a small step in time, and look again.
(delta t) is the length of one time step.
Do it by hand. Start with , per second and s:
- At : rate , so new .
- At : rate , so new .
- Then 12.5, then 6.25.
| Time (s) | 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
| Euler, Δt = 1 s | 100 | 50 | 25 | 12.5 | 6.25 |
| Euler, Δt = 0.5 s | 100 | 56.3 | 31.6 | 17.8 | 10.0 |
| Exact, | 100 | 60.7 | 36.8 | 22.3 | 13.5 |
Euler comes out low, because it uses the rate at the start of each step, and the rate keeps getting smaller during the step. Halve the step and it gets closer.
Now Lesson 3’s 8 mRNAs, with per minute and 1-minute steps: after 4 minutes. The exact answer is 4.00, one half-life. The error is 0.26. With half-minute steps it is 0.13; with quarter-minute steps, 0.06. Halving the step halves the error.
What if the step is too big? With and s, the first step is . A negative number of molecules: nonsense. The step overshot zero because is bigger than 1. Lesson 6 shows better methods that avoid this.
Write one Euler step, then a loop that follows a decay to the end.
Check yourself40 molecules decay with k = 0.25 per second. What does one Euler step of 1 second give, and the next?
Rate per second, so . Then rate , so .
Check yourselfA complex falls apart with a half-life of 10 minutes. What is k?
per minute.
Check yourselfWhy does Euler's method undershoot a decay?
It uses the rate at the start of each step for the whole step. During a decay the rate keeps shrinking, so each step removes too much.
Second-order reactions and the diffusion limit
A reaction between two molecules, , is called second order, because the rate depends on two concentrations. Its rate constant has strange-looking units, M⁻¹ s⁻¹, “per molar per second”. Bookkeeping explains them. The rate is in M/s (molar per second), and it equals , which is . So must be in . A first-order , as in decay, is just per second.
Worked example: M⁻¹ s⁻¹, a typical value for two proteins, with µM M:
With equal starting amounts, half of them have paired up after s. In syn3A, 1 µM is only about 20 molecules (Lesson 1).
In a cell as small as syn3A, it helps to think about single molecules. One particular A and one particular B, in a volume liters, react at
where is Avogadro’s number. For syn3A, , so . With M⁻¹ s⁻¹, one pair reacts at 0.050 per second: on average once every 20 seconds. In E. coli, 30 times bigger, it is once every 10 minutes.
If one A swims among 100 B’s in syn3A, it has 100 chances: it reacts at per second, so it waits about 0.2 s. This is called a pseudo-first-order rate, because the crowd of B’s turns a two-molecule reaction into a one-molecule waiting time.
How big can be? If every meeting reacts, the rate is set by diffusion alone. In 1917 Marian Smoluchowski worked out this diffusion limit:
The ‘s add because both molecules move, the radii add because they react on touching, turns pairs into moles, and the 1,000 turns cubic meters into liters. For two GFP-sized proteins in E. coli ( µm²/s and nm each), it comes to about M⁻¹ s⁻¹.
Something lovely happens in water. Use Stokes–Einstein for both molecules, with the same radius : then and . Multiply them and the radius cancels:
Big molecules move slowly but are big targets; small ones are quick but easy to miss; the two effects cancel exactly. In water at 37 °C, every equal-sized pair has the same limit, about M⁻¹ s⁻¹.
Real protein pairs usually bind at about M⁻¹ s⁻¹, about a thousand times below the limit, because they have to touch in the right orientation. Measured values span from about 1 to M⁻¹ s⁻¹. Enzymes (Lesson 5) have a typical efficiency of about M⁻¹ s⁻¹. And one famous result looked “too fast”: in a test tube, LacI finds its DNA target at M⁻¹ s⁻¹, because it slides along the DNA instead of searching in 3D.
Write mass_action_rate and per_pair_rate, and see what and M⁻¹ s⁻¹ mean for one pair in syn3A.
Equilibrium and binding
Most binding can be undone. A and B stick together into a complex C, and C falls apart again:
The forward rate is , with in M⁻¹ s⁻¹. The reverse rate is , with per second, because each complex falls apart on its own. At first there is no C, so only the forward reaction runs. As C builds up, the reverse rate rises and the forward rate falls, until they are equal. Then the amounts stop changing: equilibrium. Molecules keep binding and letting go, but as many bind as let go each second.
At equilibrium, forward equals reverse:
, the dissociation constant, is a concentration. A small means tight binding. For a typical protein pair with M⁻¹ s⁻¹ and per second (made-up but typical values), M = 1 nM. Each complex lasts s on average, about 17 minutes. With per second instead, is 1 µM and a complex lasts a second.
Play with the two rates. The curve shows the share of the target that is bound for each level of free partner, and the little syn3A cell shows one target binding and letting go at random, sped up.
Math toolkit: fraction bound
How much of B is bound? Call the free partner’s concentration (for ligand, the molecule that binds), so . From the equilibrium, . The fraction of B that is bound is the bound B divided by all of B:
In the second step, cancels from top and bottom; in the third, multiply top and bottom by .
Check it. When , : half bound when the free partner equals . With 9 times , . With a ninth of , 10%. To go from 10% to 90% bound takes 81 times more partner.
Now the syn3A twist. How much is one molecule in syn3A? Its volume is L, so
In syn3A, a single molecule is already fifty nanomolar. (In E. coli one molecule is 1.7 nM; in a human cell, 0.55 pM.) So with one free copy of a partner, a target with nM is bound 98% of the time; 10 nM, 83%; 50 nM, 50%; 500 nM, only 9%. A of 1 µM is 20 free molecules in syn3A.
Check yourselfA target has Kd = 1 µM. In syn3A, how many free partner molecules does it need to be bound half the time? And 90% of the time?
Half: µM, about 20 molecules. 90%: µM, about 180 molecules.
Check yourselfkon = 10⁶ M⁻¹ s⁻¹ and koff = 0.05 per second. What is Kd, and how bound is the target with one free partner in syn3A?
M = 50 nM, which is one molecule in syn3A. So one free partner keeps it bound about half the time.
Check yourselfWhy do we need the free partner, not the total, in f = L / (L + Kd)?
Partner molecules that are already bound can’t bind again. Only the free ones set how often the target finds a partner.
Two ways to simulate
There are two ways to simulate a reaction like .
- Particles: follow every molecule. Move each one by a random step, and when an A and a B come close, let them react with some chance. This is an agent-based model.
- Equations: follow only the amounts. Write the rate as an ordinary differential equation, or ODE: , and step it forward, for example with Euler’s method.
The equation gives the average; the particles give you the luck.
Here is the same reaction both ways, in a box with syn3A’s volume. On the left, every dot is a molecule: blue A, orange B, and glowing pairs for C. On the right, the jagged lines are particle runs and the smooth curve is the equation. The rates are made up but typical ( M⁻¹ s⁻¹, per second, so µM) and chosen so a run takes seconds; every molecule diffuses at syn3A’s model value, 1.0 µm²/s. Work through the six challenges at the top.
Simulation · Particles vs Equations
One reaction, two simulators
A and B bind into a complex C, and C falls apart again: A + B ⇌ C. On the left every molecule wanders and binds when it meets a partner. On the right, the same reaction as an equation: one smooth curve.
Challenge 1: 100 A and 100 B molecules in a box with syn3A’s volume. Run it once and watch the jagged particle line next to the smooth line from the equations. What share of the A molecules ends up bound?
Time slowed 40 times: 0.5 s of cell time plays in 20 s (slower if the computer can’t keep up).
This box
322 nm on a side (1× syn3A’s volume). 100 A and 100 B: 4.96 µM each. Kd = koff ÷ kon = 10 ÷ 10⁷ = 1 µM, which is 20.2 molecules in this box.
The equations
dC/dt = c·(N − C)² − koff·C, with the per-pair rate c = kon ÷ (NA·V) = 0.496 per second. C settles at 64.1 (64% bound) in about 22 ms (relaxation time). One solve: ….
The spread
Exact chances: C = 64.2 ± 3.75, a noise of 5.8%. Run the particles to measure it.
The particles
D = 1.0 µm²/s for A, B and C, steps of 50 µs (about 10 nm per axis). An A and a B closer than 20 nm bind at λ = 516 per second, which gives kon = 10⁷ M⁻¹ s⁻¹; C splits at koff = 10 per second.
The cost
Run the particles to time them. Equations: … for 500 steps.
Measured on this device with performance.now() around the simulation code only, not the drawing. The equation time is the average of hundreds of solves, because one is too quick for the clock.
Simplified, and honest about it: a cube with wrapped edges stands in for the round cell (same volume); molecules pass through each other (no crowding) and are drawn about 3.5 times too big; kon = 10⁷ M⁻¹ s⁻¹ and koff = 10 s⁻¹ are made up but typical, chosen so a run takes seconds, not hours; D = 1.0 µm²/s is syn3A’s model value. The particle model is the same as the course engine’s particles.py. Its Kd comes out about 3% below the equations’ (a side effect of the finite time steps), so particle runs settle a little above the curve on average. Time is slowed about 40 times at Normal speed.
What the challenges show:
- With 100 A and 100 B in syn3A’s volume, the particle runs settle around 64% bound, right where the equation says.
- To see the noise on its own, keep the concentration fixed (4.96 µM) and change the box: 10 molecules in a tenth of syn3A, 1,000 in ten syn3As. The equation says 64% for all three. The particle runs wobble around it by about 18%, 5.8% and 1.9%: the spread is . A hundred times more molecules, ten times less noise.
- In one syn3A cell, 10, 100 or 1,000 molecules of each are 0.50, 4.96 and 49.6 µM, and the bound share is 27%, 64% and 87%. In a cell, the number of molecules is the concentration.
- The particles cost far more. A run of 1,000 molecules takes seconds of computing; the equation, a fraction of a millisecond, whatever the number.
syn3A’s real whole-cell models face the same trade-off. The 3D model of 2022, which moves every molecule through a lattice of 8-nm boxes on a graphics card (GPU), took 8–10 hours to simulate 20 minutes of the cell’s life, so it was run for only 8 cells. The well-stirred model, with no space, simulates a whole cell cycle in about 4 hours, and was run for 207 cells. In 2026 the same group simulated the whole cell cycle in 3D with growth and division, at 4–6 days on two GPUs per cell cycle.
Space can change the answer. In the 3D model, mRNAs have to diffuse to one of 120 degradosomes, the machines that shred them, and their average half-life came out 1.97 minutes, against 3.4 minutes in the well-stirred model. The 3D model also found about 63 of syn3A’s 187 RNA polymerases busy early in the cell cycle. (Lesson 3’s “about 29” came from an earlier, well-stirred model; different models, different numbers.) The virtual cell will use equations where counts are large and particles or random events where they are small. That is Lesson 7.
Now write the equation side yourself: simulate with Euler’s method. Update all three amounts from the same old values in each step.
And the milestone challenge: run the same reaction with the particle simulator that’s written for you and with your equation, for 10 and 100 molecules, and measure the noise and the cost.
Code milestone: your first simulator
Three new modules join the engine in this lesson:
virtualcell/diffusion.pyholdsrandom_walk,mean_square_displacement,stokes_einstein,diffusion_timeandrms_distance.virtualcell/kinetics.pyholdsmass_action_rate,per_pair_rate,euler_step,simulate_decay,simulate_bindingandrelative_spread.virtualcell/particles.pyis written for you: a small Brownian-particle simulator in a box where A and B react when they meet, plus the equilibrium formula.
constants.py has this lesson’s numbers: Boltzmann’s constant, water’s viscosity, syn3A’s volume, the measured diffusion coefficients and kinesin’s speed. Copy each function you wrote into its module, replacing the stub, then run the checks from the engine folder:
python -m pytest
When they pass, run the reaction both ways:
from virtualcell.constants import SYN3A_VOLUME_L
from virtualcell.kinetics import per_pair_rate, simulate_binding, relative_spread
from virtualcell.particles import simulate
pair = per_pair_rate(1e7, SYN3A_VOLUME_L) # about 0.50 per pair per second
ode = simulate_binding(100, 100, 0, pair, 10.0, 1e-4, 0.5)
run = simulate(100, 100, seed=0) # 100 A + 100 B in syn3A's volume
settled = [c for t, c in zip(run["t"], run["C"]) if t >= 0.15]
print(round(ode["C"][-1])) # 64: the equation
print(round(sum(settled) / len(settled))) # about 66 for this seed: the particles
print(round(relative_spread(settled), 3)) # about 0.04: the wobble
print(run["seconds"]) # a few seconds of computing
Lesson 6 reuses simulate_binding with better solvers.
Numbers to remember
| Quantity | Value |
|---|---|
| kT at 37 °C | 4.3 × 10⁻²¹ J = 4.3 pN·nm (2.58 kJ/mol) |
| A random walk of N steps | typical distance √N steps |
| Mean square displacement | MSD = 2dDt (d = 1, 2 or 3) |
| Time to wander a distance x | t ≈ x²/(6D) in 3D; x²/(2D) along a line |
| Stokes–Einstein | D = kT/(6πηr) |
| Water’s viscosity | 0.89 mPa·s at 25 °C; 0.69 mPa·s at 37 °C |
| D of small molecules in water | about 600 µm²/s (glucose) |
| D of GFP | 87 µm²/s in water, 7.7 in E. coli |
| D in syn3A’s model | 1 µm²/s for every protein; ribosomes held still |
| D of ribosomes and mRNA in E. coli | about 0.04 and 0.03 µm²/s |
| Crossing syn3A (0.4 µm) / E. coli (1 µm) | a few ms to 30 ms / about 20 ms for a protein |
| 1 m of axon | centuries by diffusion; days by fast axonal transport |
| Kinesin | 8-nm steps, 1 ATP each, about 0.8 µm/s |
| syn3A’s crowd | 503 ribosomes and over 77,000 proteins in 0.0335 µm³ |
| E. coli’s crowd | 300–400 g/L of protein and RNA |
| One molecule in syn3A | about 50 nM (E. coli about 1.7 nM) |
| First-order decay | dA/dt = −kA; t½ = ln 2 / k |
| Euler’s method | new = old + rate × Δt |
| Second-order rate | k[A][B], k in M⁻¹ s⁻¹ |
| Diffusion limit / typical protein pair | about 10⁹–10¹⁰ / about 10⁶ M⁻¹ s⁻¹ |
| Kd | koff/kon; half bound when the free partner equals Kd |
| Noise of N molecules | about 1/√N |
| Simulating syn3A in 3D | 8–10 GPU-hours per 20 minutes of cell time (2022) |
Next lesson: enzymes and metabolism. You will see how enzymes speed up reactions, how fast they can work, and how syn3A turns sugar into energy, then use linear programming to predict which genes it can’t live without.
Sources and further reading
- Brown R. A brief account of microscopical observations made in the months of June, July, and August, 1827, on the particles contained in the pollen of plants. Philosophical Magazine 4:161 (1828). See also Pearle P, et al. What Brown saw and you can too. American Journal of Physics 78:1278 (2010).
- Einstein A. Über die von der molekularkinetischen Theorie der Wärme geforderte Bewegung von in ruhenden Flüssigkeiten suspendierten Teilchen. Annalen der Physik 17:549–560 (1905).
- Perrin J. Mouvement brownien et réalité moléculaire. Annales de Chimie et de Physique 18:5 (1909).
- Swaminathan R, Hoang CP, Verkman AS. Photobleaching recovery and anisotropy decay of green fluorescent protein GFP-S65T in solution and cells. Biophysical Journal 72:1900 (1997).
- Elowitz MB, Surette MG, Wolf PE, Stock JB, Leibler S. Protein mobility in the cytoplasm of Escherichia coli. Journal of Bacteriology 181:197–203 (1999).
- Konopka MC, et al. Cytoplasmic protein mobility in osmotically stressed Escherichia coli. Journal of Bacteriology 191:231–237 (2009).
- Bakshi S, Siryaporn A, Goulian M, Weisshaar JC. Superresolution imaging of ribosomes and RNA polymerase in live Escherichia coli cells. Molecular Microbiology 85:21–38 (2012).
- Golding I, Cox EC. RNA dynamics in live Escherichia coli cells. PNAS 101:11310–11315 (2004).
- Zimmerman SB, Trach SO. Estimation of macromolecule concentrations and excluded volume effects for the cytoplasm of Escherichia coli. Journal of Molecular Biology 222:599–620 (1991).
- Verkman AS. Solute and macromolecule diffusion in cellular aqueous compartments. Trends in Biochemical Sciences 27:27–33 (2002).
- Gilbert BR, et al. Generating chromosome geometries in a minimal cell from cryo-electron tomograms and chromosome conformation capture maps. Frontiers in Molecular Biosciences 8:644133 (2021).
- Thornburg ZR, et al. Fundamental behaviors emerge from simulations of a living minimal cell. Cell 185:345–360 (2022).
- Thornburg ZR, et al. Bringing the genetically minimal cell to life on a computer in 4D. Cell (2026).
- Schnitzer MJ, Visscher K, Block SM. Force production by single kinesin motors. Nature Cell Biology 2:718–723 (2000).
- Roy S, et al. Rapid and intermittent cotransport of slow component-b proteins. Journal of Neuroscience 27:3131 (2007).
- Smoluchowski M. Versuch einer mathematischen Theorie der Koagulationskinetik kolloider Lösungen. Zeitschrift für Physikalische Chemie 92:129–168 (1917).
- Elf J, Li GW, Xie XS. Probing transcription factor dynamics at the single-molecule level in a living cell. Science 316:1191–1194 (2007).
- Hammar P, et al. The lac repressor displays facilitated diffusion in living cells. Science 336:1595–1598 (2012).
- Northrup SH, Erickson HP. Kinetics of protein–protein association explained by Brownian dynamics computer simulation. PNAS 89:3338–3342 (1992).
- Milo R, Phillips R. Cell Biology by the Numbers. Garland Science, 2015. Free online at book.bionumbers.org, especially “What are the time scales for diffusion in cells?”.