GATK 是 Genome Analysis ToolKit 的縮寫,是一款從高通量測序數(shù)據(jù)中分析變異信息的軟件,是目前最主流的snp calling 軟件之一。GATK 設(shè)計之初是用于分析人類的全外顯子和全基因組數(shù)據(jù),隨著不斷發(fā)展,現(xiàn)在也可以用于其他的物種,還支持CNV和SV變異信息的檢測。在官網(wǎng)上,提供了完整的分析流程,叫做GATK Best Practices。
4.1.7.0, 叫做[GATK4](https://www.plob.org/tag/gatk4 "查看與 GATK4 相關(guān)的文章")。 和之前的版本相比,GATK4在算法上進行了優(yōu)化,運行速率有所提高,而且整合了picard 軟件的功能。GATK4基于java 語言開發(fā)的,需要java 1.8 版本。下載鏈接如下
https://software.broadinstitute.org/gatk/download/
安裝過程如下:
wget https://github.com/broadinstitute/gatk/releases/download/4.1.7.0/gatk-4.1.7.0.zip
unzip gatk-4.1.7.0.zip
(wes) root@1100150:~/wes_cancer/biosoft# tree -L 1 gatk-4.1.7.0/
gatk-4.1.7.0/
├── GATKConfig.EXAMPLE.properties
├── README.md
├── gatk
├── gatk-completion.sh
├── gatk-package-4.1.7.0-local.jar
├── gatk-package-4.1.7.0-spark.jar
├── gatkPythonPackageArchive.zip
├── gatkcondaenv.yml
├── gatkdoc
└── scripts
2 directories, 8 files
解壓縮之后,可以看到兩個后綴為.jar的文件,local用于本地運行,spark用于在spark集群上運行。實際使用時,直接用gatk這個可執(zhí)行文件就行了。 通過一個簡單的命令,查看程序是否正確安裝
gatk --help
這個命令能夠打印出所有的子命令,如果打印出來結(jié)果,說明程序安裝正確。部分子命令截圖如下

子命令后面如果有(picard), 說明這個功能是繼承于picard軟件,從這里也可以看出,GATK4集成了picard軟件的功能。再不需要像之前版本一樣,混合使用picard 和 gatk 了。 GATK4 的最佳實踐給出了5套pipeline
- Germline SNPs + Indels
- Somatic SNVs + Indels
- RNAseq SNPs + Indels
- Germline CNVs
- Somatic CNVs
以上五套pipeline 可以根據(jù)研究對象是DNA還是RNA進行劃分:DNA 測序(包含1,2,4,5)和RNA 測序(3)。可以看到,GATK 更多的是傾向于DNA 測序數(shù)據(jù)的分析。對于DNA測序而言,主要識別SNP和CNV 兩大類型的變異,每種變異類型又有Germline和Somatic的區(qū)別。 Germline指的是在胚胎發(fā)育早起出現(xiàn)的變異,這種變異會在所有細胞中廣泛存在,是可以遺傳給后代的變異;Somatic指的是體細胞變異,身體特定區(qū)域或者組織中出現(xiàn)的變異。通常不會遺傳給后代。 在所有的pipeline之前,都存在一個數(shù)據(jù)預(yù)處理步驟data pre-processing。 GATK4 版本的最佳實踐并不是直接給出了每個步驟對應(yīng)的代碼,而是給出了幾套它們自己編寫的流程,以供參考。這些流程以WDL這種workflow 語言進行編寫。官方對于WDL, 也給出了詳細的文檔,幫助我們了解。
構(gòu)建索引
conda activate wes
cd ~/wes_cancer/data
gunzip Homo_sapiens_assembly38.fasta.gz
time bwa index -a bwtsw -p gatk_hg38 ~/wes_cancer/data/Homo_sapiens_assembly38.fasta
總結(jié)
- GATK4整合了picard軟件,在算法上進行了優(yōu)化,新增了許多新的功能。
- 官網(wǎng)給出了基于GATK4的pipeline, 以
WDL這種workflow 流程管理語言編寫。
