🔬 One-Step Growth Calculator

Calculate Phage Burst Size and Latent Period from OSG Experiment Data

by Stephen T. Abedon Ph.D. (abedon.1@osu.edu)

phage.org | phage-therapy.org | biologyaspoetry.org | abedon.phage.org | google scholar

Jump to:   📋 Enter Data  |  📂 Library  |  📊 Results & Plot  |  🧪 Experiment Designer  |  📖 Methodology  |  📚 Background & References  |  ⚠ Error Reference  |  🧮 More Calculators

What is a One-Step Growth experiment? Since 1939, One-Step Growth (OSG) experiments have been used to determine phage burst sizes and latent periods over a single round of phage lytic infection. Enter your time-point plaque count data to calculate burst size, latent period, and rise period, with interactive visualization. The Experiment Designer helps plan dilutions and timing for new OSG experiments.

To cite this tool: Abedon, S.T. (2026). One-Step Growth Calculator. onestep.phage.org.  ·  DOI: 10.5281/zenodo.19373414

onestep.phage.org  ·  Abedon’s Books  ·  DOI: 10.5281/zenodo.19373414

How can I improve this page?  contact: onestep@phage.org

Experiment Settings

Import from Spreadsheet

Upload an Excel (.xlsx) or CSV file with two columns: Time (first column) and Titer (second column), with a header row. The tool will auto-detect OSG phases using an iterative algorithm. You can then review and adjust individual phase assignments below. Unadsorbed-phage rows must be entered or added manually.
📂

Click to upload or drag & drop

Excel (.xlsx, .xls) or CSV — two columns: Time, Titer

📚 Load a Published Experiment

Load a curated one-step growth curve straight into the calculator — its data, phase labels, and review all come with it. Real published data appears here only for exemplary experiments; instructive problem cases are constructed examples, clearly labeled as not real data.

Loading library…

No data yet — enter time points in the Enter Data tab and click Calculate.

Dilution & MOI Experiment Designer

Enter your planned starting conditions to check whether your OSG experiment is likely to yield adequate plaque counts (targeting ~100 PFU/plate pre-lysis) and sufficient dilution to prevent multi-step growth. All volumes are in mL except plating volume (µL). Note that the adsorption volume must be large enough to allow removal of multiple sub-volumes for plating throughout the experiment.

Poisson MOI Checker

Because adsorption follows a Poisson distribution, some bacteria will be infected by more than one phage. Enter the actual MOI (phages per bacterium) to see what fraction of infected bacteria are multiply infected. Keep MOI ≤ 0.1 to minimize this.
✓ MOI ≤ 0.1 — only 4.9% of infected bacteria are multiply infected. Good.
Fraction uninfected bacteria
90.5%
e−MOI
Fraction infected ≥ 1 phage
9.5%
1 − e−MOI
Fraction singly infected
9.0%
of all bacteria
Multiply infected (of infected)
4.9%
target < 5%

What to Report in a One-Step Growth Experiment

A complete one-step growth report states the items below. When reviewing a published curve, any item left unstated becomes that paper's missing-information list (it is an absence, not a fault).
The two bacterial populations
Host strain, its growth phase, and density (CFU/mL) at the time of infection
Indicator (lawn) strain used for titering — and whether it is the same as the infected host
Growth medium and incubation temperature
Infection & adsorption
Input MOI (or the phage and cell concentrations from which it is computed)
Adsorption conditions: time, temperature, cations, agitation
How adsorption was stopped or measured, and the post-adsorption dilution factor applied
Sampling & titering
Sampling interval, total duration, and number of time points
Replication (n) and what the error bars represent (SD / SEM / range)
How free phage were distinguished from total phage (filtration / chloroform / centrifugation)
Definitions & analysis
How the latent (constant) period was defined
How burst size was computed, and against which baseline (infective centers vs. input phage)

Overview

The Phage One-Step Growth Calculator accepts titer time-point data entered by the user, assigns each point to its OSG phase (pre-lysis, rise, post-rise, or unadsorbed), and then computes the two canonical outputs of an OSG experiment — the minimum latent period (constant period) and the average burst size — along with a normalized, plotted OSG curve. Each step of the computation is described below.

Step 1 — Phase Assignment and Data Validation

Each time-point row entered by the user is assigned to one of four phases:

