Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Efficiency-corrected RT-qPCR

A small, self-contained demonstration of how to apply amplification-efficiency correction to RT-qPCR Cq data and compute a normalized target/reference ratio.

All data in this repository is synthetic (randomly generated by a seeded script). It is a method demonstration only — it does not represent any real experiment, sample, or result.

The problem

The classic 2^(−ΔΔCt) method assumes both assays amplify at 100% efficiency (a doubling every cycle). Real assays rarely do. When the target and reference assays have different efficiencies, an uncorrected ratio is biased. Efficiency correction rescales each Cq to a common 100%-efficiency basis before quantities are compared (the Pfaffl principle).

The calculation

For each assay, the standard curve gives a slope, from which efficiency is derived; every Cq is then converted to an efficiency-corrected value:

Efficiency (%)   = (-1 + 10^(-1 / slope)) * 100
E                = 1 + Efficiency(%) / 100
Ct(100%)         = Cq * log2(E)
Quantity         = 100 * 2^( mean(std100 Ct(100%)) - sample Ct(100%) )
Normalized ratio = Target quantity / Reference quantity

The ratio is computed per matched technical replicate, averaged per biological replicate, then summarized (mean, SD) across replicates within each group. See references/efficiency_correction_method.md for a fuller walkthrough.

Result on the synthetic data

Three sample groups (A, B, C), three biological replicates each:

Group Rep 1 Rep 2 Rep 3 Mean SD
A 0.446925 0.495239 0.436762 0.459642 0.031244
B 0.821351 0.893508 0.580211 0.765024 0.164068
C 0.221490 0.299057 0.675234 0.398594 0.242697

Standard-curve quality

Assay R² Efficiency
Target 0.999754 94.92%
Reference 0.999960 98.84%

Efficiencies within roughly 90–110% are generally considered acceptable. The lowest standard is left undetermined and excluded from the fit.

Reproduce

install.packages("readxl")
Rscript R/analyze_qpcr.R

The script reads data/raw/qpcr_raw_ct.xlsx, writes CSVs to results/generated/, and checks its group summary against results/efficiency_corrected_ratio_summary.csv.

Regenerate the synthetic dataset from the seed:

python3 tools/generate_dummy_data.py

Layout

R/             Reproducible R analysis
tools/         Seeded synthetic-data generator
data/raw/      Synthetic raw Cq workbook (analysis input)
references/    Pfaffl method template + efficiency-correction method note
results/       Live-formula workbook, static values snapshot, summary CSV
docs/          Static HTML report (GitHub Pages source)

*_live.xlsx keeps the formulas (recalculates in Excel); *_values.xlsx is the same sheet with formulas evaluated to static numbers.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages