Recognise the phases of a growth curve and fit the specific growth rate and doubling time from OD data.
Why it matters
Bacteria and yeast are the workhorses of many bioprocesses: they make insulin, enzymes, plasmid DNA and many other products. Knowing how fast a culture grows tells you when to induce product expression, when to feed, when to harvest and whether something is wrong (a slow culture can mean a bad medium lot, wrong temperature or contamination). Growth rates also let you compare strains and media objectively instead of saying "it looked a bit slower".
The phases of a batch growth curve
Inoculate microbes into fresh medium in a closed flask or bioreactor and measure them over time, and you see four phases:
- Lag phase: cells adjust to the new medium; little increase in number.
- Exponential (log) phase: cells divide at a constant rate; the population doubles every fixed interval.
- Stationary phase: a nutrient runs out or waste builds up; growth and death balance.
- Death (decline) phase: viable cells decrease.
Growth is usually followed by optical density at 600 nm (OD600), which measures light scattered by the cells. OD is only proportional to cell concentration over a limited range (often up to about 0.4 to 1.0 depending on the instrument), so dense samples are diluted before reading and the reading multiplied back. Viable counts (colony-forming units per mL) and dry weight are other measures.
The maths of exponential growth
In the exponential phase:
X(t) = X0 x e^(mu x t)
ln X(t) = ln X0 + mu x t
- X is biomass or OD, t is time, and mu is the specific growth rate (per hour).
- Taking the natural log turns the curve into a straight line, and its slope is mu. That is why growth curves are plotted on a log scale.
- Doubling time td = ln(2) / mu.
Worked example. OD600 is 0.050 at 2.0 h and 0.302 at 4.0 h, both in the exponential phase.
mu = (ln 0.302 - ln 0.050) / (4.0 - 2.0) = (-1.197 - (-2.996)) / 2.0 = 0.90 per hour
td = 0.693 / 0.90 = 0.77 h, about 46 minutes
Using only two points is sensitive to noise. Better practice is to fit a straight line (linear regression) through ln(OD) for all points in the exponential phase, which is what the activity does.
Choosing the exponential phase
Plot ln(OD) against time. The exponential phase is the straight section. Leave out:
- the lag at the start, where the line is flat;
- the slowing near stationary phase, where the line bends over;
- any readings outside the instrument's linear range.
Including lag or stationary points underestimates mu. Fitting tools in Python (for example scipy.optimize.curve_fit with a logistic or Gompertz model) can fit the whole curve, but a log-linear fit of the exponential window is the standard first step and is easy to check by eye.
Where it is used in bioprocessing
- Induction timing: many recombinant E. coli processes add the inducer at a set OD in mid-exponential phase.
- Fed-batch feeding: feed rates are set to hold a target growth rate and avoid oxygen limitation or overflow metabolism.
- Process monitoring: online sensors (OD probes, off-gas CO2 and O2) track growth in real time in bioreactors.
- Comparing conditions: media, temperature and strain changes are judged by mu and final biomass.
Mammalian cells grow much more slowly than bacteria (doubling times of roughly a day), but the same log-linear maths applies to viable cell density.
Safety and training
Growing microbes is done only in a teaching or employer lab with appropriate containment, sterilisation and waste procedures, under supervision. The activity here uses data only.
Common mistakes
- Fitting a straight line to raw OD instead of ln(OD).
- Including lag or stationary points in the fit.
- Reading OD above the linear range without diluting.
- Mixing log10 and natural log: if you use log10, mu = slope x ln(10).
- Reporting a doubling time in hours as minutes, or the reverse.
Quick recap
- Batch growth: lag, exponential, stationary, death.
- In exponential phase ln(OD) is linear in time; the slope is mu.
- Doubling time td = ln 2 / mu.
- Fit only the straight section, within the instrument's linear range.
Try it
Open the Do tab. A Python script fits the growth rate; you add the log transform that makes it work.