Documentation · Quantification
From Cq to fold change
How Ampliova turns amplification curves into fold changes: why the efficiency is corrected, the order of every step, and the two quality checks that can remove a well.
Why correct for efficiency
The classic ΔΔCq method [5] assumes that every assay doubles its product at every cycle, an efficiency E of exactly 2. Real assays rarely do. Primer design, template quality and inhibitors in the reaction all lower it, and LinRegPCR routinely measures efficiencies between 1.70 and 1.90 on well-behaved assays.
The error this causes is not a constant offset. It grows with the fold change itself: when the target and the reference share an efficiency E, the ΔΔCq method reports the true fold change raised to the power ln 2 / ln E. At E = 1.90 a true 8-fold increase is reported as 9.4-fold, and at E = 1.80 as 11.6-fold. The same distortion works downwards, so a true 0.25 comes out as 0.22 or 0.20. Effects look larger than they are, in both directions.
When the two genes differ in efficiency, a second error appears that does not need any change in expression at all. Load four times more RNA in one sample, with the target amplifying at 1.80 and the reference at 1.95: both Cq values drop, but by 2.36 and 2.08 cycles, and ΔΔCq reports an 18% decrease that is nothing but the loading.
Ampliova measures the efficiency of every well from the log-linear phase of its own amplification curve with LinRegPCR [3, 4], then uses the mean of each gene’s wells, which Ruijter and colleagues showed to reduce both the variability and the bias of the results. MIQE 2.0 asks for Cq values to be converted into efficiency-corrected quantities [2].
Reading an efficiency
LinRegPCR values run lower than standard-curve values: expect 1.70 to 1.90. The familiar rule of 90 to 110% (E between 1.90 and 2.10) is a convention for dilution series, not a MIQE threshold (MIQE sets no range and asks for the confidence interval instead), and applying it to a LinRegPCR value is the most common way good assays get flagged as bad. A gene well outside 1.70 to 1.90 deserves a look at its curves: a poor baseline, a late or flat exponential phase, or a primer problem.
The calculation, step by step
What happens when you click Run analysis, in order. Every intermediate value is stored and shown in the Table tab, and written to the CSV, Excel and JSON exports, so any fold change can be walked back to its wells.
- Plate filesper well
Every validated plate of the batch, as RDML with its raw amplification curves. Samples and wells you removed by hand are dropped here, before anything is computed.
- Inter-run calibrationper gene
When the batch uses IRC: each plate’s Cq values of a gene are shifted by the mean deviation of its calibrators from their mean across plates.
- Amplification efficiencyper well
LinRegPCR fits the log-linear phase of each curve and returns one efficiency per well.
Classic ΔΔCq: Skipped: E = 2 for every gene. - Efficiency outliersper gene
An iterative two-sided Grubbs test on the efficiencies of each gene, when it has at least six wells.
Removes wells whose efficiency does not belongClassic ΔΔCq: Skipped. - Mean efficiencyper gene
The mean of the remaining wells: one efficiency per gene, used for every sample.
Classic ΔΔCq: E = 2. - Technical replicatesper sample and gene
Where the Cq standard deviation of a replicate group exceeds the threshold, the replicate furthest from the median is dropped if that brings it back under.
Removes one aberrant replicate at most - Relative quantityper sample and gene
Rq = E^(−mean Cq), the replicates averaged on the Cq scale first.
- Normalizationper sample
Nq = Rq of the target divided by the geometric mean of the Rq of the reference genes.
- Fold changeper sample
FC = Nq divided by the arithmetic mean Nq of the calibrator group, so the calibrator averages exactly 1.
Classic ΔΔCq: Calibrator averaged on the log scale (a geometric mean), as Livak and Schmittgen define it. - Statisticsper gene and group
log2 of each biological sample's fold change, the test fixed by the design, the ratio of every comparison with its 95% confidence interval.
Formulas
For each sample and target gene, with E the mean efficiency of the gene:
Classic ΔΔCq uses E = 2 for every gene and averages the calibrator on the Cq scale: ΔΔCq = ΔCq − mean(ΔCq of the calibrator group), fold change = 2^(−ΔΔCq). On the scale of Nq that is a geometric mean, as Livak and Schmittgen define it, where the efficiency-corrected workflow uses the arithmetic mean of Nq [1]. The two genuinely differ, and each method keeps its own.
Each sample also carries a standard error, in the CSV, Excel and JSON exports, that propagates its technical replicate spread through the calculation: SE(Rq) = |Rq · ln E| · SD(Cq) / √n, carried through the normalization and the calibrator by the delta method. It describes how precisely the qPCR read that one sample. The spread between biological samples, which the statistics and the figures use, is a different quantity: see error bars.
Outliers and replicates
Two checks run, on two different quantities, and they are labelled separately everywhere because they answer different questions.
Efficiency outliers: Grubbs’ test
Efficiency is a property of the assay, not of the sample, so all wells of a gene are pooled across the batch and an iterative two-sided Grubbs test [9]at P < 0.05 looks for one that does not belong. If one is found it is removed and the test runs again on the rest. The gene’s efficiency is the mean of the survivors, and the wells removed also leave the Cq averages.
The test needs at least six wells for a gene and stops before fewer than six remain. Below that it has little to work with: at n = 3 its critical value sits 0.0004 below the largest value the statistic can take, so it can only fire when two of the three values nearly coincide, and then it responds to the ratio of the two gaps, whatever their size in cycles. A typical gene has 12 to 30 wells in a batch, so the limit rarely applies.
Technical replicates: a rule, not a test
For each sample and gene, if the Cq standard deviation of the technical replicates exceeds the threshold, Ampliova removes the replicate furthest from the median, but only if that brings the standard deviation back under the threshold. When one removal is not enough, nothing is removed and the group is flagged: a triplicate still scattered after losing a well has a problem that discarding wells does not fix. A pair is never resolved automatically, since nothing in two values says which one is wrong.
| Replicates (Cq) | SD | Without the furthest | Outcome |
|---|---|---|---|
| 24.10 · 24.18 · 25.02 | 0.51 | 0.06 | 25.02 removed |
| 24.10 · 24.70 · 25.40 | 0.65 | 0.42 | kept, flagged |
| 24.10 · 24.20 · 24.30 | 0.10 | (not examined) | kept |
The threshold is 0.3 cycles by default and lives in the batch settings; 0.5 is the other common rule of thumb. The results list every replicate the rule removed, with the standard deviation before and after, and one click puts it back for good: your override survives re-analysis. Removals, overrides and every sample or well you exclude by hand reach the JSON audit trail and the Methods paragraph.
Standard curves and chosen efficiencies
LinRegPCR is not the only way to measure an efficiency. The older one is a serial dilution: the same template diluted in known steps, each step amplified, and the Cq read against the amount of template. At perfect doubling every tenfold dilution delays the Cq by log2(10) = 3.32 cycles, so the slope of that line gives the efficiency. Ampliova fits these curves and lets any gene of a batch use one in place of its LinRegPCR mean, the per-gene correction Pfaffl described for standard-curve efficiencies [6].
Fitting a curve
Type the wells of the series Std in the plate layout and give each its quantity: 1 for the undiluted template, 1:10, 1:100 and so on, or an amount in copies or ng, since only the ratios between levels matter. Select a block of wells and Fill as a dilution series sets one level per column (or row) in one click. Instruments that write standards into the RDML file have them typed for you. Put the series on its own plates in a batch of type Primer efficiency, or on the plates of any batch next to the samples; standard wells are never quantified as samples.
Every well enters the fit, not the level means, so the scatter between replicates widens the interval as it should. Three levels are the minimum to fit a line; MIQE 2.0 recommends three replicates per step and a series covering four to five orders of magnitude, and the curve says when yours falls short. Wells that never crossed the threshold are listed but not fitted, and the linear range stops at the lowest level that was. The fit is checked against R’s lm() and confint().
Each curve reports what MIQE asks of a standard curve [2]: the slope, the intercept, R², the efficiency with its interval and the linear range, with the mean Cq of every level and the step between levels. Click a point to leave that well out of the fit, as you would for a pipetting error at the top of the series; it stays on the curve, greyed, and goes back in with a second click. A curve is marked within range between 90 and 110% (E 1.90 to 2.10), the usual convention for dilution series; MIQE itself sets no range and asks for the interval, which is always shown. An efficiency above 2 is reported as measured, not clipped: a reaction cannot more than double per cycle, so it points to inhibitors diluted out along the series or to pipetting error in it [2].
Using an efficiency in a batch
The Efficiencies panel of the Plates tab sets, gene by gene, where E comes from: LinRegPCR on the batch’s own curves (the default), the standard curve of standards on the batch’s plates, or an efficiency saved in your library. The library holds curves saved from any batch, with a copy of the curve so the record outlives the batch, and values measured elsewhere, typed in as a percentage or a factor. A typed value has to say how it was obtained (dilution series, LinRegPCR or another method), because the two families are not judged against the same range.
A chosen efficiency replaces the gene’s mean and nothing else. The Grubbs test still runs on the per-well LinRegPCR efficiencies where there are any, because there it protects the wells rather than the efficiency. With a chosen value for at least one gene, a file without amplification curves can be analysed with efficiency correction instead of falling back to ΔΔCq; genes left without one then use E = 2, and the results say so gene by gene. Classic ΔΔCq ignores chosen efficiencies.
Two methods, two numbers
The two estimates need not agree for the same primers. Inhibitors diluted out along a series push a standard curve’s efficiency up, while they pull per-reaction estimates down[2], and the gap matters: a target moved from E = 1.85 to 1.95 changes its fold change by about 17% at a ΔCq of 3 between conditions. Ampliova does not forbid mixing sources, but it names the source of every efficiency next to its value, in the exports, in the MIQE checklist and in the Methods paragraph, and every analysis keeps a copy of the values it used.
Fitting curves is open to every plan. Saving efficiencies to the library and using them across batches is part of the Researcher plan; on the Lab plan a saved efficiency can be shared with your team. A curve saved from a batch can also be added to a published pair of the primer database, publicly or for you and your team only.
NTC and RT− controls
Controls never enter the calculation: Ampliova reads them. Wells named H2O or NTC are typed as no-template controls, and wells named RT-, -RT, noRT, NRT or RT neg as no-RT controls; you can change any of them. Each control is compared with the samples it guards on the same plate. An RT− control is matched to the RNA it was made from by name (“WT_1 RT-” checks WT_1), or, failing that, to the least expressed sample of its group or plate. An NTC is compared with the least expressed sample of the same gene.
Every cycle of distance halves what a control’s template can contribute, so a control 5 cycles later than its sample stands for about 3% of that sample’s signal (2^−5), the margin commonly used for RT− controls. Anything closer is flagged when you add the plate and in the MIQE checklist. Name each RT− after its own RNA: genomic DNA contamination is a property of each RNA preparation [8], so one RT− cannot vouch for another sample.
Several plates
A batch pools its plates: the efficiency of a gene comes from all its wells, and a sample’s replicates are averaged wherever they sit. When one gene is measured on several plates, each run can also read a fraction of a cycle higher or lower than the others, from a different threshold, instrument calibration or master-mix batch. Two layouts deal with it.
Sample maximization
Put all the samples of a gene on the same plate and spread genes across plates rather than samples [7]. Plate differences then shift every sample of a gene alike and cancel out of every comparison. No calibrator is needed.
Inter-run calibration
When samples of one gene have to be split across plates, turn IRC on in the batch settings, run the same calibrator sample for that gene on every plate, and type its wells IRC in the plate layout, with the same name on each plate. Before anything else is computed, Ampliova then applies the correction qbase uses [7]: for each gene and plate, the offset is the mean deviation of the calibrators on that plate from their own mean across plates, and every Cq of that gene on that plate is shifted by it.
The offsets of a gene sum to zero across its plates, so the overall level is unchanged and only the differences between plates go. A shift in Cq is a factor on every quantity of the plate, whatever the efficiency, which is why it comes first: the replicate rule, the means and the reference-gene stability all see one scale per gene.
A gene is corrected only when at least one calibrator was run for it on every plate that carries it. If a plate lacks one, the gene is left uncorrected rather than put on two scales at once, and the results say which plate is missing it. Calibrators found on only some plates are set aside. The Results tab lists, per gene, the cycles removed from each plate; the JSON audit trail keeps them, and the Methods paragraph describes the correction. With a single calibrator, its replicate error enters every plate’s correction, so two or three are better.