Rows flagged by the user as outliers (⚠) are excluded from all calculations but remain visible in the data table. This implements the recommendation of Adams (1959) to disregard anomalously high titer counts near the expected time of lysis, which likely result from a phage-infected bacterium lysing during the plating process itself.

Rows with missing or non-numeric time or titer values are silently skipped. All remaining active rows are sorted by time within each phase before any calculations are performed.

Step 2 — Pre-lysis and Post-rise Aggregate Values

For both the pre-lysis and post-rise phases, the calculator computes four aggregate statistics from the set of active (non-outlier) titer values in that phase. All four are reported in the results table to allow comparison:

  • Arithmetic mean — the standard average: Σ(xi) / n. Most commonly used, but sensitive to outliers.
  • Median — the middle value when data are sorted. Discussed in detail by Abedon and Katsaounis (2021) and recommended by Abedon (2025) as the most robust estimator for OSG titer data, because it is entirely unaffected by a single anomalously high or low value provided n ≥ 3. For even n, the median is the mean of the two central values.
  • 25% Trimmed mean — the arithmetic mean after removing the highest and lowest 25% of values (TRIMMEAN in Excel). This offers a balance between robustness and use of all central data, and is discussed by Abedon (2025) as a preferred alternative to the simple mean.
  • Geometric mean — exp(mean of ln(xi)). Applied to positive titer values only. Reduces the disproportionate influence of high outliers relative to the arithmetic mean, and is appropriate when titer data are expected to be log-normally distributed.

Standard deviation and coefficient of variation (CV = SD/mean × 100%) are also computed for the arithmetic mean, as a measure of within-phase consistency. High CV values in the pre-lysis phase may indicate ongoing adsorption, premature lysis during plating, or sampling error, and warrant investigation before accepting the burst size calculation. For detailed statistical guidance on plaque-based titer data, see Abedon and Katsaounis (2021).

The unadsorbed virion titer, if provided, is computed as the arithmetic mean of all unadsorbed-phase rows. Separate mean and median values are shown. This value represents free phages that were not adsorbed during the adsorption step and therefore should not be counted among phage-infected bacteria in the pre-lysis denominator.

Step 3 — Burst Size Calculation

Burst size is the ratio of the number of free phages present after lysis is complete (the post-rise titer) to the number of phage-infected bacteria present before lysis began (the pre-lysis titer). The fundamental formula is:

Burst size = (Tpost − Tfree) / (Tpre − Tfree) where: Tpost = post-rise aggregate titer (numerator) Tpre = pre-lysis aggregate titer (denominator) Tfree = unadsorbed free-phage titer (subtracted from both)

When Tfree = 0 (no unadsorbed-phase data entered), the formula simplifies to Tpost / Tpre. This is the standard calculation as described by Adams (1959), Ellis and Delbrück (1939), and Hyman and Abedon (2009).

The calculator applies this formula four times, once for each aggregate method (arithmetic mean, median, 25% trimmed mean, geometric mean), producing four independent burst size estimates. These are displayed side-by-side so the user can assess consistency. Large discrepancies between the mean-based and median-based estimates are a warning sign that one or more outlier time points may be distorting the mean.

Why subtract unadsorbed virions? If a fraction of added phages failed to adsorb during the adsorption step, those free virions will contribute plaques to pre-lysis plates, inflating the denominator and causing burst size to be underestimated. For example, if 10% of phages remained unadsorbed, the true burst size will be underestimated by approximately 10%. At the same time, those same unadsorbed virions also contribute to the post-rise numerator. Subtracting Tfree from both corrects for this bias. Even small levels of unadsorbed phages (e.g., 1–2%) have negligible effect on results, but levels of 10% or more are meaningful and should always be corrected for.

Note on incorrect burst size formulas: Burst size is the ratio of post-rise to pre-lysis titers, not the difference divided by the pre-lysis titer. The latter formulation — sometimes encountered in the literature — subtracts 1 from the true burst size, an error that becomes biologically meaningful for small burst sizes. For example, a true burst size of 5 would be reported as 4.

Step 4 — Minimum Latent Period (Constant Period) Estimation

