3. 批次效应概述:它到底是什么,从哪来?

各位,我们先不急着谈具体怎么检测、怎么校正。你得先理解一个概念——批次效应。

说实话,我最早接触这个术语的时候,觉得它挺唬人的。但说白了,它就是个系统性偏差。你想想看,我们做基因组注释,尤其是那种大规模的RNA-seq或者WGS项目,样品不可能一天做完、在一个机器上跑完吧?只要是分批次做的,就一定会引入非生物学差异。

为什么会这样?因为实验条件、操作人员、试剂批次、测序仪器,这些变量每换一次,就会在数据里留下“指纹”。这个指纹,就是批次效应。

3.1 批次效应的定义

我习惯这么理解它:批次效应 = 技术重复间不应有的系统性差异。

举个最简单的例子。你把同一个个体的同一样本,在第一周和第二周各测一次。理论上,这两次的结果应该高度一致。但实际呢?你大概率能看到几千个基因的表达量有波动。这种波动,就是批次效应。它不是生物学差异,纯粹是技术噪声。

我有个教训挺深刻的。曾经我接手一个项目,处理的是三个不同中心的RNA-seq数据。结果一跑PCA,咦?第一主成分分得清清楚楚,三个中心各成一团。我还以为是生物学差异,查了半天,最后发现是建库试剂盒批次不同。嗯,从那时候起,我再也不敢轻视批次效应了。

核心定义:批次效应是实验分组(批次)中引入的非生物学协变量,会导致方差膨胀和假阳性增加。

3.2 常见产生原因

批次效应的来源,我总结下来有三大类。咱们一个个看。

3.2.1 实验批次

这是最直接的。你一个项目分几个月做完,每次的实验条件不可能完全一样。

  • 试剂批次:同一款建库试剂盒,不同批次的酶活性和接头浓度会有微小差异。我之前做过一个对比,同一RNA样本用两批不同批号的建库试剂,产生的cDNA产量差了大概15%。
  • 操作人员:不同人的加样习惯、孵育时间控制,会引入随机波动。
  • 实验室环境:温度、湿度,甚至实验室的空气质量,都会对酶促反应产生细微影响。

你想想看,如果你在一个冬天和夏天各跑一批样本,室内温度差了十几度,这个过程会一样吗?显然不会。

3.2.2 测序批次

样本建好库之后,上机测序这一关更是重灾区。

来源 典型表现 影响程度
Flow cell 差异 不同flow cell上,簇生成密度不同 中等
Lane 差异 同个flow cell的不同lane,扩增偏好不同 较低
索引(index) 效应 不同index之间存在交叉污染或偏向 高
测序仪器差异 不同型号(如HiSeq vs. NovaSeq)读长、碱基质量不同 非常高

我遇到过最典型的情况是:一个项目用了两种测序平台。一部分在HiSeq 4000上跑,另一部分在NovaSeq 6000上跑。结果呢?表达量矩阵里,同一个基因居然能差2-3倍。这不校正,直接合并分析的话,那结果就是一团垃圾。

3.2.3 建库批次

这是很多人容易忽略的。建库过程本身就会引入批次效应。

  • 建库试剂盒类型:PolyA捕获 vs. rRNA去除 vs. 总RNA建库,得到的转录本覆盖度完全不同。
  • 建库时间:隔了几个月再建的一批库,RNA完整性可能已经下降。
  • PCR扩增轮数:扩增轮数多的样本,GC偏好更明显。
个人小建议:如果你是做大项目,一定要提前做好批次的平衡设计。比如,把对照和处理组平均分配到每一个批次里,不要一股脑先把对照组做完再做处理组。否则,你根本分不清差异是处理引起的还是批次引起的。

3.3 批次效应的核心挑战

你可能会问:批次效应这么明显,把它去掉不就行了?

其实没那么简单。难点在于:批次效应常常与生物学差异混杂在一起。

举个例子。你想研究一种疾病,从医院收集了患病组和对照组样本。但患病组都是在今年收集的,对照组是去年的样本。这时候,如果做个差异分析,你找到的差异基因到底是疾病导致的,还是年份不同带来的批次效应?

这个问题是无解的。一旦批次和生物学分组完全混杂,任何统计学方法都无法把两者分开。所以,我在做项目规划时,一定会要求:批次内尽可能包含所有生物学分组。这是最基本的前提。

下面这张图,帮你直观理解批次效应的来源和它们之间的层级关系。

批次效应来源层级图 批次效应 实验批次 测序批次 建库批次 试剂批次 操作人员 环境条件 Flow cell Lane 差异 仪器类型 试剂盒类型 建库时间 PCR 轮数 ⚠ 关键原则:批次效应若与生物学分组完全混杂,则无法通过统计方法分离

3.4 一句话总结

批次效应不是洪水猛兽。它是个客观存在。你只要有心理准备,在实验设计阶段就做好应对,后面用合适的工具去检测和校正,就没有大问题。

我个人最喜欢的做法是:实验前写好批次分配表,实验后第一时间检查主成分图。只要看到PC1上按采样时间或测序批次分团,我就知道,该出手了。

避坑指南:千万不要在发现批次效应后,直接删除一个批次的全部样本。我曾经见过有人因为某批次数据质量差,直接把整个批次扔掉。结果导致某个处理组样本量不足,项目直接废掉。正确的做法是评估批次效应的大小,然后用合适的工具做校正。