用途:在归一化对数强度矩阵上寻找条件间差异丰度蛋白,负责统计检验环节,包括设计/对比构建、方差调节、缺失值处理、多重检验校正、最小倍数变化检验和倍数变化收缩。肽段到蛋白汇总与归一化、火山图/MA图、富集分析均不在范围内。
主要能力:limma 的经验贝叶斯调节 t 检验,trend=TRUE 使先验随平均强度变化(无标定量推荐强制启用),robust=TRUE 对异常方差做 Winsorize;DEqMS 的 spectraCounteBayes 按 PSM/肽段计数设定先验方差,适用于定量深度不均;proDA 用概率 dropout 模型处理 MNAR 缺失,不做插补;msqrob2 肽段级稳健岭回归;MSstats 特征级线性混合模型;ashr 用混合先验收缩效应量。
必要用法:limma 以 lmFit、makeContrasts、contrasts.fit、eBayes 建拟合,用 topTable 取 BH 校正结果;批次作为协变量写入设计(~ batch + condition),不要把 removeBatchEffect 输出喂给 lmFit。最小倍数变化用 treat() 配合 topTreat(),不要用 topTable(lfc=) 或 abs(logFC)>1 叠加 padj<0.05 的双重过滤。DEqMS 需在 eBayes 后挂 count 向量再运行 spectraCounteBayes。proDA 用 proDA() 拟合后 test_diff() 检验。Python 路径用 scipy.stats.ttest_ind(equal_var=False) 加 statsmodels BH,仅在每组样本量大于 10 时可用。
适用场景:n=3-5 的蛋白级汇总矩阵默认用 limma eBayes(trend=TRUE, robust=TRUE);存在 PSM/肽段计数时升级到 DEqMS;缺失严重且与强度相关时升级到 proDA;有离群肽段或不均衡覆盖用 msqrob2;技术重复、嵌套/重复测量或标记定量用 MSstats。
限制:小样本下简单 t 检验不可用;插补尤其 downshift 会造成系统假阳性(火山图翼状伪影);kNN 插补对 MNAR 数据会掩盖真实下调;proDA 不适用于 MCAR 缺失;trend=FALSE 会导致 FDR 跨丰度区间失准;FC 加显著性双重过滤会因共线效应使实际 FDR 超过 50%。参考版本 limma 3.58+、DEqMS 1.20+、proDA 1.20+、ashr 2.2+、pandas 2.2+、scipy 1.12+、statsmodels 0.14+,使用前需核对版本。