scRNA-seq 計算分析涉及從稀疏高維 count data 中提取生物學信號的統計方法學,以及大規模數據的工程挑戰。
Count matrix 的生成與品質
10x Chromium 的 cell barcode 解碼依賴 whitelist matching(~750,000 預定義 barcodes)。Cell Ranger 的 cell calling 使用 EmptyDrops(Lun et al., 2019)——基於 Dirichlet-multinomial 混合模型區分含細胞液滴和環境 RNA 液滴的 barcode profile。Ambient RNA contamination 可用 SoupX 或 CellBender(variational inference-based)進行後續校正,估計每個基因在環境 RNA 中的比例並從 counts 中扣除。
Doublet detection 的計算策略
Scrublet(Wolock et al., 2019)透過人工創建 doublets(隨機混合兩個 cell profiles)並在嵌入空間中計算每個真實細胞附近人工 doublet 的比例來評分。DoubletFinder 採用類似策略但在 PCA 空間中操作。Multi-sample experiments 可以使用 genotype-based demultiplexing(如 Vireo、demuxlet)直接鑑定跨個體的 doublets。
Normalization 的理論考量
scran pooling:將細胞隨機分成 pools,用 pool-level size factors 建立線性方程組求解 cell-level size factors,處理零膨脹問題比 per-cell total count 更穩健。sctransform(Hafemeister & Satija, 2019)對每個基因擬合 regularized NB GLM(UMI count ~ log(total UMI)),殘差即為技術去噪後的表現值。Lause et al.(2021)的 analytic Pearson residuals 提供了數學上更簡潔的替代。
Benchmark 與方法選擇
Luecken et al.(2022, Nature Methods)的 scIB benchmark 系統性評估了 14 種整合方法在 85 個指標上的表現。scANVI(semi-supervised)和 scVI(unsupervised)在整體表現上領先,但 Harmony 在計算效率和表現的平衡上最優。Cell type annotation 的 benchmark(Abdelaal et al., 2019)顯示 supervised methods(如 scPoli、CellTypist)在有高品質 reference 時表現最佳。
Pseudobulk 策略
直接在單細胞層級做差異表現(per-cell DE)會嚴重膨脹 Type I error,因為同一個體的細胞不是獨立觀測。正確做法是 pseudobulk aggregation——先按 sample × cell type 匯總 counts,再用 DESeq2/edgeR 在 sample 層級進行統計檢驗(Squair et al., 2021; Murphy & Skene, 2022)。這確保了統計推論的基本單位是生物重複(individual),而非技術重複(cell)。
