1、批次效应概述

我记得刚入行做生物信息分析那会儿,接过一个转录组项目。样本量不大,就二十几个,但测序分了两批做。结果PCA一画,第一批和第二批的样本乖乖分成了两群,压根不按实验分组来。当时我盯着那张图,心里直发毛——这数据还能用吗?

后来我才搞明白,这就是典型的批次效应(Batch Effect)。说白了,就是非生物学因素引入的系统性误差。它不是你的实验处理造成的,而是因为样本处理时间不同、试剂批号不同、操作人员不同这些“乱七八糟”的原因导致的。

什么是批次效应

批次效应,我更喜欢叫它“数据里的鬼影”。它藏在你的测量值里,跟你关心的生物学差异混在一起。你很难一眼看出来,但它实实在在影响着分析结果。

举个简单的例子。你测两组小鼠的基因表达,一组对照,一组给药。对照组和给药组各一半在第一周测,另一半在第二周测。结果你发现,不管给不给药,第二周测的样本表达量普遍偏高。这就是批次效应——时间这个批次变量,把你的数据“带歪”了。

概念 说明
生物学变异 你真正关心的差异,比如疾病vs正常、处理vs对照
技术变异 测量过程引入的噪声,但随机且可接受
批次效应 技术变异的一种,但具有系统性、非随机性,严重时会掩盖生物学信号

注意:批次效应和随机噪声是两码事。随机噪声你取平均能消掉,批次效应不行——它整整齐齐地偏向一个方向,你越想忽略它,它越给你捣乱。

为什么需要消除批次效应

这个问题我当年也问过导师。他的回答很直接:“你不消除它,它就会替你‘分析’数据。”

具体来说,有这三个原因:

  1. 假阳性暴增——你以为是差异基因,其实是批次差异。我踩过这个坑,汇报时被审稿人一眼看穿,场面一度很尴尬。
  2. 假阴性漏检——真实差异被批次噪声淹没,该发现的没发现。这对药物靶点筛选来说是致命的。
  3. 结果不可重复——别人用你的方法,换一批样本再做,完全复现不出来。你的文章谁还敢信?

你想想看,如果你花了大半年时间做了一个预测模型,结果换了个批次的数据就崩了,那前面的工作还有什么意义?所以,批次校正不是锦上添花,而是数据分析前必须做的基础工作。

批次变异的来源与影响

批次的来源太多了。我把它们归为几类,用表格列出来比较清楚:

来源类别 具体因素 影响程度
实验操作 不同操作人员、不同时间、不同仪器 高
试剂耗材 试剂批号、芯片批次、抗体差异 高
环境条件 温度、湿度、实验室搬迁 中
测序/检测 不同测序通道、不同运行轮次 高
数据预处理 不同软件版本、不同归一化参数 中

我个人的习惯是:在实验设计阶段就尽量把分组打散到各个批次中。比如你有两个处理组,每组10个样本,分两批做。那么每批各做5个对照组和5个处理组,而不是一批做一个组。这样可以减少批次效应与生物学因素的混淆,后续校正起来也简单得多。

不过,实验设计再完美,批次效应也几乎无法完全避免。这就是为什么我们需要统计学方法来做校正。LOESS回归归一化就是我比较喜欢的一种方法,因为它不假设数据的分布形态,灵活且稳健。

嗯,这里要注意一点:批次效应有一个特点,叫做“非平衡设计”时最麻烦。什么意思呢?就是如果某个批次里全是处理组样本,另一个批次里全是对照组样本,那批次效应和组别效应就完全纠缠在一起了,神仙也分不开。所以,实验设计一定要讲武德。

我曾经帮一个项目做数据审查,发现他们把所有对照样本放在一批送测,处理样本放另一批。我建议他们重做实验,把样本随机分配到两批中。虽然多花了点时间,但后续分析顺滑多了。有时候,早一步的谨慎胜过十步的补救。

下面这张图展示了批次效应是如何在数据中“嵌入”的,以及我们的校正目标是什么。

批次效应来源与校正目标 来源一:实验操作 ● 不同操作人员 ● 不同实验日期 ● 不同仪器设备 ● 不同试剂批次 来源二:检测平台 ● 不同测序批次 ● 不同芯片批次 ● 不同检测通道 ● 不同软件版本 校正方法 ✔ LOESS回归 ✔ 分位数归一化 ✔ ComBat ✔ limma 目标:去除技术引入的批次差异,保留真实的生物学信号 ⚠ 批次效应不消除 → 假阳性、假阴性、不可重复

批次效应的影响,我总结成一句话:它让你的数据“说谎”。你看到的不再是生物学真相,而是技术偏差。严重的时候,组间差异的1/3甚至一半都是批次效应贡献的。你想想看,这种情况下你找的差异基因,有多少是靠谱的?

我在做多中心数据整合时,这个问题尤其突出。不同实验室、不同时间点的数据合在一起,批次效应花样百出。有时候光靠简单的归一化根本搞不定,必须上更灵活的方法——这就是我们后面要讲的LOESS回归归一化派上用场的地方。

再次强调:批次校正是数据分析的“地基工程”。地基没打好,上面的楼再漂亮也是危楼。别问我怎么知道的——我当年交过不少学费。