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) 轉換。
3. 關鍵步驟與特性比較矩陣
本表格對比了三種主要標準化方法的核心邏輯與適用場景。您可以根據實驗設計(如細胞異質性高低、樣本規模)和計算資源,參考此矩陣選擇最適合的處理方式。
| 特性 | LogNormalize | Scran (Deconvolution) | SCTransform |
|---|---|---|---|
| 核心邏輯 | 線性縮放 + 對數轉換 | 基於細胞池 (Pool) 的解卷積 | 正則化負二項回歸殘差 |
| 計算速度 | 極快 | 中等 | 較慢 (需建模) |
| 數據分布 | 壓縮長尾分布 | 保持線性關係 | 中心化且單位化 |
| 適用場景與評價 | 快速探索、簡單數據結構 | 處理細胞間 RNA 總含量差異極大的數據 | 目前的主流標準,效果最穩健,特徵選擇極佳 |
4. 建議的標準化工作流
針對使用 R 語言 Seurat 套件的分析者,以下是目前公認能提供最乾淨、生物學特徵最明顯結果的標準路徑。此工作流整合了過濾、建模與降維。
初步過濾 (Quality Control)
除去線粒體比例過高 (可能為死細胞或破裂細胞) 或總基因數過少 (空液滴或低品質細胞) 的無效數據。
執行 SCTransform
利用負二項回歸模型過濾技術雜訊,不需要人為設定 Scaling factor。
SCTransform(object, vars.to.regress = "percent.mt")
降維與聚類
利用 SCTransform 產生的 Pearson Residuals 直接進行主成分分析與細胞分群。
RunPCA(object) %>% FindNeighbors()
5. 常見問題與注意事項
在解讀標準化後的數據時,常會遇到一些觀念上的混淆。展開下方問題以了解分析時必須避免的陷阱。
Normalization 和 Scaling 是一樣的嗎? ▼
- Normalization (標準化): 通常指處理定序深度的差異,讓不同細胞的表達量基線一致。
- Scaling (縮放):(如 Seurat 中的 `ScaleData`)是指將基因表達量調整為平均值 0、方差 1 (Z-score 轉換)。主要是為了給 PCA 降維使用,確保高表達基因不會主導主成分的計算。