2023-GATK4-Best Practices|| Getting started with GATK4(一)

老規(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)容有:

  1. Preview the pipelines
  2. Quick start for the impatient
  3. Requirements
  4. Get GATK
  5. Install it
  6. Test that it works
  7. Run GATK and Picard commands
  8. Learn the Best Practices
  9. Run pipelines
  10. Get help
  11. 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

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)用出幫助文檔:

image-20231108133928616.png

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)然指的原文~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容