前文回顧
1. GATK官方教程 / 概述及工作前的布置
2. GATK教程 / 體細胞短變異檢測 (SNV+InDel)流程概覽
Data pre-processing for variant discovery
目的
這是第一階段的工作,必須在所有變異發(fā)現(xiàn)之前進行。它涉及對原始序列數(shù)據(jù)(以FASTQ或uBAM格式提供)進行預處理,以產(chǎn)生可供分析的BAM文件。 這涉及到對參考基因組的比對,以及一些數(shù)據(jù)清理操作,以糾正技術偏差,使數(shù)據(jù)適合分析。參考實現(xiàn)
*
Prod:指的是Broad研究所的數(shù)據(jù)科學平臺生產(chǎn)管道 (Broad Institute's Data Sciences Platform production pipelines),用于處理Broad的基因組測序平臺設備產(chǎn)生的序列數(shù)據(jù)。預期的輸入文件
這個工作流旨在對單個樣本進行操作,對于這些樣本,數(shù)據(jù)最初被組織在稱為讀組 (Read groups)的不同子集中。這些相當于文庫(即從生物樣本中提取、并準備進行測序的DNA產(chǎn)物,包括使用識別條形碼進行片段化和標記)與測序通道(即Lane:DNA測序芯片上的物理分隔單元)的“交叉”。此“交叉”是由于多路復用(即Multiplexing:混合多個庫、并在多個通道上進行測序的過程,以降低風險和人為操作所帶來的影響)所產(chǎn)生的。 我們的參考實踐流程,期望測序數(shù)據(jù)以未比對的BAM (Unmapped BAM, uBAM)文件格式輸入。一些轉換程序可將FASTQ轉換為uBAM文件。 ① 首先將讀取的序列映射到參考基因組,生成一個按坐標排序的SAM/BAM格式的文件。即全基因組比對。 ② 接下來,對重復序列進行標記,以減輕一些數(shù)據(jù)生成步驟(如PCR擴增)中帶來的偏差。
③ 最后,重新校準基本質量分數(shù),因為變異調用算法(Variant calling algorithms)在很大程度上依賴于每個讀序列(Sequence Read)取中分配給單個堿基調用的質量分數(shù)(Quality scores)。
映射到參考基因組
涉及的工具:BWA, MergeBamAlignments
http://bio-bwa.sourceforge.net/https://gatk.broadinstitute.org/hc/en-us/articles/5358824293659--Tool-Documentation-Index#MergeBamAlignment 第一個處理步驟是逐讀組(Per-read group)執(zhí)行的,包括將每個讀對(Read pair)映射到參考基因組。
參考基因組由公共的基因組序列所合并成的單鏈表示(如人類hg38基因組),旨在為所有基因組分析提供一個共同的坐標框架。因為映射/比對算法(Mapping algorithm)是單獨處理每個讀對(Read pair)的,所以可被大規(guī)模并行化,以根據(jù)需要來增加數(shù)據(jù)處理的吞吐量。 涉及工具:MarkDuplicatesSpark / MarkDuplicates + SortSam
https://gatk.broadinstitute.org/hc/en-us/articles/5358824293659--Tool-Documentation-Index#MarkDuplicatesSpark
https://gatk.broadinstitute.org/hc/en-us/articles/5358824293659--Tool-Documentation-Index#MarkDuplicates
https://gatk.broadinstitute.org/hc/en-us/articles/5358824293659--Tool-Documentation-Index#SortSam
MarkDuplicatesSpark
此第二個處理步驟是對每個樣本執(zhí)行的,包括識別可能來自相同原始DNA片段的副本(Duplicates/重復)的讀對,這些“Duplicates/重復”一般是通過一些人工過程(Artifactual processes,如PCR擴增和建庫等)。這些被認為是非獨立的觀察,因此程序在每組重復中標記了除單個讀對外的所有讀對,導致標記的對(marked pairs)在變異發(fā)現(xiàn)過程中默認被忽略。

注意上圖中的“虛線”Reads,即為“Duplicates”在測序分析時,duplicate的reads是來源于同一條原始的read,相當于是同一個信息,假如某個位置有100條reads覆蓋,90條是duplicate,其實這個位置就相當于90條reads的信息是一個有用信息,如果這個原始read因為測序的問題發(fā)生了一個突變,不考慮duplicate的話,就是90個突變,很容易被作為假陽性檢出 (90/100),而如果考慮是duplicate,這90個read僅被作為一個信息 (1/10),就不太會被檢出了 在這一階段,讀取數(shù)據(jù)還需要按照坐標順序進行排序,以便進行下一步的預處理。
MarkDuplicatesSpark執(zhí)行重復標記步驟和排序步驟,用于此階段的預處理。由于在一個樣本中讀取對之間進行大量的比對、比較,這一階段的“流水線”(即數(shù)據(jù)處理)一直是一個性能瓶頸,因此MarkDuplicatesSpark利用Apache Spark來并行化進程,以便更好地利用所有可用資源。即使不需要訪問專用的Spark集群,這個工具也可以在本地運行。
MarkDuplicates + SortSam
作為MarkDuplicatesSpark的替代方案,這個步驟可以通過使用MarkDuplicates的Picard實現(xiàn),執(zhí)行重復序列標記;然后使用SortSam來對Reads進行排序。這兩種工具目前都是作為單線程工具實現(xiàn)的,因此不能利用核心并行 (Core parallelism)。
建議在擁有大量核心或能夠訪問快速磁盤驅動器的設備上,在MarkDuplicatesSpark上運行MarkDuplicates,然后運行SortSam。如果按照最佳實踐運行,MarkDuplicatesSpark會產(chǎn)生與這種方法相當?shù)奈惠敵?(Produces bit-wise equivalent output to this approach),因此上述任何一組工具都是有效的。堿基(質量得分)重新校準/Base (Quality Score) Recalibration 涉及的工具:BaseRecalibrator, Apply
Recalibration, AnalyzeCovariates(可選)
https://gatk.broadinstitute.org/hc/en-us/articles/5358824293659--Tool-Documentation-Index#BaseRecalibratorhttps://gatk.broadinstitute.org/hc/en-us/articles/5358824293659--Tool-Documentation-Index#ApplyBQSRhttps://gatk.broadinstitute.org/hc/en-us/articles/5358824293659--Tool-Documentation-Index#AnalyzeCovariates 這第三個處理步驟是在每個樣本中執(zhí)行的,包括應用機器學習來檢測和糾正堿基質量分數(shù)(Base quality score)中的系統(tǒng)錯誤模式(Patterns of systematic errors),其中堿基質量分數(shù)是由測序儀對每個堿基給出的置信度分數(shù)(Are confidence scores emitted by the sequencer for each base)。 在變異發(fā)現(xiàn)過程中,堿基質量分數(shù)在權衡支持或反對可能的變異等位基因(Variant alleles)的證據(jù)方面,發(fā)揮著重要作用,因此糾正數(shù)據(jù)中觀察到的任何系統(tǒng)性偏差是很重要的。 偏差可以來自文庫制備和測序過程中的生化過程,或來自芯片的制造缺陷,又或來自測序儀的儀器缺陷(Instrumentation
defects in the sequencer)。 重新校準過程包括從數(shù)據(jù)集中的所有堿基調用(Base calls)中收集協(xié)變量測量值(Covariate measurements),從這些統(tǒng)計數(shù)據(jù)中構建模型,并根據(jù)所得到的模型對數(shù)據(jù)集應用堿基質量調整(Base quality adjustments)。 初始統(tǒng)計數(shù)據(jù)收集可以通過分散在基因組坐標上進行并行化,通常是通過染色體或染色體批 (Batches)進行并行化,但如果需要,可以進一步分解以提高數(shù)據(jù)處理的吞吐量。然后每個區(qū)域的統(tǒng)計數(shù)據(jù)必須被收集到一個單獨的全基因組范圍內(nèi)的協(xié)變模型(A single genome-wide model of covariation)中;這是不能并行化的,但在計算上是微不足道的,因此不是性能瓶頸。 最后,將從模型中導出的重新校準規(guī)則(Recalibration rules)應用于原始數(shù)據(jù)集,以生成重新校準的數(shù)據(jù)集。這與初始統(tǒng)計數(shù)據(jù)收集在基因組區(qū)域上的并行方式相同,然后進行最終文件合并操作,以生成每個樣本的單個分析就緒文件(Analysis-ready file)。一些問題反饋
需要指出的是,Fastq -> Bam過程中,需要包含讀組標簽 (Read group tags),因為它們在流程的重新校準堿基質量分數(shù)階段及其之后需要。
往期精品(點擊圖片直達文字對應教程)
機器學習
后臺回復“生信寶典福利第一波”或點擊閱讀原文獲取教程合集
