Start With a Question, Then a Plate

Suppose you want to know whether a candidate drug changes BRCA1 expression in a breast-cancer cell line. You design an assay for BRCA1 and a stable reference gene such as GAPDH, run three biological replicates in technical triplicate, and the instrument hands you a table of Cq values. The question you actually want answered is not "what is the Cq" — it is "how many times is BRCA1 changed, and how confident am I?"

This guide walks the analysis from the raw curves to that number. The five steps are the same ones in the MIQE playbook, and they apply whether your instrument software computes them or you do them by hand.

Step 1: Check the Amplification Curves Before Trusting a Single Cq

Before any arithmetic, look at the raw amplification plot. A good reaction shows a smooth exponential rise, a clear plateau, and parallel slopes across replicates. A curve that is flat, jagged, or shifts dramatically between wells is telling you the data is not trustworthy yet. I set the baseline and threshold from the linear phase, not the plateau, and I always confirm the no-template control (NTC) stays flat — an NTC that rises is contamination or primer-dimer, and the whole plate should be re-run rather than "corrected".

Step 2: Confirm the Reaction Runs at ~100% Efficiency

Efficiency converts Cq into a quantity, so it must be measured, not assumed. Dilute your standard (or a representative cDNA) over at least five orders of magnitude, plot Cq against log10 of the input, and fit a line. The slope gives efficiency directly:

E = 10(−1/slope) − 1

A slope around −3.3 gives E ≈ 1.00, which is reported as 100%. Acceptable is 90–110% (slope between −3.58 and −3.10). If your target and reference reactions are within 10% of each other in efficiency, the standard ΔΔCq shortcut holds. If they are not, you must use the efficiency-corrected Pfaffl method instead of pretending the difference does not matter.

Step 3: Calculate ΔCq — Target vs Reference Within Each Sample

This is where normalisation happens. For each sample, subtract the reference Cq from the target Cq. Use the mean of your technical replicates; keep the standard deviation for later. Here are the numbers from our worked example, using the mean of three technical replicates per biological sample:

SampleBRCA1 Cq (mean ± SD)GAPDH Cq (mean ± SD)ΔCq
Control 124.3 ± 0.1818.1 ± 0.146.2
Control 224.5 ± 0.2218.2 ± 0.166.3
Control 324.2 ± 0.1518.0 ± 0.126.2
Treated 122.0 ± 0.2018.2 ± 0.153.8
Treated 222.3 ± 0.1718.4 ± 0.133.9
Treated 322.1 ± 0.1918.3 ± 0.143.8

A reference Cq that moves around by more than ~1.5 cycles across samples is a red flag that GAPDH is not stable in this system and a geNorm/NormFinder pass across two or three candidate references is needed.

Step 4: Calculate ΔΔCq — Treated vs Control

Now normalise across conditions. Take the mean ΔCq of the controls as the calibrator (6.23 here) and subtract it from each treated ΔCq:

ΔΔCq = ΔCq(treated) − mean ΔCq(control)

For the treated samples: 3.8 − 6.23 = −2.43, and the triplicates give −2.33 and −2.43. A negative ΔΔCq means the target appears at a lower Cq relative to the reference than in the control — in other words, more starting BRCA1 template.

Step 5: Convert to Fold Change, and Add the Error

Fold change assumes perfect doubling per cycle, which is why Step 2 mattered:

Fold change = 2−ΔΔCq

With ΔΔCq = −2.43, fold change = 22.435.4× — BRCA1 is about 5.4-fold higher in the treated cells relative to control, after GAPDH normalisation.

Because ΔΔCq is a difference of differences, its error is easy to get wrong. The correct approach is to work in ΔCq units: compute the standard deviation of the ΔCq values in each group (0.06 for our controls, 0.06 for the treated samples), combine them to get the standard error of ΔΔCq, and convert both bounds with 2−ΔΔCq±SE. For our triplicates that gives a fold-change range of roughly 5.0–5.8×. Report that range, not the bare 5.4×.

For significance, run an unpaired t-test on the three treated ΔCq values versus the three control ΔCq values (each n = 3). With our tight spreads, the two groups separate cleanly — a t-test on the ΔCq values returns p < 0.01 — but with wider replicates the same fold change might not reach significance. Always let the statistics decide, and always present effect size, confidence interval, and p-value together.

This is why qPCR papers that report only "2.5-fold upregulation" are hard to trust: without the confidence interval and a statistical test, a fold change is just an arithmetic artefact. The five steps in this walkthrough are the minimum set that turns a Cq table into a defensible biological claim.

What the Melt Curve Adds in SYBR Green Runs

For dye-based chemistry, run a melt (dissociation) step after cycling. One sharp peak at the expected product Tm means a single amplicon. A second, lower peak near 75–80 °C is a primer-dimer, and a broad or shoulder peak means more than one product. The melt check is what lets you trust that the fluorescence you quantified was actually your amplicon — see the primer-dimer guide for the fixes if you see it.

Common Ways qPCR Analysis Goes Wrong

  • Reporting raw Cq as expression: Cq is not a quantity until you normalise. Always present ΔCq or fold change.
  • Ignoring efficiency differences: If target and reference differ by more than 10%, the plain ΔΔCq shortcut is wrong; switch to Pfaffl.
  • Single reference gene: Use two or three, and validate their stability for your cell line and treatment.
  • Pooling technical replicates too early: Average them per sample, then treat the biological replicates as the unit of statistics.
  • Chasing NTC signal: An NTC amplifying at Cq 38 is contamination or dimer, not data to baseline out.

Two settings hide in your software that change every Cq on the plate, so check them before touching the data. The baseline is the early-cycle fluorescence used as the background floor; if it is set too wide it clips the start of your amplification curves, and if it is set too narrow the curves are noisy and Cq values wobble. The threshold must sit inside the exponential phase of every sample, in the linear region of the log fluorescence plot. Software auto-sets these, but auto-settings drift between plates — verify baseline and threshold on the raw amplification plot for at least one sample per gene, and re-export the Cq table afterwards. A single outlier run with a different baseline can shift its Cq by 1–2 cycles, which is enough to flip a 5.4× result into a 10× one.

Relatedly, if you use a passive reference dye (ROX), confirm it is stable across the whole plate. A spatial ROX gradient — fading toward one corner of the block — silently rescales fluorescence and biases Cq readings by region. Plot ROX fluorescence per well once per plate; a drift of more than a few percent across the block warrants repeating the run. These checks take minutes and are the cheapest insurance in qPCR analysis.

Design PCR Primers with 24-step Validation

Free for researchers and professors. Validate every primer — including specificity and Tm — before you order.

Try VigyanLLM Primer Free →