為什麼 qPCR 看似簡單卻最常出錯?
即時定量 PCR (qPCR) 是分子生物學最常用的核酸定量工具,但 MIQE 作者群在 2009 年指出,文獻中超過半數的 qPCR 報告缺少基本資訊(如 PCR 效率、reference gene 驗證),導致結果不可重現。16 年後 MIQE 2.0 (Bustin et al. 2025, Clin Chem) 首度大改版,新增 LOD/LOQ 信賴區間、原始資料強制公開、效率校正的目標量等要求。
RT-qPCR 的訊號是對數放大:Cq 每差 1 代表起始量差 ~2 倍(100% 效率時)。任何一個環節的小錯誤(pipette 1 μL 差異、reference gene 選錯、效率忽略)都會被指數放大。
Real-time quantitative PCR (qPCR) is the workhorse of nucleic-acid quantification, but the MIQE authors showed in 2009 that over half of published qPCR reports lack basic information (PCR efficiency, reference-gene validation), making results irreproducible. Sixteen years later, MIQE 2.0 (Bustin et al. 2025, Clin Chem) is the first major revision — now requiring LOD/LOQ confidence intervals, mandatory raw-data sharing, and efficiency-corrected target quantities.
RT-qPCR signal is logarithmic: every Cq unit represents a ~2-fold difference in starting material (at 100% efficiency). Small errors anywhere (1 μL pipetting, wrong reference gene, ignored efficiency) are exponentially amplified.
一、四個必須懂的數字
Cq (Quantification Cycle)
螢光訊號超過閾值的循環數,等同 Ct。Cq 越小代表起始量越多(早期就放大到偵測閾值)。Cq 是指數空間的值,不可直接相減或平均,必須先轉成 2^(-Cq) 線性化。
Cycle at which fluorescence crosses the threshold (= Ct). Lower Cq = more starting material. Cq lives in log space — never subtract or average raw Cq values; transform to 2^(-Cq) first.
PCR Efficiency (E)
由 10 倍序列稀釋標準曲線計算:E = 10^(−1/slope) − 1。理想 slope = −3.32(100% 效率)。可接受範圍 90–110%。效率差 5% 在 30 個循環會放大成 4 倍誤差。
Derived from 10-fold dilution standard curve: E = 10^(−1/slope) − 1. Ideal slope = −3.32 (100% efficiency). Acceptable range 90–110%. A 5% efficiency difference compounds to ~4× error after 30 cycles.
R² of standard curve
反映劑量反應的線性度。MIQE 2.0 要求 R² ≥ 0.98,並覆蓋至少 5 個 10 倍稀釋點。R² 高但 slope 偏離 −3.32,仍代表效率有問題。
Linearity of dose-response. MIQE 2.0 requires R² ≥ 0.98 across ≥5 ten-fold dilution points. High R² but slope ≠ −3.32 still indicates an efficiency problem.
LOD / LOQ
LOD:能可靠偵測(≥95%)的最低濃度。LOQ:能可靠定量(CV ≤ 25%)的最低濃度。MIQE 2.0 強制報告兩者的 95% CI 而非單一數字。
LOD: lowest concentration detected reliably (≥95%). LOQ: lowest concentration quantified with CV ≤ 25%. MIQE 2.0 now requires 95% CIs for both, not just point estimates.
二、相對 vs 絕對定量
| 方法 | 原理 | 適用情境 | 關鍵假設 |
|---|---|---|---|
| ΔΔCt (Livak) | 2^(−ΔΔCt) | 效率相近 | 差距 <5% |
| Pfaffl | 效率校正 | 已知效率 | 已量測 E |
| Standard curve | 標準曲線內插 | 絕對量化 | 純度可靠 |
| dPCR (Digital) | 分隔+泊松 | 絕對定量 | 符合 dMIQE |
PCR 效率對 ΔΔCt 結果的影響
拖動下方滑桿:當 target 與 reference 的效率不一致時,ΔΔCt 報告的「fold change」會偏離真值。看看 5% 的效率差距如何在 25 個循環後變成多大的誤差。
Drag the sliders below. When target and reference efficiencies differ, ΔΔCt-reported "fold change" deviates from the truth. See how a 5% efficiency gap balloons after 25 cycles.
X:循環數 | Y:螢光訊號
三、R 與 Python 實作 ΔΔCt
# ΔΔCt + Pfaffl 效率校正示例 library(tidyverse) df <- read_csv("qpcr_raw.csv") # 欄位:sample, gene, group, Cq # 1. 對每樣品計算 ΔCt = Cq_target − Cq_reference dCt <- df %>% pivot_wider(names_from=gene, values_from=Cq) %>% mutate(dCt = TargetGene - rowMeans(across(c(GAPDH, ACTB, HPRT1)))) # 多 reference 平均 # 2. ΔΔCt = ΔCt_treated − mean(ΔCt_control) ctrl_mean <- mean(dCt$dCt[dCt$group=="control"]) dCt <- dCt %>% mutate(ddCt = dCt - ctrl_mean, FC = 2^(-ddCt)) # 3. Pfaffl 校正版(已量測 E_t, E_r) E_t <- 1.95; E_r <- 2.02 # 從標準曲線計算: 10^(-1/slope) dCt$FC_pfaffl <- (E_t^(ctrl_mean - dCt$dCt)) / (E_r^0)
import pandas as pd, numpy as np df = pd.read_csv("qpcr_raw.csv") wide = df.pivot(index=["sample","group"], columns="gene", values="Cq").reset_index() # 多 reference 取算術平均(geNorm 推薦至少 2-3 個穩定基因) ref_cols = ["GAPDH", "ACTB", "HPRT1"] wide["Cq_ref"] = wide[ref_cols].mean(axis=1) wide["dCt"] = wide["TargetGene"] - wide["Cq_ref"] ctrl_mean = wide.loc[wide.group=="control", "dCt"].mean() wide["ddCt"] = wide["dCt"] - ctrl_mean wide["FC"] = 2 ** (-wide["ddCt"]) # 統計:log2(FC) 才適合 t-test(線性化避免 fold change 的偏態) from scipy import stats log2fc = np.log2(wide.FC) stats.ttest_ind(log2fc[wide.group=="treated"], log2fc[wide.group=="control"])
四、Reference Gene 選擇流程
如何選擇 housekeeping / reference gene?
五、必避的五個錯誤
❌ 單一 GAPDH 當 reference
GAPDH 在低氧、發炎、分化條件下會變動。MIQE 與 Vandesompele 2002 都要求 至少 2 個 已驗證 reference gene。
GAPDH changes under hypoxia, inflammation, differentiation. MIQE and Vandesompele 2002 both require ≥2 validated reference genes.
❌ 忽略 PCR 效率
每對引子都應跑標準曲線確認 E∈[90%,110%]。直接套 ΔΔCt 而效率差 10%,30 cycle 後誤差可達 16 倍。
Every primer pair needs a standard curve confirming E∈[90%,110%]. ΔΔCt with 10% efficiency gap → up to 16× error after 30 cycles.
❌ 缺 no-RT / NTC 對照
無 no-RT 無法區分訊號來自 mRNA 或 gDNA 汙染;無 NTC 無法偵測 primer-dimer 或 reagent 汙染。
Without no-RT, you cannot distinguish mRNA signal from gDNA contamination; without NTC, you cannot detect primer-dimers or reagent contamination.
❌ 技術重複當生物 n
3 個技術 well ≠ n=3。生物 n 是獨立樣本/動物/培養盤,技術重複只反映管內變異。統計報告須清楚標示。
Three technical wells ≠ n=3. Biological n means independent samples/animals/plates; technical replicates only capture pipetting variation. State both clearly.
🎯 章末小測驗
1. 標準曲線 slope = −3.10,計算的 PCR 效率最接近?
2. 下列何者是 MIQE 2.0 與原版的新增要求?
3. 統計檢定 fold change 應用何種轉換?