4. 实验室间差异来源:样本处理、测序平台、分析流程、参考基因组

咱们这行有个共识:没有完全一样的实验室。即便两家用同一款试剂、同一个牌子的机器,结果也能差出去一截。

我做过一次跨中心对比,三家机构测同一个标准样本,出来的变异集只有六成是重叠的。你说哪个是对的呢?其实可能都对,但来源不同。今天我就把这四个最大的差异源掰开讲讲。

核心观点:跨实验室变异的差异,80%以上能在“样本处理 → 测序平台 → 分析流程 → 参考基因组”这个链条上找到根因。

4.1 样本处理:根本差异的源头

为什么说样本处理是源头?因为后面的所有步骤,都是建立在这个起点上的。起点偏了,后面拉不回来。

4.1.1 DNA 提取质量

每个实验室有自己习惯的提取方法。酚氯仿、磁珠法、柱提法……提取效率不同,片段分布也不一样。

直接的影响:

  • 提取效率不同 → 某些区域覆盖不均
  • 抑制剂残留 → 测序质量下降
  • 片段化程度 → 比对准确率差异

我记得有一次,两个中心用同款文库试剂盒,一个用磁珠法一个用柱提法。结果是:磁珠法那个 lab 对 GC 含量高的区域覆盖率比另一种高了 8%。这差距,够让很多低频变异直接漏检。

4.1.2 文库构建的“蝴蝶效应”

文库构建是个精细活。PCR 循环数、连接效率、片段筛选窗口……这些参数哪怕微调,结果都会变。

我建议特别关注:

  • PCR 重复率: 循环数高 → 重复率高 → 假阳性变异多
  • 插入片段大小: 会影响比对准确性和覆盖均匀度
  • 文库复杂度: 复杂的文库才能保留原始变异信息
避坑指南: 我曾经参与过一个项目,A 实验室用 12 个 PCR 循环,B 实验室用 8 个循环。同一批样本,A 的 PCR 重复率是 B 的 3 倍。好在发现及时,否则那批数据就废了。建议做跨中心比较前,先把文库参数对一下。

4.2 测序平台:硬件的天然差异

你想想看,Illumina 和 MGI 的测序原理不同,BGI 的 DNBSEQ 和 PacBio 的 SMRT 更不一样。即便同是 Illumina,NovaSeq 和 NextSeq 也有系统偏差。

4.2.1 平台间的系统性偏差

偏差维度 Illumina(桥式PCR) MGI(DNB) PacBio(SMRT)
GC偏差 中高GC区域易偏低 相对均匀 均匀性好
错误类型倾向 置换错误为主 小片段插入/缺失偏高 随机错误,单碱基
覆盖度偏好 与GC含量负相关 与GC弱相关 与GC不相关
读长 2×150 bp 主流 2×150 bp 主流 10-25 kb

这张表我用过很多次。说实话,每次看到有人直接用不同平台的数据做合并检出,我都会提醒一句:先校准偏差。

4.2.2 同平台不同型号的差异

嗯,这里要注意:即使都是 Illumina,NovaSeq 的 Opti 模式和NextSeq 的高输出模式产生的覆盖度谱都不完全一致。我曾经见过一个案例,一样的设计、一样的建库,只是因为用了不同型号的机器,某些低频变异检出率差了近 15%。


4.3 分析流程:软件版本的“隐藏陷阱”

这部分是我踩坑最多的地方。很多人以为流程一样就够了。实际上,版本号、参数、依赖库都能让结果变个样。

4.3.1 比对工具的差异

用 BWA 还是 Bowtie2 还是 minimap2?它们处理 gap、soft-clip 的方式完全不同。

# BWA-MEM 的命令行参数
bwa mem -t 8 -K 100000000 hg38.fa read1.fq read2.fq > aligned.sam

# BWA-MEM2 的命令行(算法改进,结果有微调)
bwa-mem2 mem -t 8 hg38.fa read1.fq read2.fq > aligned.sam

版本差异也不能小看。BWA 从 0.7.12 升到 0.7.17,比对质量阈值变了,某些高错配区域的结果就不同了。

4.3.2 变异检出器的“个性”

GATK HaplotypeCaller 和 DeepVariant 的检出逻辑差别很大。前者靠贝叶斯,后者靠深度模型。同一段数据,它们可能给出不同的基因型。

我个人习惯: 做跨中心比较时,先定死一个分析流程版本。最好打包成 Docker 或 Singularity 镜像,连依赖库都锁死,否则问题很难排查。

# 锁定流程版本的示例:Dockerfile 中写死版本
FROM broadinstitute/gatk:4.2.6.1
RUN conda install -c bioconda bwa=0.7.17
RUN conda install -c bioconda samtools=1.15.1
# 镜像里所有的工具版本都固定了
重大坑点: 我曾经遇到过两个团队都用 GATK 4,但一个用 4.1.8,另一个用 4.2.0。比较时发现 INDEL 检出区域差了 20%。后来查发现 4.2.0 改了局部重比对算法。所以,要么镜像化,要么写死版本号。

4.4 参考基因组:最容易被忽略的差异

老实说,这个原因排最后不是因为它不重要。恰恰相反,它是最容易被忽略的。

你用 hg38,他用 GRCh37。即便都是 hg38,有补丁(如 hs38DH 包含 ALT 序列)和无补丁的版本,比对结果也不一样。

4.4.1 版本间的坐标差异

特征 GRCh37 (hg19) GRCh38 (hg38) 差异说明
总长度 ~3.1 Gb ~3.2 Gb 38 版多了 100 Mb 的 ALT 序列
特别区域 较少 包含 PAR、HSAT 等 对比对策略要求更高
BWA 映射性 基线水平 某些区域映射变化 导致 0.1%~0.5% 的变异位置偏移

我见过最极端的案例:一个实验室用 hg19 另一个用 hg38,同一段 HBB 基因上的变异,坐标差了十几个碱基。拼到一起时,以为有两个不同的突变,其实完全一样。

4.4.2 实践建议:统一参考基因组

  • 跨实验室比较前,必须统一参考基因组版本
  • 最好使用带完整补丁的版本(如 hs38DH)
  • 记录每个样本使用的参考基因组版本和来源链接
  • 用 liftover 工具转换坐标时要小心,缺失区域会丢掉变异

4.5 本章小结:差异来源的关联图谱

四个来源不是独立的。样本处理影响文库质量,文库质量影响测序平台的表现,测序数据进入分析流程,流程结果受参考基因组的选择影响。一条链上任何一个环节有差别,结果就会偏离。

实验室间差异来源关联图谱 样本处理 提取 / 建库 测序平台 硬件 / 原理 分析流程 软件 / 参数 / 版本 参考基因组 版本 / 补丁 参考基因组选择不当 会导致坐标偏移和漏检 样本处理差异是源头 建库质量决定后续全部

四个来源之间相互影响,但处理起来可以分层:先锁死样本处理和参考基因组,再统一测序和分析流程。按这个顺序排查,能快速找到差异点。

我的实战经验: 做跨中心质控时,我会先拉一个表,把每个中心在这 4 个维度上的配置列出来。然后给每个维度打分(一致=1分,不一致=0分)。总分小于 3 的,结果基本没法直接比。这个检查单,我带过十几个项目,屡试不爽。