1. NGS变异检测流程概述

说到NGS变异检测,说白了就是拿测序原始数据,经过一系列计算,找出样本跟参考基因组不一样的地方。单核苷酸变异(SNV)、小插入缺失(Indel)、结构变异(SV)都在这个范畴里。

我刚开始接触这个领域时,觉得不就是比对+找差异嘛,很简单。直到第一次处理全外显子数据,跑完才发现假阳性高得离谱……嗯,从那以后我才明白,流程里每一步的质量控制和参数调优,都比想象中重要得多。

1.1 到底什么是NGS变异检测流程

一套完整的变异检测流程,通常包含这几步:

  1. 原始数据预处理:FASTQ质量控制、去接头、低质量过滤。
  2. 比对:将reads比对到参考基因组,输出BAM文件。
  3. 比对后处理:标记重复、碱基质量分数重校准(BQSR)。
  4. 变异识别:用HaplotypeCaller(GATK)或类似工具找变异。
  5. 变异质控与过滤:根据深度、质量分数、链偏好等做硬过滤或用VQSR。
  6. 注释:用ANNOVAR、VEP等给变异加上基因位置、影响、人群频率等。

你想想看,任何一步出问题,后面的结果基本都没法用。我之前在项目里遇到过测序深度不均匀,结果在低深度区域疯狂报假阳性,后来加了深度过滤才解决。

1.2 应用场景

NGS变异检测的应用场景很广,我简单列几个:

  • 肿瘤精准医疗:体细胞突变检测,指导靶向用药。
  • 遗传病诊断:全外显子/全基因组寻找致病胚系突变。
  • 药物基因组学:检测药物代谢相关基因的变异。
  • 微生物基因组学:细菌/病毒变异追踪,耐药突变。
  • 群体遗传学:大规模人群的变异频率分析。

不同场景对准确性、速度、成本的要求差别很大。比如肿瘤检测对假阳性容忍度低,你不敢漏掉一个真正有意义的突变;而大规模队列研究,你可能更关注通量和成本。

1.3 主流流程对比

目前业界用得最多的三套流程:GATK Best Practices、Sentieon、DRAGEN。我从几个关键维度对比一下:

维度 GATK Best Practices Sentieon DRAGEN
开发团队 Broad Institute Sentieon Inc. Illumina
许可证 免费开源(BSD) 商业许可 商业许可(硬件绑定)
速度 较慢(纯CPU) 快(优化多线程/GPU) 极快(FPGA加速)
准确度 金标准(社区验证最多) 与GATK高度一致,部分指标更好 与GATK高度一致,极低假阳性
社区生态 最丰富(教程、docker、WDL) 中等(官方文档较好) 较少(依赖Illumina平台)
计算资源 高(内存/CPU需求大) 中等 低(专用硬件)
典型成本 免费(但需自备机器) 按核心年收费 设备+许可费

一个小经验:如果你刚开始做流程搭建,我建议先跑GATK。原因是社区资源最多,出问题了容易搜到答案。等你把逻辑跑通、知道哪里容易踩坑,再考虑用Sentieon提速。

我在医院项目里用过GATK和Sentieon两种。GATK跑一个全外显子,36线程大概要12小时;换成Sentieon,同样的服务器只要3小时左右。结果一致性很高,但在某些高重复区域Sentieon的假阳性略高,需要额外做过滤。

1.4 避坑指南

我曾经犯过的错:直接用默认参数跑GATK HaplotypeCaller,结果在低深度区域叫出了大量低质量变异。后来才意识到,必须根据测序深度、文库类型调整 --min-base-quality-score 和 --min-pruning 参数。

另外,不同流程的输入格式也有细微差别。比如GATK需要索引后的参考基因组,DRAGEN需要自己的参考文件格式。提前看清楚文档,否则跑一半报错很浪费时间。

一句话总结:没有最好的流程,只有最适合你场景的流程。快速出结果选DRAGEN或Sentieon;需要高度可控、社区支持选GATK。

1.5 本章知识体系

下面这张图把NGS变异检测的上下文和本章核心概念串起来了:

NGS变异检测流程知识体系 NGS测序原始数据 质量预处理 比对 & 后处理 变异识别 (SV/SNV/Indel) 过滤 & 质控 注释 & 报告 GATK Best Practices Sentieon DRAGEN 注意:不同流程在变异识别和过滤环节的算法存在差异,但整体流程逻辑一致。

这张图可以帮你建立全局视角。后面的章节,我们会从数据预处理一步一步讲起,最终让你能自己部署一套可自动化运行的NGS变异检测流程。