Sanger (dideoxy chain-termination) sequencing copies a single-stranded template with DNA polymerase in a mix that contains normal dNTPs plus a small fraction of fluorescently-labeled dideoxynucleotides (ddNTPs). A ddNTP lacks the 3'-OH needed to add the next base, so any strand that incorporates one stops growing right there. Across billions of template copies this produces one truncated fragment ending at every position 1…N, each dye-labeled by whichever base terminated it:
P(terminate at base i) ∝ [ddNTP] / ([dNTP] + [ddNTP])
fragment i = primer + synthesized bases 1..i, length = i, color = dye(base_i)
The fragment mixture is then loaded into a thin capillary filled with a sieving polymer and pulled through it by an electric field. DNA is uniformly negatively charged, so in free solution every fragment would move at the same speed — separation only happens because the polymer mesh drags longer fragments more (the reptation model). The simulator uses the standard size-separation approximation:
electrophoretic mobility μ(N) ∝ 1/N
migration velocity v(N) = k · E / N
migration time to detector t(N) = L / v(N) → grows roughly ∝ N
Small fragments outrun large ones, so a laser at the far end of the capillary sees fragments arrive shortest-first and reads off each one's dye color as it crosses the beam. Reading the colors in arrival order reconstructs the synthesized strand base-by-base, 5'→3'. Thermal diffusion adds a small random jitter to every fragment's position (band broadening), which is why very long, closely-sized fragments near the end of a real Sanger read start to overlap and become harder to call — the peak spacing Δt readout tracks this shrinking gap live.
- Template length — how many bases (and therefore fragments) are in this run.
- Electric field strength — raises migration speed but also raises diffusive broadening (Joule heating), the real speed/resolution trade-off operators tune in a real capillary sequencer.
- New Template + Run — draws a fresh random template and restarts the electrophoresis run.