The minimum latent period — also called the constant period — is defined as the time from the start of phage adsorption to the first lysis event across the infected bacterial population, observable as the first detected rise in titer above the pre-lysis baseline. The calculator estimates this in two stages:

  1. Rise detection threshold: The calculator scans rise-phase time points in chronological order for the first point whose titer exceeds 110% of the pre-lysis arithmetic mean (i.e., more than 10% above baseline). This threshold guards against flagging routine pre-lysis titer variation as the start of lysis.
  2. Bounding interval: The latent period is reported as a bounding interval — "between tlast-pre and tfirst-rise" — rather than a single point estimate. This correctly reflects that the true end of the constant period is known only to lie within that interval, and avoids false precision. Precision can only be improved by taking more time points around the expected start of lysis, as recommended by Adams (1959) and Abedon (2025).

If all rise-phase points fall within 110% of the pre-lysis mean — for instance if the rise was only partially captured and the data end before lysis is well established — the first rise-phase time point is used as a lower bound estimate and flagged as such. If no rise-phase data are entered at all, the latent period cannot be estimated and is reported as unavailable.

Important caveat on precision: The minimum latent period can only be stated with a precision equal to the interval between time points taken around the start of lysis. If time points are 5 minutes apart, the latent period can only be resolved to within a 5-minute window. Shorter intervals around the expected rise, as few as 1–2 minutes, substantially improve resolution. This calculator reports the bounding interval explicitly so that the user does not inadvertently claim greater precision than the data support.

Step 5 — Normalization and Plot Generation

The OSG curve is plotted as an interactive Chart.js scatter plot with connected line segments within each phase. Two display modes are available and can be toggled at any time:

  • Normalized y-axis (default): All titer values are divided by the pre-lysis arithmetic mean. This places the pre-lysis baseline at y = 1, so that the post-rise plateau reads directly as the burst size. A dashed reference line at y = 1 is drawn across the full time range. Normalization is recommended by Abedon (2025) because it makes burst sizes immediately readable by eye and allows biological replicates starting at different absolute titers to be overlaid on the same graph.
  • Absolute y-axis: Titers are plotted in the original units as entered. Useful when the user wishes to inspect raw plaque counts or compare absolute values across experiments.

The y-axis scale can be toggled between logarithmic (base-10, default) and linear. Log scale is strongly preferred for OSG data for two reasons: first, it makes pre-lysis variation visible — on a linear scale, small fluctuations around the low pre-lysis titer are compressed and invisible relative to the large post-rise plateau; second, the linear portion of the rise on a log scale can be used to draw a best-fit line whose intersection with the pre-lysis baseline provides an alternative, regression-based estimate of the minimum latent period (Adams, 1959).

Data points are color-coded by phase: blue = pre-lysis, orange = rise, green = post-rise, purple triangles = unadsorbed. Outlier-flagged points are excluded from the plot entirely, consistent with their exclusion from calculations.

Step 6 — Warnings and Quality Flags

The calculator automatically checks for a set of common OSG quality issues and displays warnings at the top of the results panel when they are detected:

  • Fewer than 3 or 5 pre-lysis time points — the denominator is imprecisely determined. At n < 3 the median loses its outlier-robustness properties entirely.
  • Fewer than 3 or 5 post-rise time points — the numerator is imprecisely determined, and it cannot be confirmed that the rise has truly ended and titers have stabilized.
  • No unadsorbed virion titer enteredburst size may be underestimated if adsorption was incomplete. Flagged as an informational notice rather than an error.
  • Post-rise titers still increasing — the slope of the post-rise time series is compared to the mean post-rise titer. If the net upward drift exceeds 15% of the mean per unit time, a warning is issued. This pattern is the primary diagnostic indicator of multi-step rather than one-step growth, almost always caused by insufficient dilution of the experimental culture following the adsorption step.
  • Burst size > 200 — warrants verification by independent means (e.g., single-burst experiment).
  • Burst size > 500 — flagged in red as a strong indicator of potential multi-step growth, possible lysis inhibition, or experimental error. Burst sizes above a few hundred are uncommon for most phage-host systems and should not be accepted without additional rigorous testing.
  • Fewer than 3 rise time points — insufficient data to characterize the lysis event or estimate latent period reliably.

These checks implement the core quality-control recommendations of Abedon (2025) and Adams (1959). They do not prevent the calculator from returning results — the user retains full discretion — but they ensure that potential problems are made explicit rather than hidden.

Experiment Designer Tab — Calculations

