WGS胚系突变分析概述:应用场景与挑战
1.1 什么是WGS胚系突变分析?
全基因组测序(WGS),说白了就是把一个人的全部DNA都测一遍。30亿个碱基对,一个不落。你可能会问:“那跟全外显子组(WES)有什么区别?”我过去几年做过不少项目,两种方法都跑过,给你一个直观的对比:
| 对比项 | WES | WGS |
|---|---|---|
| 覆盖范围 | ~2% 基因组(外显子区) | 100% 基因组(含内含子、调控区) |
| 均一性 | 捕获效率不均,GC偏好明显 | 覆盖均一,无捕获偏好 |
| 结构变异检测 | 弱——片段短、捕获跳过 | 强——连续覆盖、可跨断点 |
| 每样本数据量 | ~10GB FastQ | ~100GB FastQ |
| 每样本成本 | 低(捕获+测序) | 高(纯测序、无捕获) |
胚系突变(germline mutation)是指那些从父母遗传下来、存在于个体所有细胞中的变异。它跟体细胞突变(只在肿瘤组织中存在)是两码事。一旦拿到WGS数据,我们要做的是:把测序产出的FastQ文件比对到参考基因组,然后找出与参考序列不同的位置,再进一步筛选出真正影响基因功能的变异。这个流程,我习惯称之为“从原始信号到临床可报告变异”的完整管道。
WGS胚系突变分析的核心目标就三个字:找全、找准、算好。找全——不漏掉致病突变;找准——不报假阳性;算好——30个样本、300个样本、3000个样本都能稳定跑下来。
1.2 应用场景:哪里真正需要WGS?
我刚开始做生信那几年,WGS还不算普及,很多项目先用WES筛选一圈。结果呢?不少致病突变就藏在内含子深处或者非编码RNA区,WES根本抓不到。后来我逐渐总结出WGS真正能发力的场景——你想想看,是不是这些问题:
1.2.1 罕见病诊断——别再只盯着外显子了
罕见病大多涉及遗传因素。但很多致病位点并不在编码区。我记得有个案例,一个患儿临床高度怀疑单基因病,WES跑了两轮都是阴性。最后WGS一上,发现一个深内含子的变异影响了剪接——标准WES捕获区域根本没覆盖到那个内含子。所以,如果你在做罕见病诊断,我建议优先考虑WGS,至少留一个WGS备选方案。
1.2.2 肿瘤遗传易感性——BRCA不只是那几段
肿瘤遗传咨询中,最经典的就是BRCA1/2变异检测。很多检测平台只做外显子+侧翼区域,但BRCA1的大片段重排、深内含子假外显子突变、甚至启动子区结构变异,都会影响蛋白质功能。用WGS才能把这些类型的变异“一网打尽”。
1.2.3 群体遗传学研究——全基因组层面的“考古”
千人基因组计划、中国万人基因组计划,用的都是WGS。为什么?因为只有全基因组数据才能精确计算人群频率、连锁不平衡、选择压力。你拿着一个SNV问“这个位点在人群中的频率是多少?”,WGS的结果比WES更可靠——因为WES的捕获效率在不同区域不一致。我记得有一次用gnomAD数据库查一个内含子变异频率,发现WES来源的频率数据浮动很大,最终还是用了WGS子集的数据。
1.2.4 精准医学队列——统一标准、降低批次效应
大型队列(UK Biobank、All of Us)都选择了WGS作为统一检测手段。为什么不用更便宜的WES?道理很简单:统一的检测方案 = 最小的批次效应。WGS不需要捕获试剂盒,不同批次之间几乎不存在探针差异。这对后续的统计分析和机器学习建模来说,是大优势。
一点提醒:并不是所有项目都需要WGS。如果你的研究明确只针对已知外显子突变(比如几个基因的已知热点),那么WES或靶向捕获更划算。WGS适合的是“不知道问题在哪,但需要全面排查”的场景。
1.3 挑战:WGS数据不是拿来就能用的
嗯,这里我要认真说一句:WGS的优点再多,也扛不住数据量大带来的麻烦。30亿个碱基对、每样本100GB的原始数据、几百个样本的队列——这些问题如果不提前想好,流程跑起来你会非常痛苦。
1.3.1 数据量巨大——存储和IO都是瓶颈
一个典型场景:100个WGS样本,30X覆盖深度。原始FastQ就超过10TB。加上比对后的BAM文件(~60GB/样本,压缩后~30GB),gVCF文件(~3GB/样本),最终VCF文件(~1GB/样本再压缩)。你算算,100个样本的总存储需求:
- FastQ: 10TB
- BAM: 3TB(压缩后)
- gVCF: 300GB
- VCF: 100GB
- 中间文件(临时、索引、日志): ~2TB
总存储约16TB。这还只是原始数据+分析结果,还不算流程运行时的临时IO开销。如果你在云端跑,对象存储费用、EBS卷费用都很可观。我在一次项目中,单是存储成本就占到总预算的40%。
1.3.2 比对算法吃性能——CPU和内存的博弈
目前主流的比对工具是BWA-MEM。我个人的实测数据:一个30X的WGS样本,单线程BWA-MEM需要约30小时。如果用40个线程并行,可以压缩到50分钟以内。但前提是——你的机器要有足够的内存(至少32GB RAM)和高速磁盘(SSD或NvME)。
# 核心命令示例——BWA-MEM比对
bwa mem -t 40 -R "@RG\tID:SAMPLE1\tSM:SAMPLE1\tLB:WGS\tPL:ILLUMINA" \
/ref/hg38.fasta \
sample1_R1.fastq.gz sample1_R2.fastq.gz | \
samtools view -Sb -o sample1.bam
这条命令看似简单,但跑起来你就知道了。40个线程的机器不能同时跑太多样本,否则IO打满、内存争抢,反而比单跑还慢。我见过不少初学者一上来就开50个并行任务,结果集群直接卡死。
1.3.3 变异检测的“假阳性”与“假阴性”——终身的博弈
WGS的变异检测不像你想象的那么简单。GATK的HaplotypeCaller或者DeepVariant,它们输出的VCF里有很多“可疑”的变异。尤其是在重复区域、同源序列区、低复杂度区,假阳性特别多。反过来,真正的致病突变也可能因为测序深度不均而被漏掉。
我讲一个具体的例子:在外显子-内含子交界区,GATK的默认参数倾向于把跨越剪接位点的变异标记为“低质量”。我曾经漏过一个GLI3基因的剪接区突变,直到第二轮分析才手工检查出来。所以我建议,WGS分析绝对不能只看PASS标记的变异,一定要看原始数据、看IGV可视化。
注意:WGS变异检测的过滤策略一定要根据数据质量调整。不要直接套用千人基因组计划的过滤参数——他们的数据质量比你手上的临床样本高很多。直接套用会导致大量真阳性变异被错误过滤掉。
1.3.4 计算资源——到底要多少?
很多团队在开始做WGS时最大的困惑就是:“我到底需要多少机器?”我给你一个参考配置——对30X人WGS样本的单个分析流程(从FastQ到gVCF):
| 资源项 | 建议配置 | 单样本耗时 |
|---|---|---|
| CPU | 32~64核心(单样本) | ~4小时(含比对+变异检测) |
| 内存 | 64~128GB | 实时分配 |
| 磁盘 | NVMe SSD,10TB+可用空间 | IO密集型 |
| 网络 | 10Gbps+(云端跨region) | 上传/下载瓶颈 |
如果是对50个样本并行,你需要至少16台这样的机器。云上费用大约:$0.5~1.0/样本/小时(按需实例),50个样本并行约需要1000~2000小时的总计算量。你要是跑在本地集群,要考虑机房散热、电力、运维成本。嗯,不便宜。
1.3.5 可重复性——管道版本、容器、环境
WGS分析不是一次性的活儿。你今天跑完一批样本,明天可能换了一版GATK、改了几个参数,结果就不一致了。这是生信领域的老大难问题。
我个人建议从一开始就使用容器化方案(Docker/Singularity),配合Conda/Mamba管理工具版本。Nextflow天生支持容器,这也是我为什么选择用它讲课的原因——你可以在Nextflow配置文件中明确定义每个工具的版本、参数、镜像:
process {
container = 'broadinstitute/gatk:4.4.0.0'
withName: BWA_MEM {
container = 'biocontainers/bwa:v0.7.17'
}
withName: MARK_DUPLICATES {
container = 'broadinstitute/picard:3.0.0'
}
}
这样,不管你在哪台机器上执行,环境完全一致。我曾因为环境不一致栽过跟头——同一个pipeline,两个分析人员跑出不同的结果,最后发现是工具版本差了一个小更新。从那以后,我硬性要求团队成员统一容器化。
1.4 本章小结:我们必须要做的事
回顾一下,我们面对WGS胚系突变分析,要做的核心工作其实可以总结成一张图:
这张图就是一个标准的WGS胚系分析管道骨架。从输入、比对、变异检测、过滤质控到注释报告。在后续的课程中,每一讲都会深入拆解这些环节。
再次提醒:WGS分析不是一锤子买卖。你跑完一次pipeline,最多只算是完成了70%。剩下30%——变异过滤策略调整、假阳性人工复核、家族共分离验证、甚至重新比对——这些才是体现分析深度的部分。
做完这趟分析之后,你将拿到一份包含所有SNV、InDel、CNV、SV的VCF文件。但千万别急着写报告。打开IGV,看看那些被过滤掉的“低质量”变异——也许你会有新的发现。我这么做过,而且受益良多。
好,这就是WGS胚系突变分析概览。接下来我们会一步步深入每个具体环节,用Nextflow构建一个既能跑在硬件上、也能云上扩展的生产级pipeline。