單細胞定序數據標準化 (Normalization)

消除技術偏差,揭示真實的生物學差異。探索從傳統縮放方法到現代主流 SCTransform 的演進與實踐。

1. 為什麼需要標準化?

本區塊介紹了在 scRNA-seq 實驗中不可避免的技術干擾。在實驗過程中,即使是相同的細胞,也會因為以下技術原因導致觀測到的 Read Counts (基因計數) 不同。標準化的核心任務就是校正這些誤差,確保後續分析的準確性。請點擊或懸停卡片以了解各項技術變異的細節。

📊

定序深度

(Sequencing Depth)

不同細胞在測序儀上獲得的總 Reads 數不同,導致整體信號強度的基線差異。

🧲

捕獲效率

(Capture Efficiency)

不同細胞在逆轉錄成 cDNA 或文庫備製過程中的效率存在隨機差異,並非每個 RNA 分子都能被成功捕獲。

💧

液滴大小

(Droplet Size)

在 10x Genomics 等基於微流控的技術中,每個液滴 (Droplet) 包含的試劑量可能有微小差異,影響反應效率。

🧬

RNA 含量差異

(RNA Content)

不同大小或類型的細胞(如靜止的淋巴細胞 vs. 活躍分裂的腫瘤細胞)本身攜帶的總體 RNA 絕對量就不同。

2. 標準化演算法的演進與數據分佈

本區塊展示不同標準化方法如何改變數據的數學分布。單細胞數據極度稀疏(充滿 0),傳統的縮放方法逐漸顯露不足,促使了基於模型的進階演算法誕生。點擊下方按鈕,觀察圖表中數據分佈(模擬概念)的變化,這有助於直觀理解各方法的數學特性。

LogNormalize (Seurat 默認方法)

這是最常用的基礎方法。計算邏輯:將每個細胞的基因計數除以該細胞的總計數 (Scaling),乘以一個比例因子通常為 10,000 (Multiply),最後進行 log(x + 1) 轉換。

優點: 簡單快速,能壓縮高表達基因的動態範圍。 缺點: 無法完全處理單細胞數據中常見的「過度離散」(Over-dispersion)問題。

3. 關鍵步驟與特性比較矩陣

本表格對比了三種主要標準化方法的核心邏輯與適用場景。您可以根據實驗設計(如細胞異質性高低、樣本規模)和計算資源,參考此矩陣選擇最適合的處理方式。

特性 LogNormalize Scran (Deconvolution) SCTransform
核心邏輯 線性縮放 + 對數轉換 基於細胞池 (Pool) 的解卷積 正則化負二項回歸殘差
計算速度 極快 中等 較慢 (需建模)
數據分布 壓縮長尾分布 保持線性關係 中心化且單位化
適用場景與評價 快速探索、簡單數據結構 處理細胞間 RNA 總含量差異極大的數據 目前的主流標準,效果最穩健,特徵選擇極佳

4. 建議的標準化工作流

針對使用 R 語言 Seurat 套件的分析者,以下是目前公認能提供最乾淨、生物學特徵最明顯結果的標準路徑。此工作流整合了過濾、建模與降維。

1

初步過濾 (Quality Control)

除去線粒體比例過高 (可能為死細胞或破裂細胞) 或總基因數過少 (空液滴或低品質細胞) 的無效數據。

2

執行 SCTransform

利用負二項回歸模型過濾技術雜訊,不需要人為設定 Scaling factor。

SCTransform(object, vars.to.regress = "percent.mt")
3

降維與聚類

利用 SCTransform 產生的 Pearson Residuals 直接進行主成分分析與細胞分群。

RunPCA(object) %>% FindNeighbors()

5. 常見問題與注意事項

在解讀標準化後的數據時,常會遇到一些觀念上的混淆。展開下方問題以了解分析時必須避免的陷阱。

Normalization 和 Scaling 是一樣的嗎?
  • Normalization (標準化): 通常指處理定序深度的差異,讓不同細胞的表達量基線一致。
  • Scaling (縮放):(如 Seurat 中的 `ScaleData`)是指將基因表達量調整為平均值 0、方差 1 (Z-score 轉換)。主要是為了給 PCA 降維使用,確保高表達基因不會主導主成分的計算。
標準化後的數值可以絕對信任嗎?
請勿過度解讀! 所有的標準化本質上都是數學模擬與推斷。特別是針對極端低表達的基因,在經過對數轉換或模型擬合後,可能會產生假陽性的信號。始終需要結合生物學背景進行驗證。
標準化能解決批次效應 (Batch Effect) 嗎?
不能。 標準化主要是處理單個樣本內的技術差異。如果您的數據來自不同的實驗批次、不同的測序時間或不同的人員操作,標準化無法消除這些系統性偏差。在標準化之後,仍必須進行專門的 數據整合 (Integration/Batch Correction) 步驟,例如使用 Harmony, RPCA 或 scVI 演算法。