查看原文
其他

GATK教程 / 体细胞短变异检测 (SNV+InDel)流程概览

YSX@Tumour 生信宝典 2022-09-19

体细胞短变体检测 (SNV + InDel)

Somatic short variant discovery (SNVs + Indels)

目的

  在单个个体的一个或多个肿瘤样本中,识别体细胞短变异(SNV和InDel),无论是否有匹配的正常样本(With or without a matched normal sample)。

参考实现

管道
总结
笔记
Github
Terra
体细胞短变异体Tumor-Normal配对
T-N  Bam到VCF
通用
b37
体细胞短变异PON的生成
正常样本Bam到PON
通用
b37

另见文件

gatk-master.zip

(How to) Call somatic mutations using GATK4 Mutect2.docx

链接:https://pan.baidu.com/s/1BTmmCM-mJ-hEA1wWNYDs4g

提取码:ysx4

预期的输入

  该工作流程需要为每个输入的肿瘤和正常样本(Each input tumor and normal sample)提供BAM文件。输入Bam应按照《GATK数据预处理最佳实践 (GATK Best Practices for data pre-processing)》中的描述进行预处理:

https://gatk.broadinstitute.org/hc/en-us/articles/360035535912

体细胞短变异检测最佳流程实践图 (Mutect2)

主要步骤

  这个工作流有两个主要步骤:① 首先,生成大量的候选体细胞变异;② 然后,对它们进行筛选,以获得更有信心的体细胞变异调用集合 (A more confident set of somatic variant calls)。

检测候选变异(Call candidate variants)

  工具:Mutect2

https://gatk.broadinstitute.org/hc/en-us/articles/5358824293659--Tool-Documentation-Index#Mutect2

  与HaplotypeCaller一样,Mutect2通过激活区内的单倍型的局部de-novo组装 (Local de-novo assembly of haplotypes in an active region),同时调用(Call)SNV和InDel,最终由Bam文件(+参考基因组)获得VCF文件。
  也就是说,当Mutect2遇到一个显示出体细胞变异迹象的区域时,它会丢弃现有的映射/比对信息,并完全重新组装该区域的Reads (Completely reassembles the reads in that region),以生成候选的变异单倍型 (Candidate variant haplotypes)
  与HaplotypeCaller一样,Mutect2随后会通过Pair-HMM算法将每个Read与每个单倍型进行比对 (Aligns each read to each haplotype),从而获得一个可能性矩阵。最后,它应用贝叶斯体细胞可能性模型 (Bayesian somatic likelihoods model)来获得等位基因为体细胞变异相对于测序错误的对数几率 (Obtain the log odds for alleles to be somatic variants versus sequencing errors)。
非遗传性肿瘤测序数据分析的难点
  不像胚系突变(人体中所有细胞的遗传物质、基因型、突变型基本一致),体细胞突变的取样和测序数据生信分析都有一定的难度。① 取样:需要尽量获取受累组织(需要仔细甄别细胞外观,甚至生化检测结果),否则如果肿瘤细胞占比很极低时,将影响整个数据的分析结果,甚至导致错误的结论;② 数据分析:在取样没有问题时才可进行(极大地受到肿瘤细胞占比等因素影响)。即使肿瘤占比较高,但是由于肿瘤突变的异质性很强,许多与肿瘤相关的突变的突变频率极低,甚至低于测序仪的检测错误率。因此,肿瘤WES分析通常要求能够准确检测到低至0.5% ~ 10%的突变丰度,这就是体细胞分析最大的难点,也是与胚系突变检测的最大不同(胚系突变一旦发生,对于人类等二倍体生物来说,就至少是杂合子,即至少50%的理论突变率)。
  因此,整个遗传性肿瘤(即由于后天的基因突变引起的肿瘤)的体细胞检测流程一直在克服以下几个问题:① 样本交叉污染;② PCR扩增等建库过程中引入的“假阳性”突变;③ 测序仪引入的测序错误 (约1%,测序仪的真实测序碱基质量值非常重要);④ 病人自身携带的先天遗传突变 (生下来就有的、与参考基因组所不同的碱基序列),需过滤自身正常组织或癌旁组织的突变;⑤ 需过滤克隆性造血过程中自身白细胞等细胞中携带的突变;⑥ 过滤掉其它与肿瘤无关的体细胞突变。最终才是与肿瘤有关的体细胞突变。

计算污染

  涉及的工具:GetPileupSummaries, CalculateContamination

https://gatk.broadinstitute.org/hc/en-us/articles/5358824293659--Tool-Documentation-Index#GetPileupSummaries

