第2章 差异表达分析概述与实验设计归纳总结

差异表达分析,说白了就是找出在不同条件下真正发生变化的蛋白质。我刚开始接触蛋白质组学时,以为只要跑完质谱、拿到定量值,直接做个t检验就完事了。结果呢?假阳性率高得吓人,重复性也差。后来才明白——实验设计这一步没走对,后面再好的统计方法也救不回来。

这一章,我们就聊聊差异表达分析的基本框架,以及实验设计里的那些关键坑。你想想看,数据挖掘就像盖房子,实验设计就是地基。地基歪了,房子再漂亮也没用。

2.1 什么是差异表达分析

差异表达分析的目标很简单:从上千个蛋白质里,揪出那些在两组或多组样本间丰度显著变化的蛋白。这里有个核心问题——「显著」怎么定义?不能光看倍数变化,还得考虑统计上的可靠性。

整体流程大致是:

  • 数据预处理:缺失值填充、归一化、对数变换
  • 统计检验:t检验、ANOVA、秩和检验等
  • 多重假设校正:控制假发现率(FDR)
  • 阈值筛选:一般以|log2FC| > 1 且 校正后p值 < 0.05 为准

但别急着套公式。我在一个项目中遇到过,两组样本的批次效应非常明显,归一化后差异蛋白一大堆,最后发现全是批次假象。嗯,这里要注意:实验设计要提前规划好批次混匀。

2.2 实验设计的基本原则

好的实验设计,三个关键词:重复、随机化、对照。

原则 解释 我的踩坑经验
生物学重复 至少3个独立样本,不是技术重复 有人用同一样本分三份跑质谱,这算技术重复,统计上等于没重复
随机化 样本处理顺序、上机批次随机分配 我曾经把所有对照组放在第一批处理,处理组放第二批,结果批次效应和组效应完全混杂
对照设置 匹配的对照(如野生型 vs 敲除,给药前 vs 给药后) 对照缺失或不对应,差异分析意义全无

还有一个容易被忽略的点:批次效应。蛋白质组学的质谱实验,不同批次间的定量偏差远大于生物学变异。如果你不能把各组的样本均匀分布到每个批次,那差异分析就变成了批次比较。

个人习惯:我在做实验设计时,会先画一个批次-样本分配表,确保每个批次里都包含所有组的样本。必要时用随机数生成器打乱顺序。

2.3 常见实验设计类型

不同研究问题,实验设计也不同。下面三种是最常见的:

2.3.1 成对比较(两组)

最常见:比如疾病 vs 健康、处理 vs 对照。统计方法首选Welsh t检验(不假设方差齐性)。样本量够大时也可以用limma或DEP包中的经验贝叶斯方法,精度更高。

2.3.2 多组比较(三组及以上)

比如WT、KO、OE三个基因型。直接用两两t检验会膨胀假阳性,正确做法是先用ANOVA(或Kruskal-Wallis)做整体检验,再通过Tukey HSD或Dunnett检验做两两比较。

注意:ANOVA假设数据正态且方差齐,蛋白质组学数据常不符合。我建议先用非参数检验打底,再用permutation检验做验证。

2.3.3 时间序列或剂量梯度

比如0h、6h、12h、24h四个时间点。传统做法是每个时间点与0h比较,但会丢失趋势信息。更好的方案用线性混合模型或Mfuzz聚类,把有相同变化模式的蛋白归为一类。

下面这个表格帮你快速对号入座:

设计类型 适用场景 推荐统计方法 注意事项
两组比较 疾病/处理 vs 对照 t检验、limma、DEP 确认方差齐性,小心离群值
多组比较 多基因型、多条件 ANOVA + 事后检验 整体检验后做多重比较
时间序列 动态变化研究 线性混合模型、Mfuzz 缺失时间点要小心插补

2.4 统计方法选择要点

选方法不是越复杂越好。我给你一个简单的决策逻辑:

  1. 检查数据分布:对数变换后看直方图,是否近似正态?如果偏态严重,用非参数(Wilcoxon秩和检验)。
  2. 样本量:每组小于5个时,参数检验效力下降,建议用permutation检验或贝叶斯方法。
  3. 多重检验校正:蛋白质组动辄几千个蛋白,不校正等于自杀。优先用Benjamini-Hochberg控制FDR,Bonferroni过于保守。

举个例子,在R里用DEP包做差异分析时,我会这样写:

library(DEP)
# 假设表达式矩阵为se,实验设计已存在
results <- test_diff(se, type = "manual",
                     contrasts = c("treated_vs_control = treated - control"))
dep_results <- add_rejections(results, alpha = 0.05, lfc = 1)

这里的关键参数是alpha(校正后p值阈值)和lfc(log2倍数变化阈值)。我一般先设宽松一点(比如0.1和0.5),跑完富集分析再收紧。

2.5 避坑指南

这些年我见过太多翻车的案例,总结成三条:

  • 假重复:用同一个样本分三次进样。技术上重复性再好,也不能代表生物学变异。必须用独立的生物样本。
  • 混杂因素:比如药物处理组和对照组分别在不同月份采集、不同人操作。差异分析结果只是操作差异。
  • 只看p值不看效应量:有时候p值很小但倍数变化只有1.1倍,生物学意义有限。我个人习惯同时看效应量和p值。

我曾经……帮一个合作者复现数据,发现他们用同一个细胞系不同传代次数当重复,结果差异蛋白都跟传代相关,跟处理无关。白白浪费了三个月时间。所以实验设计阶段一定要把重复的来源写清楚。

最后,把本章的核心逻辑理在一张图里。你可以跟着这个流程检查自己的实验设计是否过关。

差异表达分析实验设计流程(决策树) 明确实验目标 两组比较设计 多组比较设计 时间序列设计 关键要素 重复≥3/组 批次内均分样本 关键要素 ANOVA+事后检验 注意方差齐性 关键要素 趋势聚类 缺失值处理 数据分析通用步骤 数据预处理(缺失值插补、归一化、对数变换) 统计检验(t检验 / ANOVA / 秩和检验) 多重假设校正(BH控制FDR) 差异表达蛋白列表 |log2FC|>1 & 校正p值<0.05 ⚠️ 核心原则: 实验设计决定分析结果的有效性。重复不足、批次混杂、对照缺失,再好的算法也救不回来。

先花半小时把你自己的实验设计套进这个流程图里,哪个环节缺了补上。相信我,后面筛选差异蛋白时会省下大量返工时间。