Cell Cycle Analysis by Flow Cytometry: Fitting the Dean-Jett-Fox Model and Reading the CV
You stained a plate of treated and untreated cells with propidium iodide, ran them, and the software handed back a clean-looking G0/G1, S, and G2/M breakdown. The percentages went straight into the figure. Three weeks later a reviewer asked for the coefficient of variation on the G0/G1 peak, and you realized you never checked whether the fit was any good. A DNA histogram almost always returns phase percentages—whether or not the underlying fit is trustworthy.
Cell cycle analysis by flow cytometry is a model-fitting problem, not a gating problem. This walks through setting up a DNA histogram for the Dean-Jett-Fox model, reading the two numbers that tell you whether the fit holds—goodness-of-fit and the G0/G1 CV—and the singlet-gating step that quietly decides everything downstream.
What you need before you fit anything
Cell cycle analysis assumes one thing your sample probably violates by default: that every event is a single cell. Two G0/G1 cells stuck together carry twice the DNA of one, so they land exactly where a real G2/M cell lands. Doublets inflate your G2/M fraction and corrupt the fit.
Gate singlets first. The standard approach is a DNA-area versus DNA-width (or DNA-height) plot, where singlets form the tight diagonal and doublets fall off it—the same logic used for scatter, covered in FSC-A versus FSC-H doublet discrimination. For DNA content, pair the area and width of the PI (or DAPI) signal itself, not forward scatter. You also want a live-cell gate; dead and apoptotic cells fragment DNA and pile up below G0/G1. The dye chemistry behind that gate is compared in live/dead discrimination with DAPI, PI, and fixable dyes.
Step 1 — Pick the model for your S-phase shape
The Dean-Jett-Fox (DJF) model fits the G0/G1 and G2/M peaks as Gaussians and the S phase as a broadened polynomial bridging them. It is the long-standing reference method for univariate DNA histograms (Dean and Jett, 1974; Fox modification, 1980).
DJF handles most asynchronous cultures well. If your population is synchronized or has an unusual S-phase distribution—for example after a drug that arrests cells mid-S—a Watson pragmatic fit with its broader S-phase term sometimes tracks the data better. Switching models mid-experiment changes the numbers, so pick one and stay with it across all samples in a comparison.
The CV of the G0/G1 peak is the standard deviation of that Gaussian divided by its mean channel, as a percentage. It is the single best indicator of histogram quality, because a tight G0/G1 peak is what lets the model resolve S phase from the tails of the two peaks.
Step 2 — Read the goodness-of-fit, not just the percentages
Every fit returns a reduced chi-squared (chi-squared per degree of freedom) that measures how far the model curve sits from the actual histogram. A common working scale: under 3 is a good fit, 3 to 6 is acceptable, and 6 or above means the model is fighting the data. Cytomaton color-codes this value green, amber, and red so it sits at equal prominence to the phase percentages rather than buried in a panel.
A red goodness-of-fit usually means one of three things: doublets you did not gate out, an aneuploid or mixed population the single-cell model can’t represent, or a debris floor the model is trying to absorb into S phase. Don’t report percentages from a red fit—fix the input first.
Step 3 — Check the G0/G1 CV against your dye and prep
For PI on fresh, well-prepared nuclei, a G0/G1 CV under 3% is good, 3 to 6% is workable, and above 6% signals a problem that will smear S phase. Aldehyde fixation broadens peaks and pushes CV up, so ethanol-fixed or fresh-stained samples generally give tighter peaks than formaldehyde-fixed ones.
If your CV runs high, the usual culprits are RNase omitted (PI binds RNA as well as DNA), too fast a flow rate, loose singlet gating, or inconsistent PI concentration across tubes. A high CV is not something to hedge around in the methods section—it directly limits how finely the model can split S phase from G0/G1 and G2/M.
Step 4 — Sanity-check the peak positions
The G2/M peak should sit at roughly twice the channel of the G0/G1 peak, because G2/M cells carry double the DNA. In practice the ratio runs slightly under 2.0 from peak-broadening, but a G2/M peak at 1.5× or 2.5× the G0/G1 position means the scale or the fit is off. This is a fast visual check before you trust any percentages.
Once the fit holds, export the phase percentages with the model name and CV attached, so the analysis is reproducible by whoever reads the figure—the same discipline covered in exporting flow cytometry statistics for publication.
What this doesn’t cover
Univariate DNA modeling tells you the distribution across phases at one moment. It does not distinguish actively-cycling S-phase cells from cells that have stalled in S, and it cannot separate G0 from G1. For those questions you need a dual-parameter approach—BrdU or EdU incorporation against DNA content—which measures DNA synthesis directly rather than inferring it from a histogram shape. Sub-G1 (hypodiploid) events can flag apoptosis, but on a cycling population they overlap with debris and should be interpreted cautiously.
If you want to fit DNA histograms in the browser with the goodness-of-fit and CV surfaced next to the phase percentages, that is exactly what Cytomaton’s cell cycle analysis does on your real event data. For background on the standards behind these methods, the International Society for Advancement of Cytometry (ISAC) maintains the field’s data and reporting standards, and a practical review of histogram modeling is available through PMC.
Try Cytomaton
AI-assisted flow cytometry analysis that learns your gating style. Free during beta.
Join the beta