Can I Compare qPCR Results Across Different Runs?
Yes, you can compare qPCR results across different runs — but only if you've built in the right controls. The short answer is that raw Ct values from two separate plates are not directly comparable. Differences in master mix batch, optical calibration, passive reference signal, threshold placement, and even the age of your ROX stock can shift Ct values by 0.5–1.0 cycle between runs without any real biological change. If you're using relative quantification (ΔΔCt), your reference gene measured on the same plate as your GOI absorbs most of this plate-to-plate variation. But the moment your calibrator sample or reference gene sits on a different plate than the sample you're comparing it to, you've introduced systematic error that looks like biology.
The practical question isn't whether inter-run comparison is theoretically valid — it's whether your experimental design makes it valid. Below, I'll walk through what actually causes run-to-run variation, when you can safely ignore it, and the specific controls that let you combine data from multiple plates with confidence.
Why Raw Ct Values Drift Between Runs
When you run the same sample on two different plates — same primers, same instrument, same protocol — you'd expect identical Ct values. In practice, you'll typically see 0.3–0.8 Ct of variation, sometimes more. On a QuantStudio 5 or CFX96, the main contributors are:
- Threshold placement. If you're using auto-threshold, the software recalculates it for each run based on the fluorescence profiles present on that plate. Different sample compositions → different threshold → different Ct. On the LightCycler 480, the second derivative maximum method sidesteps this somewhat, but introduces its own quirks with low-abundance targets.
- Optical normalization. Instruments that use a passive reference dye (ROX, mustang purple) normalize well-to-well fluorescence, but the passive reference signal itself can vary with pipetting precision and evaporation. On SYBR-based chemistries like PowerUp SYBR Green or Luna Universal, this matters more than with probe-based assays.
- Reagent batch effects. A new lot of master mix can shift your baseline fluorescence. I've seen 0.5 Ct shifts from switching to a new PowerUp SYBR lot, entirely attributable to dye concentration differences.
- Plate and seal variability. Cheap plate seals, slightly warped plates, or inconsistent sealing pressure create optical artifacts. Edge wells are especially susceptible.
- Template handling. If you're comparing cDNA that was diluted on Monday to cDNA diluted on Thursday, freeze-thaw cycles and pipetting on different days introduce variation that has nothing to do with the instrument.
None of these are dramatic on their own. Stacked together across a multi-week experiment, they can easily produce 1–2 Ct of systematic drift — which is a 2- to 4-fold apparent expression change. Enough to wreck your results.
Running the same genes across several plates? VoilaPCR merges multi-plate uploads into one analysis, keeps every well traceable to its plate, and runs ΔΔCt across the combined set. Your first analysis runs with no account.
Analyze my plates together →When Inter-Run Comparison Is Safe (and When It Isn't)
Safe: ΔΔCt with reference gene and GOI on the same plate. If every plate contains the GOI assay and the reference gene assay for each biological sample on that plate, and you're computing ΔCt (GOI minus reference) within the same plate before comparing across plates, most plate-to-plate variation cancels out. This is the standard ΔΔCt setup (Livak and Schmittgen, 2001), and it works well precisely because the reference gene is exposed to the same systematic errors as the GOI.
Safe with caveats: Inter-run calibrators (IRCs). If your experiment spans 5 plates and you can't fit all samples on one plate, include one or two calibrator samples on every plate. These are aliquots of the same cDNA — typically pooled from your experimental groups — run for both the GOI and reference gene on every plate. You then correct each plate's ΔCt values relative to the IRC's ΔCt on that plate. This is the standard approach recommended by the MIQE guidelines (Bustin et al., 2009) and implemented in software like qbase+ (now Biogazelle's platform, based on the geNorm method from Vandesompele et al., 2002). The IRC doesn't need to be a sample in your experiment — it just needs to be abundant enough that you won't run out, and stable enough that it won't degrade across the weeks of your study. Aliquot it into single-use tubes. Don't freeze-thaw it.
Not safe: Comparing raw Ct values across plates. If someone in the lab says "the Ct for GAPDH was 18 on Monday's run and 19.5 on Wednesday's run, so the Wednesday samples have lower expression" — that's not interpretable without controls. That 1.5 Ct shift could be entirely technical.
Not safe: Reference gene on a different plate than the GOI. I've seen experimental designs where one plate runs all the reference genes and a separate plate runs all the GOIs. This defeats the purpose of normalization because the systematic error on plate 1 is different from plate 2. Your ΔCt is now the difference between two different systematic errors, not a corrected value.
Risky: Mixing instruments. Comparing Ct values from a CFX96 and a QuantStudio 7 is asking for trouble even with IRCs. The optical systems, threshold algorithms, and baseline subtraction methods differ enough that residual error after correction can be substantial. If you must do this, validate with a dilution series on both instruments first, and expect wider confidence intervals.
How to Set Up an Inter-Run Calibrator
This is straightforward, but the details matter:
- Make the calibrator. Pool equal volumes of cDNA from several samples spanning your experimental groups. You want a mix that will amplify all your targets at reasonable Ct values (ideally 18–28). Make a large volume — 200 µL is not overkill for a study that spans 20 plates.
- Aliquot into single-use tubes. 5 µL per tube is usually enough for triplicate wells on one plate. Label clearly. Store at −20°C or −80°C.
- Run the IRC on every plate. Same well positions if possible (it helps with troubleshooting edge effects). Run it in triplicate for both the GOI and reference gene assays.
- Monitor IRC Ct values across plates. The raw Ct for the IRC should be stable within ~0.5 Ct across plates. If it drifts more than 1 Ct, investigate — your reagents may be degrading, or the IRC aliquots are inconsistent.
- Correct your data. For each plate, compute ΔCt_IRC = Ct_GOI(IRC) − Ct_REF(IRC). Then compute a correction factor as the difference between each plate's ΔCt_IRC and the mean ΔCt_IRC across all plates. Apply this correction to every sample's ΔCt on that plate.
The math:
ΔCt_sample(corrected) = ΔCt_sample(plate) − [ΔCt_IRC(plate) − ΔCt_IRC(mean across all plates)]
This centers each plate's data relative to the grand mean of the IRC, removing systematic plate effects.
What About Absolute Quantification?
If you're using a standard curve for absolute quantification (copy number), inter-run comparison has a different set of requirements. The standard curve must be run on every plate, or you need a validated, instrument-specific stored standard curve and very tight control of your reaction conditions. In practice, most labs run the standard curve on every plate. If your standard curve efficiency is 95% on one plate and 102% on another, those plates are not directly comparable at the copy number level — the efficiency difference alone introduces ~10–15% error at Ct 30.
For absolute quantification across runs, the MIQE guidelines recommend:
- Standard curve on every plate (minimum 4 points, ideally 5–6, spanning your expected sample range)
- Efficiency between 90–110% on each plate
- R² > 0.98
- An IRC as an additional check on consistency
If your efficiencies match across plates (within ~3%), your copy number estimates will be comparable. If they don't match, correct for efficiency using the Pfaffl method (Pfaffl, 2001) or report data only within plates.
Common Mistakes That Break Cross-Run Comparisons
Using auto-threshold and forgetting about it. If you let the software auto-set the threshold, it may place it at different fluorescence levels on different plates. For cross-run comparisons, set a manual threshold that you use consistently. On the CFX96, I typically set it at 200 RFU for SYBR assays after confirming it intersects the exponential phase on a representative run. On QuantStudio instruments, the auto-threshold is generally more consistent, but I still recommend checking.
Forgetting to include a no-template control on every plate. This seems obvious, but if your NTC starts showing Ct 35–37 on plate 8 when it was undetectable on plates 1–7, you have a contamination problem that will affect your sample Ct values. Every plate needs its own NTC.
Using a reference gene that isn't stable across your conditions. This isn't specific to inter-run comparison, but it compounds the problem. If GAPDH shifts by 1 Ct between your treatment and control groups, and this shift varies by plate, you're normalizing against noise. Validate your reference gene with geNorm (Vandesompele et al., 2002) or NormFinder (Andersen et al., 2004) before starting the experiment. For cross-tissue studies, B2M and HPRT1 often outperform GAPDH and ACTB, but this is context-dependent — always check.
Not recording plate layouts and run files. Six months from now, when a reviewer asks how you compared data across runs, you need to be able to show which samples were on which plate, where the IRCs were, and what threshold you used. Save the raw run files, not just the exported Ct table.
The Bottom Line
Inter-run comparison is routine in labs that do it right. The key is simple: never compare raw Ct values between plates, always include your reference gene on the same plate as your GOI, and use inter-run calibrators when samples must be split across plates. If you're running a large experiment — more than one plate's worth of samples — plan the plate layout before you start, not halfway through.
If you're dealing with data from multiple runs and want to apply IRC corrections without wrestling with spreadsheets, VoilaPCR can handle inter-run normalization for you — upload your plates, flag your calibrators, and it does the correction automatically.
Running the same genes across several plates? VoilaPCR merges multi-plate uploads into one analysis, keeps every well traceable to its plate, and runs ΔΔCt across the combined set. Your first analysis runs with no account.
Analyze my plates together →