The Experiment Designer tab performs prospective calculations to help users plan their OSG protocol before conducting it. Given user-supplied starting parameters, it computes:

The Poisson MOI checker computes the expected distribution of phage adsorptions over bacteria using the Poisson probability mass function P(k) = e−λλk/k!, where λ is the MOI. It reports the fraction of bacteria that are uninfected (k = 0), singly infected (k = 1), and the fraction of infected bacteria that carry more than one phage (k ≥ 2 | k ≥ 1). At MOI = 0.1, only ~5% of infected bacteria are multiply infected; at MOI = 1, this rises to ~42%.

Limitations

This calculator performs computations on data as entered by the user. It does not validate the underlying experimental design, correct for errors in dilution or plating, or replace the need for careful laboratory practice. In particular:

For full guidance on avoiding these and other common pitfalls, see Abedon (2025) and Hyman and Abedon (2009).

References

One-Step Growth: Overview

One-step growth (OSG) experiments — also called single-step growth — are the foundational assay for determining two key bacteriophage life-history characteristics: the latent period (minimum: the constant period) and the burst size. First systematized by Ellis and Delbrück (1939), OSG consists of following phage infective centers (plaque-forming units, PFUs) through three successive phases:

  1. Pre-lysis (constant period): Post-adsorption, pre-lysis titers of phage-infected bacteria. These should be stable (flat) and represent the denominator in burst size calculations.
  2. Rise: Increasing titers as phage-infected bacteria lyse and release virions. The start of the rise defines the end of the minimum (constant) latent period.
  3. Post-rise (plateau): Stable free-phage titers after lysis is complete. These represent the numerator in burst size calculations.

Burst size = (mean post-rise titer − unadsorbed virion titer) ÷ (mean pre-lysis titer − unadsorbed virion titer)

Minimum latent period (constant period) = time from start of adsorption to the first detected rise in titer.

Key Dos and Don'ts (Abedon, 2025)

✓ Dos
✗ Don'ts
  • Don't use MOI > 0.1 (risk of multiply infected bacteria and lysis inhibition)
  • Don't skip dilution after adsorption — this causes multi-step growth
  • Don't use 5-min intervals throughout (too coarse to define latent period precisely)
  • Don't claim latent period precision exceeding your time-point interval
  • Don't use only 1–2 post-rise time points for burst size
  • Don't assume all added phages adsorbed — always assess unadsorbed virions
  • Don't accept burst sizes > 500 without additional verification
  • Don't use stationary-phase bacteria as indicator without checking EOP
  • Don't add chloroform to infective-center cultures except for eclipse determination

Burst Size Calculation Detail

Let: T_pre = pre-lysis mean titer (infective centers, minus unadsorbed virions) T_post = post-rise mean titer (free phages, ideally all from lysis) T_free = unadsorbed free-phage titer (measured post-adsorption, pre-lysis) Burst size = (T_post − T_free) / (T_pre − T_free) Simplified (when T_free ≈ 0): Burst size = T_post / T_pre
Important: The pre-lysis denominator must consist of phage-infected bacteria only — not also free, unadsorbed virions. If 10% of starting phages failed to adsorb, burst sizes calculated without subtracting T_free will be underestimated by ~10%. Use ≥ 3 (ideally ≥ 5) pre-lysis and post-rise time points. Employ median or trimmed mean to reduce the impact of outliers from bacteria that lyse during plating.

References

For plaquing quantification advice, see:

⚠ OSG Diagnostic Error Reference

A catalog of the recurring faults that compromise one-step growth (OSG) experiments, distilled from Abedon (2025) (doi:10.20944/preprints202507.2624.v1). Each fault carries two independent labels. The category (procedural / data / presentation) is where the problem lives. The detected-by tag is how it surfaces: app the calculator flags it from the points, reviewer a human reads it from the Methods, and cross-check the app compares its own measurement against the reported value. The app proposes; the reviewer disposes — the final verdict is always a reviewer judgment.

Verdict scale: exemplar usable compromised invalid  — multi-step growth or no dilution is definitively unacceptable.

Procedural — from the methods (8)

Judged by reading the Methods section: how the experiment was run.

