用途:为 RNA-seq 计数矩阵选择与下游任务匹配的标准化或变换方法。差异表达用原始计数;跨样本比较用 TMM/RLE 缩放后的 CPM;可视化与机器学习用 VST/rlog;单细胞用 scran。
主要能力:
- 样本间标准化。DESeq2 用 RLE/中位数比值,estimateSizeFactors(),零多数据用 type='poscounts';edgeR 用 normLibSizes(),method='TMM' 或 TMMwsp,稀疏数据推荐 TMMwsp;另有 upperquartile 与 ERCC spike-in(SBN)。
- 样本内标准化。TPM/FPKM 用于样本内排序、去卷积与表达报告;不可作 DE 输入。
- 方差稳定变换。vst(dds, blind=FALSE) 快速,适合 n>30;rlog 较慢,适合 n<30 且文库差异大于 4 倍。仅供 PCA、热图、聚类、ML 特征,禁止输入 DE 工具。
- log-CPM。cpm(y, log=TRUE, prior.count=2),供 limma-trend 等使用。
- GC 与长度偏差。cqn 返回 offset 直接进入 GLM;EDASeq 做 lane 内与 lane 间校正,常用于跨平台整合与 GSEA。
- 单细胞。scran 先 quickCluster 再 computeSumFactors 与 logNormCounts;scanpy 用 sc.pp.normalize_total + sc.pp.log1p,较简单但对组成偏差不稳健。
必要用法与限制:TMM/RLE 假设大多数基因未变,在 MYC 扩增、凋亡、病毒宿主关闭、转录抑制、细胞周期同步及原核胁迫等多数基因真差异场景会失效,需改用 ERCC spike-in 或 controlGenes。tximport 的 lengthScaledTPM 不是 TPM,而是去长度偏差的计数尺度矩阵,供 limma-voom 使用。TPM 是组成型值,不能修复组成偏移。edgeR 需显式 filterByExpr,DESeq2 在 results() 自动独立过滤。单细胞数据不适用常规 TMM/RLE。版本:DESeq2 1.42+、edgeR 4.0+、limma 3.58+、pandas 2.2+、numpy 1.26+、scanpy 1.10+、scran/scater 1.30+、EDASeq 2.36+、cqn 1.48+。价格与平台支持暂未提供。