老規(guī)矩,先奉上學(xué)習(xí)資料鏈接:
GATK正確的發(fā)音為:"Gee-ay-tee-kay" (/d?i?e??ti?ke?/),而不是:"Gat-kay" (/ɡ?t?ke?/) ,代表:Genome Analysis Toolkit中的粗體字母縮寫。
它是一個命令行工具集合,用于分析高通量測序數(shù)據(jù),主要用于識別變異。這些工具可以單獨使用,也可以連接在一起形成完整的工作流。我們提供端到端的工作流,稱為GATK最佳實踐,為特定的用例量身定制。
從4.0版本開始,GATK包含Picard工具包,因此所有Picard工具都可以從GATK本身中獲得。他們的文檔可以在本網(wǎng)站的工具索引部分找到。
本次內(nèi)容有:
- Preview the pipelines
- Quick start for the impatient
- Requirements
- Get GATK
- Install it
- Test that it works
- Run GATK and Picard commands
- Learn the Best Practices
- Run pipelines
- Get help
- Subscribe to forum notifications
1. Preview the pipelines
如果沒有服務(wù)器可以練習(xí),官網(wǎng)提到他們有一個云平臺:cloud platform Terra,使用教程見:GATK on the Cloud with Terra。
2. Quick start for the impatient
- 在Linux或MacOSX上運行;不支持MS Windows。
- 確保你有Java 8 / JDK 1.8
- 下載GATK包:https://github.com/broadinstitute/gatk/releases或獲取Docker鏡像:https://hub.docker.com/r/broadinstitute/gatk/
- 有兩個jars是有原因的,但不用擔(dān)心;看下一點
- 通過“GATK”包裝器腳本調(diào)用GATK,而不是直接調(diào)用任何一個jar
- 基本語法是
gatk [--java-options "-Xmx4G"] ToolName [GATK args]; 詳情請點擊這里:https://gatk.broadinstitute.org/hc/en-us/articles/360035531892 - 使用[Terra工作區(qū):https://app.terra.bio/#library/showcase來測試管道并了解每個工具的功能
- 如果您需要幫助,請閱讀用戶指南:https://gatk.broadinstitute.org/hc/en-us,并在論壇:https://gatk.broadinstitute.org/hc/en-us/community/topics上提問
3. Requirements
需要unix操作系統(tǒng),Java1.8,還有部分額外的R和Python依賴。相關(guān)依賴見:https://gatk.broadinstitute.org/hc/en-us/articles/360035889531。
強烈建議使用Docker容器系統(tǒng),所有已發(fā)布的GATK4版本都可以在Dockerhub中找到預(yù)先打包的容器映像:https://hub.docker.com/r/broadinstitute/gatk/
如果你不能使用Docker,請使用我們提供的Conda環(huán)境來管理依賴關(guān)系,如github存儲庫README中所述:https://github.com/broadinstitute/gatk/blob/master/README.md
需要Python 2.6或更高版本來運行g(shù)atk包裝器腳本。
如果遇到Java版本要求方面的困難,請參閱本文以獲得幫助:https://gatk.broadinstitute.org/hc/en-us/articles/360035532332
4. Get GATK
GATK包下載:https://github.com/broadinstitute/gatk/releases 或者Docker鏡像:https://hub.docker.com/r/broadinstitute/gatk/。
下面的說明假設(shè)您已將GATK包下載到本地機器,并計劃直接運行它。
下載后,會在結(jié)果目錄中發(fā)現(xiàn)四個文件:
wget https://github.com/broadinstitute/gatk/releases/download/4.4.0.0/gatk-4.4.0.0.zip
unzip gatk-4.4.0.0.zip
gatk
gatk-package-[version]-local.jar
gatk-package-[version]-spark.jar
README.md
為什么有兩個jar?顧名思義,gatk-package-[version]- Spark .jar是用于在Spark集群上運行Spark工具的jar,而gatk-package-[version]-local.jar是用于其他一切(包括“本地”運行Spark工具,即在常規(guī)服務(wù)器或集群上)的jar。
那么,這是否意味著您每次都必須指定要運行哪個程序?不!看到里面的gatk文件了嗎?這是您調(diào)用的可執(zhí)行包裝器腳本,它將根據(jù)命令行的其余部分為您選擇合適的jar。
5. Install it
傳統(tǒng)意義上不需要安裝,因為預(yù)編譯的jar文件應(yīng)該可以在任何滿足上面列出的要求的POSIX平臺上工作。您只需要打開下載的包,并將包含jar文件和啟動腳本的文件夾放在硬盤驅(qū)動器(或服務(wù)器文件系統(tǒng))上一個方便的目錄中。
在bash中,典型的語法是export PATH="/ PATH /to/gatk-package/:$PATH",其中/ PATH /to/gatk-package/是gatk可執(zhí)行文件所在位置的路徑。請注意,jar必須保持在與gatk相同的目錄中才能工作。確保在你的路徑中包含最后的/。
還可以在.bash_profile文件中創(chuàng)建可執(zhí)行文件的別名,這樣只需輸入gatk就會運行文件路徑:alias gatk='/path/to/gatk-package/gatk'。
這里我一般會選擇用絕對路徑調(diào)用它!
6. Test that it works
./gatk --help
可以成功調(diào)用出幫助文檔:

7. Run GATK and Picard commands
工具索引部分列出了可用的工具,并詳細描述了可用的選項:https://gatk.broadinstitute.org/hc/en-us/categories/360002369672。調(diào)用任何GATK或Picard工具的基本語法如下:
gatk [--java-options "jvm args like -Xmx4G go here"] ToolName [GATK args go here]
可以在這里找到有關(guān)GATK命令行語法的更多信息:https://gatk.broadinstitute.org/hc/en-us/articles/360035531892
例如,一個簡單的GATK命令是這樣的:
gatk --java-options "-Xmx8G" HaplotypeCaller -R reference.fasta -I input.bam -O output.vcf
Picard工具的語法
當(dāng)在GATK中使用時,所有Picard工具都使用與GATK相同的語法。相對于“Picard”風(fēng)格語法的轉(zhuǎn)換非常簡單;例如,I=input. bam,你現(xiàn)在做-I input.bam。例如,一個簡單的Picard命令是這樣的:
gatk ValidateSamFile -I input.bam -MODE SUMMARY
8. Learn the Best Practices
GATK最佳實踐是端到端的工作流程:https://gatk.broadinstitute.org/hc/en-us/sections/360007226651,旨在為在高通量測序(HTS)數(shù)據(jù)中執(zhí)行變體發(fā)現(xiàn)分析提供逐步建議。我們有幾個這樣的工作流是根據(jù)項目目標(biāo)(根據(jù)感興趣的變量類型)和實驗設(shè)計(根據(jù)排序方法類型)量身定制的。雖然它們最初是為人類基因組研究設(shè)計的,但GATK最佳實踐可以用于分析各種非人類生物體,包括非二倍體。
最佳實踐的文檔包括對所涉及過程的高級描述,解釋更深入細節(jié)的各種文檔,以及根據(jù)約束和用例可以做出的調(diào)整,這些建議的一組實際管道實現(xiàn),以及可能是最重要的研討會材料,包括幻燈片、視頻和指導(dǎo)您完成每個步驟的教程。
9. Run pipelines
我們提供了GATK最佳實踐工作流的腳本實現(xiàn)以及一些額外的輔助/輔助腳本,以便每個人都能更容易地運行這些有時相當(dāng)復(fù)雜的工作流。
這些工作流是用WDL編寫的,旨在在任何支持WDL執(zhí)行的平臺上運行。選項列在用戶指南的流水線部分:https://gatk.broadinstitute.org/hc/en-us/articles/360035889771。我們的首選是 Cromwell 執(zhí)行引擎,與GATK一樣,它也是由Broad的數(shù)據(jù)科學(xué)平臺(DSP)開發(fā)的,并且可以作為服務(wù)在我們的云平臺Terra(以前稱為FireCloud)上使用。
如果您選擇通過Terra運行GATK工作流,則實際上不需要執(zhí)行上述任何操作,因為所有內(nèi)容都已經(jīng)以隨時可運行的形式預(yù)加載(軟件、腳本,甚至一些示例數(shù)據(jù))。在這一點上,這是運行工作流最簡單的方法,就像我們在自己的工作中所做的那樣。如上所述,我們已經(jīng)在一個名為Terra的云平臺上的預(yù)配置工作區(qū)中設(shè)置了所有的最佳實踐管道,因此您可以嘗試它們,而無需進行任何設(shè)置。您可以將結(jié)果與其他管道進行比較,也可以上傳您自己的數(shù)據(jù)(私下和安全地)來測試我們的管道在這些管道上的表現(xiàn)。
這瘋狂的推薦他們的云平臺Terra,后面去看看要不要收費!??!
10. Get Help
我們通過非?;钴S的社區(qū)論壇(https://gatk.broadinstitute.org/hc/en-us/community/topics)提供所有支持。您可以根據(jù)以下指導(dǎo)原則提出問題并報告可能遇到的任何問題:
在尋求幫助之前
在論壇上發(fā)表文章前,請做以下工作:
1.使用每個頁面右上角的搜索框,它將搜索所有內(nèi)容,包括用戶指南和論壇。
2.如果有些東西不工作:
- 對所有輸入文件運行驗證檢查,以確保它們的格式正確
- 請參閱用戶指南中的“故障排除GATK4問題”部分:https://gatk.broadinstitute.org/hc/en-us/sections/360007226791,該部分涵蓋了非錯誤的常見問題
- 在論壇中搜索以前的報告,例如使用錯誤消息
- 請再次嘗試您正在使用的任何工具的最新版本
尋求幫助時
當(dāng)詢問一個問題時,請包括以下內(nèi)容:
- 所有版本信息(GATK版本,Java,如果可能的話,您的操作系統(tǒng))。
- 不要只是告訴我們你在遵循最佳實踐——準確地描述你在做什么。
- 包括相關(guān)細節(jié),例如平臺,DNA或rna測序,WES(+捕獲試劑盒)或WGS(無PCR或PCR+),配對或單端,讀取長度,預(yù)期平均覆蓋范圍,體細胞數(shù)據(jù)等。
- 對于工具錯誤,包括您運行的完整命令和堆棧跟蹤(_i.e.)。如果有的話,那就是終端輸出中那一長堆難以讀懂的軟件官樣文章。
- 對于格式問題,包括對bam運行ValidateSamFile或?qū)cf運行validatvariants的結(jié)果。
- 對于奇怪/意外的結(jié)果,包括一個說明性的例子,例如附上IGV截圖,并詳細解釋為什么你認為結(jié)果是奇怪的-特別是如果你正在處理非人類數(shù)據(jù)。我們可能沒有意識到你的不是常用物種。
我們通常會在一到兩個工作日內(nèi)回復(fù)您,但請注意,更復(fù)雜的問題(或不明確的報告)可能需要更長的時間來解決。另外,一年中有些時候我們特別忙,我們可能會比平時花更長的時間來回答你的問題。
我們可能會要求您提交一份正式的bug報告,其中包括向我們發(fā)送一些測試數(shù)據(jù),我們可以使用這些數(shù)據(jù)自己重現(xiàn)問題。這通常是調(diào)試所需要的。請放心,我們將所有傳輸給我們的數(shù)據(jù)視為私人和機密。在某些情況下,我們可能會請求您的許可,在我們的測試框架中包含您的測試用例的片段,這是公開訪問的。在這種情況下,您有責(zé)任與數(shù)據(jù)的所有者核實您是否被授權(quán)允許我們公開該數(shù)據(jù)。
請注意,本文檔指南中的信息是針對最終用戶的。對于開發(fā)人員來說,源代碼和相關(guān)資源可以在GitHub上獲得。
11. Subscribe to forum notifications
考慮訂閱論壇通知和公告,這樣當(dāng)我們回答你的問題時,你就會收到一封電子郵件,當(dāng)我們在博客上發(fā)布新內(nèi)容時,這是了解新功能和機會的最佳方式。有關(guān)說明,請參閱此鏈接:https://gatk.broadinstitute.org/hc/en-us/articles/360035889511
這份教程寫的真棒??!當(dāng)然指的原文~