CodeFaultDetected by§Signal
NO_DILUTIONNo post-adsorption dilution (cardinal)reviewer3.3.4methods describe no dilution; corroborated by multi-step signals
MOI_HIGHMultiplicity above 0.1reviewer3.2.2reported MOI > 0.1 (>1 inflates burst)
HOST_NOT_LOGPHASEIndicator bacteria not in log phasereviewer3.4.1methods indicate plating/indicator bacteria not in exponential growth (use log-phase indicator bacteria)
UNADSORBED_NOT_DONEUnadsorbed phage never measuredreviewer3.3.2methods confirm free-phage titer not taken
ADSORPTION_UNSYNCPoor adsorption synchronizationreviewer3.2.3early PFU decline / extended rise
NO_PRELYSISNo genuine pre-lysis points (t=0 = inoculum)reviewer3.3t=0 is added titer, not an infective-center measurement
BURST_FORMULA_WRONGBurst computed as increase, not ratioreviewer3.5.4.4post minus pre over pre (Garbe et al.)
ECLIPSE_MISDEFINEDEclipse not taken at IC/EC intersectionreviewer5.3eclipse end defined other than where IC and EC curves cross

Data — from the curve (14)

Read off the digitized points; most are flagged automatically by the calculator.

CodeFaultDetected by§Signal
MULTISTEP_PLATEAUPost-rise not stabilized — titers climb againapp3.5.1-3.5.2post-phase regression drifts up > ~20% of post mean
MULTISTEP_GROWTHCurve is multi-step, not one-stepreviewer3.5.1reviewer verdict from multi-step signals + methods; definitively unacceptable
NO_PLATEAURise reaches no defined plateauapp2.1, 3.5.2no post phase, or last points still climbing
LONG_RISERise long / no clear endpointapp3.5.1rise duration large relative to latent; unbounded
BURST_HIGHDerived burst largeapp3.5.1, 3.6.3derived burst > 500 (flag); > 1000 (extraordinary)
PRE_SPARSEFew pre-lysis pointsapp3.4.4n_pre < 5
RISE_SPARSEFew rise pointsapp3.4.4, 3.6.2n_rise < 3, or one point spans the vertical
LYSIS_ONSET_UNDERSAMPLEDLysis onset undersampled (first rise point far above baseline)app3.4.4, 3.6.2first rise titer >= ~10x the pre-lysis mean (start of lysis fell between samples)
POST_SPARSEFew post-rise pointsapp3.5.2, 3.5.4n_post < 5
BASELINE_DRIFTPre-lysis titers not flatapp3.5.4pre-phase regression drifts > ~20% of pre mean
INTERVAL_COARSESampling interval coarse vs the riseapp3.4.2-3.4.4median interval >= rise duration
UNADSORBED_NOT_SHOWNNo unadsorbed-phage titer in the curveapp3.3.2no unadsorbed value present (observation only; cf. UNADSORBED_NOT_DONE)
BURST_MISMATCHDerived burst != reported burstcross-check3.5.4|derived - reported| > 15% of reported
LATENT_MISMATCHDerived latent != reported latentcross-check3.4.5|derived - reported| > max(10, 10% of reported)

Presentation — how it's displayed (3)

How the figure is plotted and reported, independent of the underlying data.

CodeFaultDetected by§Signal
AXIS_PRESENTATIONLinear axis, not normalized, or %-of-burstreviewer3.4.5, 3.5.3source figure not log-transformed and/or not normalized to pre-lysis titer
BASELINE_UNRESOLVEDPre-lysis level/variance not resolvableapp3.4.5, 3.5.4pre at the floor with ~zero spread, plateau far larger (linear axis); or zero pre variance under infective_centers (baseline assumed, not measured)
PRECISION_OVERCLAIMLatent precision finer than the sampling intervalcross-check3.4.2, 3.4.5reported latent precision < median sampling interval

Generated from the project fault taxonomy (faults.json); the same source drives the diagnostic panel on the Results tab and the error table in the preprint. Source: Abedon, S.T. (2025). Dos and Don’ts of Bacteriophage One-Step Growth. Preprints.org. doi:10.20944/preprints202507.2624.v1

🧮 Phage Biology, Phage Therapy, and Teaching Calculators

