3、批次效应来源分析:实验批次、测序深度、组织切片差异、病理处理等原因

做空间转录组分析的人,十有八九都会栽在批次效应上。我刚入行那会儿也踩过坑——明明是同一套组织切片,跑了两个批次,结果聚类图直接分成了两坨,还以为发现了什么新细胞亚型。后来才明白,这根本就是批次效应。

说白了,批次效应就是那些“非生物学差异”在数据里留下的痕迹。你想想看,实验室环境、试剂批号、操作人、测序仪、甚至当天的湿度,都能悄无声息地污染你的数据。下面我按最常见的几个来源,一个一个拆开聊。

3.1 实验批次带来的系统偏差

实验批次是最明显的效应来源。同一台Visium芯片,今天做和下周做,结果可能就不一样。我见过最夸张的一次,两个批次用同一只小鼠的连续切片,结果差异大到跟不同物种似的。

主要表现:

  • 不同批次spot的UMI总数整体偏移
  • 基因检测数量系统性差异
  • 聚类后样本按批次分开而不是按生物学分组

为什么会这样?因为实验流程中任何一步的波动都会累积。比如组织透化时间差几秒,捕获效率就差一截。再比如逆转录酶的批次不同,反转录效率能差30%。这些在单细胞数据里也常见,但在空间数据里更头疼——因为每个spot的信息量本来就小,批次效应容易被放大。

个人习惯: 我每次拿到新批次数据,第一件事就是画UMI分布箱线图和基因数分布图。如果两个批次的箱体错开超过20%,别急着往下跑流程,先把批次校正提上日程。

3.2 测序深度差异

测序深度这个事儿,说简单也简单,说复杂也复杂。两个批次,一个跑了50k reads/spot,一个跑了200k reads/spot,那肯定不能直接放在一起比。UMI count差好几倍,这不叫生物学差异,这叫“有钱和没钱”的差异。

但我遇到过一个更隐蔽的情况:同一批次里,芯片不同区域的spot测序深度也不一样。这是因为测序时的文库扩增偏好或者流动槽的位置效应。嗯,这种情况如果不注意,局部差异会被误判成空间表达梯度。

辨别方法:

  1. 检查每个sample的library size(总UMI数)。如果不同批次差太多,就要考虑用ScTransform或者downsample到统一深度。
  2. 看spot-level的测序饱和度曲线。饱和度低的批次噪音大,饱和度高但深度低的批次可能丢失稀有转录本。
  3. 对比基因检测数 vs UMI数的散点图。两个批次的点云如果不重叠,说明测序深度效应已经干扰到数据可比性。
我曾踩过的坑: 有一次我直接对两个不同测序深度的批次做harmony校正,结果校正后基因表达分布被拉平了,但真正有生物学意义的区域差异反而被抹掉。后来我才意识到,必须先做library size归一化,再考虑批次校正。顺序不能乱。

常用深度校正策略对比:

方法适用场景缺点
Downsample至统一depth深度差异<2倍,数据量充足丢失高深度批次的信噪比优势
SCTransform深度差异大,且伴随基因均值-方差关系变化计算慢,不适用于超大数据集
Linnorm空间数据,保留稀疏性对零膨胀敏感

3.3 组织切片差异

这个来源是空间转录组特有的。同样是乳腺癌组织,不同切片的细胞密度、RNA完整度、切面角度都可能不一样。我遇到过两个批次,一个切片厚度15µm,一个切片厚度10µm,出来的UMI总数差了两倍多。后来才知道,切片机在换刀片后厚度校准没做。

表现特征:

  • 同一组织区域在不同切片上的spot表达谱明显偏移
  • 组织边缘或坏死区域的spot差异更明显
  • 切片质量差(如褶皱、气泡)的区域整体信号弱

怎么事前控制:

  • 切片前统一脱水、包埋、切片厚度
  • 同一实验的所有切片由同一个人在同一台切片机上完成
  • 用H&E染色检查切片完整性,有问题的提前排除

但是实验过程中总有意想不到的事。有一次液氮罐停电,组织在室温多放了两小时,再切片时RNA已经降解了一大半。所以我也建议,每个切片都留一小块做RNA质量抽检,RIN值低于7的直接放弃。

关键辨别指标: 我常用两个指标快速判断切片差异——线粒体基因占比和核糖体基因占比。如果某个切片整体线粒体比例偏高,多半是细胞破损或RNA降解,和生物学无关。这时候需要先去除这些质量差的spot,再做批次校正。

3.4 病理处理差异

病理处理是另一个容易被忽略的源头。OCT包埋、固定、染色、封片,每一步都有坑。举个例子,OCT包埋时如果组织冻得太快,会形成冰晶,破坏组织形态,也影响RNA捕获。再比如,H&E染色染色液批次不同,染出来的颜色深浅都会影响组织区域划分。

常见病理处理差异类型:

处理步骤差异来源对空间数据的影响
OCT包埋冻速、包埋液品牌冰晶导致RNA分布不均
切片固定固定液浓度、时间RNA交联过度或不足,影响捕获效率
透化酶浓度、时间透化过度释放RNA,透化不足释放不够
H&E染色染色液批次、染色时间影响组织区域分割精度

我建议,在开始大规模实验前,先用两个病理处理条件做预实验,看看哪个条件更稳定。如果一个实验室同时有几个人做空间实验,最好统一病理处理SOP,并且每次换试剂批号后都做一个小验证。

空间转录组批次效应来源总览 批次效应 实验批次差异 测序深度差异 组织切片差异 病理处理差异 实验批次差异因素 • 试剂批号变化 • 操作人员不同 • 环境温度/湿度 • 仪器状态波动 测序深度差异因素 • 文库浓度不同 • 测序平台/芯片差异 • 流动槽位置效应 • 扩增循环数不同 组织切片差异因素 • 切片厚度不一 • 细胞密度不同 • RNA完整度(RIN) • 切面角度/区域 病理处理差异
避坑小经验: 我建议数据分析流程里加一个“批次效应预检”步骤。具体做法:取每个样本500个最高表达基因,计算两两之间的Spearman相关系数。如果不同批次的样本间相关系数明显低于同批次内(比如同批次内r>0.9,批次间r<0.7),那八成是有批次效应,赶紧做校正。

最后提一嘴,批次效应不一定是坏事。有时候它反而能帮你发现实验过程中的系统问题。比如,同一批次的样本聚类在一起,说明实验操作的一致性高;如果同一个生物学分组的样本跨批次分散,而且和批次标签重叠,那就说明数据不能用。我一般会先画一个UMAP,用批次信息着色,看看有没有明显的条带或簇分离。如果分离明显,再结合上面的表格逐步排查是哪个来源。

记住,批次效应校正不是万能药。如果来源是切片质量或RNA降解,校正算法也很难把信号捞回来。所以我的原则是:事前控制重于事后校正。实验设计阶段就想清楚怎么避免批次差异,比后期绞尽脑汁调参数要划算得多。

特别提醒: 不要在没排查清楚前就盲目用校正算法。我曾经见过有人对两个来自不同物种的切片做批次校正,结果算法强行把差异拉平了,生物学信号全毁了。批次校正的前提是:假设批次间存在共同生物学变异。如果连共同变异都没有,校正就是捣乱。