1. 批次效应概述与来源归纳

说起批次效应,我在做肿瘤单细胞项目时没少跟它打交道。说白了,它就是不同实验批次带来的系统性技术变异,跟样本本身的生物学差异没啥关系。你想想看,同一个肿瘤样本,分两次做测序,结果可能看起来像两个完全不同的样本——这就是批次效应在捣鬼。

我刚开始处理单细胞数据时,就吃过这个亏。有一批肺癌样本,合并后UMAP聚类全按实验日期分开了,而不是按细胞类型。当时我还以为是发现了新的细胞亚群,兴奋了好几天……后来才意识到,这就是典型的批次效应。嗯,从那以后,我拿到任何多批次数据,第一件事就是检查批次效应。

核心要点:批次效应是技术噪声,不是生物学信号。忽略它,你的分析结论可能全是错的。

1.1 什么是批次效应

批次效应(Batch Effect)是指由于实验操作、试剂、仪器、时间等非生物学因素导致的系统性数据偏移。在单细胞转录组学中,这种效应表现为不同批次间相同细胞类型的表达谱出现系统性差异。

我个人的理解更简单:同一类细胞,在不同批次里测出来不一样。这不是细胞变了,是实验条件变了。

从数学上看,假设真实生物学信号为 Xbio,批次效应为 B,观测数据 Xobs = Xbio + B + ε。我们的目标就是把 B 剥离掉,留下真实的 Xbio。

1.2 批次效应的常见来源

我在项目中归纳过,批次效应的来源大致分五类。下面这张表总结得比较全:

来源类别 具体因素 影响程度
实验操作 不同人员操作、解离时间差异、细胞活力波动 高
试剂批次 10x 试剂盒版本、抗体批号、酶批次差异 高
测序平台 Illumina NovaSeq vs. HiSeq、测序深度不同 中
样本处理 冻存 vs. 新鲜样本、组织保存时间、运输条件 高
环境因素 实验室温度、湿度、操作台洁净度 低-中

实验操作差异是我遇到最多的情况。不同的人解离同一类组织,细胞存活率能差20%以上。存活率低的样本,死细胞释放的RNA会污染活细胞,导致表达谱偏移。

试剂批次问题也很常见。我记得有一次,同一个项目前后用了两批10x v3试剂盒,相同细胞类型的Marker基因表达量差了30%。如果不做批次校正,合并后直接聚类,两个批次会完全分开。

测序平台的影响相对小一些,但也不能忽视。NovaSeq的读长和测序深度通常比HiSeq高,这会导致基因检出率不同,尤其是低表达基因。

避坑指南:我曾经遇到过一批样本,组织在液氮里冻了半年才做测序。结果这批样本的线粒体基因比例异常高,聚类时单独成一团。这不是生物学差异,是样本质量不合格导致的批次效应。所以,样本处理条件一定要在实验设计阶段就统一。

1.3 如何识别批次效应

识别批次效应,我通常三板斧:

  1. PCA 可视化——看主成分上样本是否按批次聚集
  2. UMAP/t-SNE 聚类——看细胞是否按批次而非细胞类型分开
  3. 统计检验——计算批次间相同细胞类型的差异表达基因数量

第一板斧最快。我拿到数据后,第一件事就是跑PCA,用颜色标记不同的批次。如果PC1或PC2上批次明显分开,那批次效应基本实锤了。

举个例子,用Scanpy做批次效应检查的代码长这样:

import scanpy as sc

adata = sc.read_h5ad('tumor_samples.h5ad')
sc.pp.normalize_total(adata, target_sum=1e4)
sc.pp.log1p(adata)
sc.tl.pca(adata, n_comps=30)
sc.pl.pca(adata, color='batch', title='PCA colored by batch')

跑完之后,如果图上不同颜色的点各自抱团,那就是典型的批次效应。如下图左侧那种情况:

除了可视化,我还会用定量指标来确认。计算每个细胞在PC1上的投影值,然后用ANOVA检验不同批次间的均值差异。p值小于0.01,基本可以判定存在显著批次效应。

我的习惯:在项目一开始就建好批次记录表,包括样本ID、实验日期、操作人员、试剂批号、测序平台等信息。这样出现批次效应时,溯源特别快。不做记录,后期排查就是大海捞针。

1.4 批次效应对肿瘤研究的危害

在肿瘤单细胞研究中,批次效应的危害是致命的。我归纳了三点:

  • 掩盖真实信号:肿瘤异质性本来就复杂,批次效应会把微弱的肿瘤亚群信号淹没掉。比如,一个稀有克隆只占1%的细胞,如果批次效应造成5%的噪声,这个克隆就根本看不到。
  • 制造假阳性:批次效应会让不同批次的相同细胞类型看起来像不同亚群。我见过有人把两个批次的T细胞聚类成"两种新的T细胞亚型",其实就是批次效应。
  • 破坏可比性:治疗前后对比、肿瘤vs正常对照,如果样本分布在不同的批次里,批次效应会扭曲差异分析结果。你发现的"差异基因",可能只是批次间的技术差异。

说白了,批次效应不消除,你后续所有的差异分析、聚类分析、轨迹推断,都可能是建立在一堆技术噪声之上。结论发出去,别人根本复现不了。

1.5 一个典型场景

讲一个我在项目中真实遇到的场景。一个肺癌研究,共12个样本,分3个批次处理:

  • 批次A:4个肿瘤样本,2023年3月处理,操作人员甲
  • 批次B:4个肿瘤样本,2023年4月处理,操作人员乙
  • 批次C:4个正常对照样本,2023年5月处理,操作人员甲

合并数据后,我做了PCA,结果如下:

PCA结果:PC1解释了18%的方差,PC2解释了9%
批次A和批次B在PC1上明显分开
批次C夹在中间,但偏向批次A
肿瘤细胞和正常细胞没有分开,反而被批次混在一起

这个案例里,批次效应不仅把相同类型的肿瘤细胞分开了,还把肿瘤和正常样本的生物学差异给掩盖了。如果不做校正,你根本无法区分哪些差异是肿瘤vs正常,哪些是批次带来的。

我当时花了一周时间对比了多种批次校正方法,最后用Harmony + 基于参考的校正才把数据拉平。这件事让我深刻认识到:批次效应不是"要不要处理"的问题,而是"怎么处理更好"的问题。

教训总结:批次效应识别要早,处理要狠。一旦发现批次效应,不要犹豫,立刻上校正方法。拖得越久,后续分析受到的污染就越深。

批次效应知识体系 批次效应 来源 实验操作差异 试剂批次不同 测序平台差异 样本处理不一致 环境因素波动 识别方法 PCA可视化检查 UMAP/t-SNE聚类 差异表达基因统计 ANOVA检验 负面影响 掩盖真实肿瘤亚群 制造假阳性差异 破坏组间可比性 结论不可复现 消除策略 Harmony / ComBat / 参考校正 核心思路 先识别→再消除→最后验证。不要跳过任何一步。

上面这张图是我自己整理批次效应知识体系时画的框架。你可以看到,批次效应的来源是根因,识别方法是诊断工具,负面影响是必须处理的原因,消除策略是解决方案。这四部分构成了完整的批次效应处理闭环。后续章节我们会逐一深入每个消除策略的具体实现。

实操建议:新建一个单细胞项目时,第一时间建立批次记录表。每收到一批样本,就记录好日期、人员、试剂批号、测序平台。这个习惯帮我省掉了至少80%的排查时间。