老規矩,先奉上學習資料鏈接:
GATK正確的發音為:"Gee-ay-tee-kay" (/d?i?e??ti?ke?/),而不是:"Gat-kay" (/ɡ?t?ke?/) ,代表:Genome Analysis Toolkit中的粗體字母縮寫。
它是一個命令行工具集合,用于分析高通量測序數據,主要用于識別變異。這些工具可以單獨使用,也可以連接在一起形成完整的工作流。我們提供端到端的工作流,稱為GATK最佳實踐,為特定的用例量身定制。
從4.0版本開始,GATK包含Picard工具包,因此所有Picard工具都可以從GATK本身中獲得。他們的文檔可以在本網站的工具索引部分找到。
本次內容有:
- 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
如果沒有服務器可以練習,官網提到他們有一個云平臺: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是有原因的,但不用擔心;看下一點
- 通過“GATK”包裝器腳本調用GATK,而不是直接調用任何一個jar
- 基本語法是
gatk [--java-options "-Xmx4G"] ToolName [GATK args]
; 詳情請點擊這里:https://gatk.broadinstitute.org/hc/en-us/articles/360035531892 - 使用[Terra工作區: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操作系統,Java1.8,還有部分額外的R和Python依賴。相關依賴見:https://gatk.broadinstitute.org/hc/en-us/articles/360035889531。
強烈建議使用Docker容器系統,所有已發布的GATK4版本都可以在Dockerhub中找到預先打包的容器映像:https://hub.docker.com/r/broadinstitute/gatk/
如果你不能使用Docker,請使用我們提供的Conda環境來管理依賴關系,如github存儲庫README中所述:https://github.com/broadinstitute/gatk/blob/master/README.md
需要Python 2.6或更高版本來運行gatk包裝器腳本。
如果遇到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/。
下面的說明假設您已將GATK包下載到本地機器,并計劃直接運行它。
下載后,會在結果目錄中發現四個文件:
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工具,即在常規服務器或集群上)的jar。
那么,這是否意味著您每次都必須指定要運行哪個程序?不!看到里面的gatk文件了嗎?這是您調用的可執行包裝器腳本,它將根據命令行的其余部分為您選擇合適的jar。
5. Install it
傳統意義上不需要安裝,因為預編譯的jar文件應該可以在任何滿足上面列出的要求的POSIX平臺上工作。您只需要打開下載的包,并將包含jar文件和啟動腳本的文件夾放在硬盤驅動器(或服務器文件系統)上一個方便的目錄中。
在bash中,典型的語法是export PATH="/ PATH /to/gatk-package/:$PATH",其中/ PATH /to/gatk-package/是gatk可執行文件所在位置的路徑。請注意,jar必須保持在與gatk相同的目錄中才能工作。確保在你的路徑中包含最后的/。
還可以在.bash_profile文件中創建可執行文件的別名,這樣只需輸入gatk就會運行文件路徑:alias gatk='/path/to/gatk-package/gatk'。
這里我一般會選擇用絕對路徑調用它!
6. Test that it works
./gatk --help
可以成功調用出幫助文檔:
7. Run GATK and Picard commands
工具索引部分列出了可用的工具,并詳細描述了可用的選項:https://gatk.broadinstitute.org/hc/en-us/categories/360002369672。調用任何GATK或Picard工具的基本語法如下:
gatk [--java-options "jvm args like -Xmx4G go here"] ToolName [GATK args go here]
可以在這里找到有關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工具的語法
當在GATK中使用時,所有Picard工具都使用與GATK相同的語法。相對于“Picard”風格語法的轉換非常簡單;例如,I=input. bam,你現在做-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)數據中執行變體發現分析提供逐步建議。我們有幾個這樣的工作流是根據項目目標(根據感興趣的變量類型)和實驗設計(根據排序方法類型)量身定制的。雖然它們最初是為人類基因組研究設計的,但GATK最佳實踐可以用于分析各種非人類生物體,包括非二倍體。
最佳實踐的文檔包括對所涉及過程的高級描述,解釋更深入細節的各種文檔,以及根據約束和用例可以做出的調整,這些建議的一組實際管道實現,以及可能是最重要的研討會材料,包括幻燈片、視頻和指導您完成每個步驟的教程。
9. Run pipelines
我們提供了GATK最佳實踐工作流的腳本實現以及一些額外的輔助/輔助腳本,以便每個人都能更容易地運行這些有時相當復雜的工作流。
這些工作流是用WDL編寫的,旨在在任何支持WDL執行的平臺上運行。選項列在用戶指南的流水線部分:https://gatk.broadinstitute.org/hc/en-us/articles/360035889771。我們的首選是 Cromwell 執行引擎,與GATK一樣,它也是由Broad的數據科學平臺(DSP)開發的,并且可以作為服務在我們的云平臺Terra(以前稱為FireCloud)上使用。
如果您選擇通過Terra運行GATK工作流,則實際上不需要執行上述任何操作,因為所有內容都已經以隨時可運行的形式預加載(軟件、腳本,甚至一些示例數據)。在這一點上,這是運行工作流最簡單的方法,就像我們在自己的工作中所做的那樣。如上所述,我們已經在一個名為Terra的云平臺上的預配置工作區中設置了所有的最佳實踐管道,因此您可以嘗試它們,而無需進行任何設置。您可以將結果與其他管道進行比較,也可以上傳您自己的數據(私下和安全地)來測試我們的管道在這些管道上的表現。
這瘋狂的推薦他們的云平臺Terra,后面去看看要不要收費?。。?/p>
10. Get Help
我們通過非?;钴S的社區論壇(https://gatk.broadinstitute.org/hc/en-us/community/topics)提供所有支持。您可以根據以下指導原則提出問題并報告可能遇到的任何問題:
在尋求幫助之前
在論壇上發表文章前,請做以下工作:
1.使用每個頁面右上角的搜索框,它將搜索所有內容,包括用戶指南和論壇。
2.如果有些東西不工作:
- 對所有輸入文件運行驗證檢查,以確保它們的格式正確
- 請參閱用戶指南中的“故障排除GATK4問題”部分:https://gatk.broadinstitute.org/hc/en-us/sections/360007226791,該部分涵蓋了非錯誤的常見問題
- 在論壇中搜索以前的報告,例如使用錯誤消息
- 請再次嘗試您正在使用的任何工具的最新版本
尋求幫助時
當詢問一個問題時,請包括以下內容:
- 所有版本信息(GATK版本,Java,如果可能的話,您的操作系統)。
- 不要只是告訴我們你在遵循最佳實踐——準確地描述你在做什么。
- 包括相關細節,例如平臺,DNA或rna測序,WES(+捕獲試劑盒)或WGS(無PCR或PCR+),配對或單端,讀取長度,預期平均覆蓋范圍,體細胞數據等。
- 對于工具錯誤,包括您運行的完整命令和堆棧跟蹤(_i.e.)。如果有的話,那就是終端輸出中那一長堆難以讀懂的軟件官樣文章。
- 對于格式問題,包括對bam運行ValidateSamFile或對vcf運行validatvariants的結果。
- 對于奇怪/意外的結果,包括一個說明性的例子,例如附上IGV截圖,并詳細解釋為什么你認為結果是奇怪的-特別是如果你正在處理非人類數據。我們可能沒有意識到你的不是常用物種。
我們通常會在一到兩個工作日內回復您,但請注意,更復雜的問題(或不明確的報告)可能需要更長的時間來解決。另外,一年中有些時候我們特別忙,我們可能會比平時花更長的時間來回答你的問題。
我們可能會要求您提交一份正式的bug報告,其中包括向我們發送一些測試數據,我們可以使用這些數據自己重現問題。這通常是調試所需要的。請放心,我們將所有傳輸給我們的數據視為私人和機密。在某些情況下,我們可能會請求您的許可,在我們的測試框架中包含您的測試用例的片段,這是公開訪問的。在這種情況下,您有責任與數據的所有者核實您是否被授權允許我們公開該數據。
請注意,本文檔指南中的信息是針對最終用戶的。對于開發人員來說,源代碼和相關資源可以在GitHub上獲得。
11. Subscribe to forum notifications
考慮訂閱論壇通知和公告,這樣當我們回答你的問題時,你就會收到一封電子郵件,當我們在博客上發布新內容時,這是了解新功能和機會的最佳方式。有關說明,請參閱此鏈接:https://gatk.broadinstitute.org/hc/en-us/articles/360035889511
這份教程寫的真棒??!當然指的原文~