https://gatk.broadinstitute.org/hc/en-us/articles/5358824293659--Tool-Documentation-Index#CalculateContamination

  该步骤对每个肿瘤样本中存在交叉样本污染 (Cross-sample contamination)的Reads的分数/比例进行估计,并对每个肿瘤样本的等位基因拷贝数分段(Allelic copy number segmentation)进行估计。
  与其它污染计算工具不同,CalculateContamination被设计成即使在有显著拷贝数变异的样本中,也可以在没有匹配正常样本 (Without a matched normal)的情况下很好地工作,并且对污染样本的数量不做任何假设。 

Learn Orientation Bias Artifacts

工具:LearnReadOrientationModel

  该工具使用Mutect2的可选F1R2计数输出(F1R2 counts output)来学习定向偏差模型(A model for orientation bias)的参数。它在为每个三核苷酸上下文 (Each trinucleotide context)排序之前,找到单链替换错误的先验概率 (Prior probabilities)。这对于FFPE肿瘤样本是极其重要的

过滤变异 (Filter Variants)

  工具包括:FilterMutectCalls

https://gatk.broadinstitute.org/hc/en-us/articles/5358824293659--Tool-Documentation-Index#FilterMutectCalls

  Mutect2的体细胞可能性模型(Somatic likelihoods model)假设Read的错误是独立发生的,因此,例如,4个Reads,每1个Read的错误概率为1/1000,产生大约1000^4的对数几率 (A log odds of roughly 1000^4),有利于其成为真正的变异,而不是测序错误。

  FilterMutectCalls解释了相关的错误,也就是说,一个位点上所有的变异Reads都是由于某种共同的错误来源 (Due to some common source of error)的可能性。它通过几个硬过滤 (Several hard filters)来实现这一目标,以检测:“Alignment artifacts and probabilistic models for strand and orientation bias artifacts”(比如PCR产生的错误,会被后续的PCR循环传递下去,就出现“某种共同的错误来源”)、聚合酶滑移(Slippage artifacts,)、胚系变异和污染(都会出现“某种共同的错误来源”)。原因是:肿瘤体细胞突变相对随机,且通过超声法破碎后Reads长度大小不一。也因为如此,克隆性造血过程中自身白细胞等细胞中携带的突变,以及其它与肿瘤无关的体细胞突变将无法被过滤(除非做了患者自身配对的WBC实验设计及测序),因为这类突变也是:“相对随机,且通过超声法破碎后Reads长度大小不一”。

  此外,FilterMutectCalls学习了一个关于肿瘤的整体SNV和InDel突变率和等位基因分数谱的贝叶斯模型,以改进Mutect2发出的对数几率 (A Bayesian model for the overall SNV and indel mutation rate and allele fraction spectrum of the tumor to refine the log odds emitted by Mutect2)。然后,它会自动设置一个过滤阈值,以优化:F评分、灵敏度和精度的调和平均值(F score, the harmonic mean of sensitivity and precision)。

注释变体

  工具包括:Funcotator

https://gatk.broadinstitute.org/hc/en-us/articles/5358824293659--Tool-Documentation-Index#Funcotator

  在这一步,我们运行一些工具,向数据集中发现的变异添加信息,比如:该突变发生在哪个基因,哪个外显子,氨基酸如何变化等。
  其中一个工具是Funcotator,可以用来给每个变异添加基因级 (Gene-level)信息。
  Funcotator是核心GATK工具集(Core GATK toolset)中的一个功能性注释工具,被设计用来处理体细胞和胚系的使用案例。
  Funcotator在VCF文件中读取数据,用23种不同的变异分类(Variant classifications)中的1种来标记每个变异,产生基因信息(例如受影响的基因、预测的变异氨基酸序列等),以及与数据源中的信息的关联。
  Funcotator支持的数据源包括GENCODE(基因信息和蛋白质变化预测)、dbSNPgnomADCOSMIC(等等)。数据源的语料库(The corpus of datasources)是可扩展的,用户可配置的,包括谷歌云存储支持的基于云的数据源。

  Funcotator生成一个“变异调用格式(Variant Call Format, VCF)”文件(在INFO字段中增加注释结果)或一个“变异注释格式(Mutation Annotation Format, MAF)文件。

一些问题反馈

  上面文字里的GetPileupSummaries和CalculateContamination怎么用还不清楚。应该先使用哪个工具?或者它们应该同时使用吗?

  这个管道能否用于在单细胞ATAC-seq或单细胞RNA-seq数据上调用SNV + InDel?

往期精品(点击图片直达文字对应教程)

机器学习

后台回复“生信宝典福利第一波”或点击阅读原文获取教程合集



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存