A suite of free, browser-based phage biology (🔬) and phage therapy (💊) calculators, plus teaching and accessibility tools (🎓), by Stephen T. Abedon. All open in a new browser tab.
💊 Active Phage Therapy
Models phage therapy including in situ phage replication — for scenarios where active (replicative) treatment is expected or required.
active.phage-therapy.org
🔬 Adsorption Rate Constant
Determine the phage adsorption rate constant k for your phage-host combination. Required for all kinetic calculations.
adsorption.phage.org
🔬 Bacterial Doubling Time
Convert between doubling time and Malthusian parameter; fit growth curves; predict population size over time; and graph bacterial growth data on linear or log scale.
doublingtime.phage.org
🔬💊 Bacterial Half-Life
Time for half a bacterial population to become phage adsorbed, as a function of phage titer and adsorption rate constant.
t05bacteria.phage.org
🔬 Biofilm Bacterial Density
Calculate bacterial density within biofilms, phage half-life, transit times, and MOI — with flexible units and diffusion-based adsorption.
biofilm.phage.org
🎓 Biology as Poetry Terms Challenge
Interactive vocabulary study, quiz, and game tool for biology, Greek alphabet, medical terminology, anatomical vocabulary, and binomial nomenclature.
termschallenge.biologyaspoetry.org
🔬🎓 Colorblind Vision Simulator
Preview how scientific figures appear to colorblind viewers, and shift colors toward a colorblind-safe palette. Upload, simulate, enhance, and download.
colors.phage.org
💊 Cross-Resistance Avoider
Design phage cocktails that minimize the likelihood of cross-resistance — reducing the chance that resistance to one phage confers resistance to others.
x-resist-x.phage-therapy.org
🔬 Dilution Calculator
Plan serial dilutions to reach a target titer or plate count, back-calculate titers from plate count data, and learn how exponents and scientific notation work.
dilution.phage.org
🎓 Grade Organizer
Your Canvas grades, clearly organized by category and week. Upload your Canvas grades page to view assignments grouped by category or week, with missing and zero scores highlighted.
grades.biologyaspoetry.org/organizer/
💊 Inundative Phage Density
Minimum phage titer to reduce bacteria by a specified amount in a given time. The inundative threshold for passive phage therapy.
inundative.phage-therapy.org
🔬 Multiplicity of Infection (MOI)
Calculate MOI_input and MOI_actual for phage-bacteria mixtures using Poisson statistics.
moi.phage.org
🔬 One-Step Growth
Calculate phage burst size and latent period from one-step growth experiment data.
onestep.phage.org ←
💊 Phage Adsorptions
Total adsorptions, MOI_actual, and adsorptions per bacterium per unit time, with or without phage replacement.
adsorptions.phage-therapy.org
💊 Phage Cocktail Optimizer
Optimize phage cocktail composition to maximize coverage across target bacterial strains.
cocktail.phage-therapy.org
🔬 Phage Half-Life
Time for half a phage population to adsorb bacteria, as a function of bacterial density and adsorption rate constant.
t05phage.phage.org
💊🔬 Phage Killing Titer
Determine phage concentrations from bacterial survival data using Poisson distributions. Includes phage therapy prediction and outcome interpretation.
killingtiter.phage-therapy.org
🔬 Phage Name Check
Check whether a proposed phage name has already been used — essential for avoiding naming conflicts in publications.
namecheck.phage.org
🔬💊 Phage OD Deviation
Detect phage-induced lysis from optical density curves — identifies the point of measurable divergence between treated and control cultures.
deviation.phage.org
🔬 Phage-Bacterial Chemostat
Simulate bacterial and phage population dynamics in continuous culture. Compare steady states and transient dynamics.
chemostat.phage.org
💊 Phage-Mediated D-Value
Time to achieve a given log reduction in bacteria at a constant phage titer, with or without phage replication.
dvalue.phage-therapy.org
🔬 Poisson Frequencies
Full Poisson distribution of phage adsorptions per bacterium at a given MOI — fractions uninfected, singly infected, multiply infected.
poisson.phage.org
🎓 Text Doc Digital Accessibility Converter
Convert Word documents and text files into browser-based accessible HTML with adjustable font size, contrast, and spacing for improved readability.
docaccess.biologyaspoetry.org
🔬 Titering and EOP
Calculate phage titers from plate counts using trimmed means, compute efficiency of plating (EOP), and run descriptive and Poisson statistics. Handles TNTC/TFTC.
titering.phage.org ←