DNASeq管道

重要的

這個文檔已經退休了,可能不會被更新。產品、服務或技術中提到的這些內容不再支持。

磚基因組學的運行時已被棄用。開源的等價物,看到回購genomics-pipelines發光。生物信息學庫是運行時的一部分被釋放集裝箱碼頭工人,可從ProjectGlow Dockerhub頁麵。

關於磚運行時棄用策略的更多信息和時間表,看看磚運行時版本和支持計劃的支持

請注意

以下庫版本打包在磚7.0運行時的基因組學。磚庫包括在低版本的運行時對基因組學、看發布說明

磚DNASeq管道GATK最佳實踐兼容管道短讀對齊,變異召喚,注釋和變體。它使用以下軟件包,並行使用火花。

  • BWA v0.7.17

  • 亞當v0.32.0

  • GATK HaplotypeCaller v4.1.4.1

  • SnpEff v4.3

關於管道實現和預期運行時的更多信息和成本為各種選項的組合,看看在Scala建設最快的DNASeq管道

設置

管道運行作為一個磚的工作。你可以設置一個集群政策保存配置:

{“num_workers”:{“類型”:“無限”,“defaultValue”:13},“node_type_id”:{“類型”:“無限”,“defaultValue”:“c5.9xlarge”},“spark_env_vars.refGenomeId”:{“類型”:“無限”,“defaultValue”:“grch38”},“spark_version”:{“類型”:“正則表達式”,“模式”:”。* hls。*”,“defaultValue”:“7.4.x-hls-scala2.12”},“aws_attributes.ebs_volume_count”:{“類型”:“無限”,“defaultValue”:3},“aws_attributes.ebs_volume_size”:{“類型”:“無限”,“defaultValue”:200年}}
  • 基因組學的集群配置應該使用磚運行時。

  • 這個任務應該是DNASeq筆記本發現這一頁的底部。

  • 最佳性能,使用優化計算實例與至少60 gb的內存。我們建議c5.9xlarge

  • 如果你跑步基礎質量分數調整,使用通用(m5.4xlarge)實例,而不是因為這個操作需要更多的內存。

  • 為了降低成本,使用所有現場工人的現貨跌回隨需應變選項選中。

  • 附上3 200 gb的SSD EBS卷

參考基因組

你必須使用一個配置參考基因組環境變量。使用GRCh37,設置環境變量:

refGenomeId=grch37

使用GRCh38相反,替換grch37grch38

自定義參考基因組

使用參考構建除了GRCh37或GRCh38,遵循這些步驟:

  1. 準備與BWA GATK參考使用。

    參考基因組目錄內容應該包括這些文件:

    <引用名稱>。dict <引用名稱>。fa <引用名稱> .fa。amb <引用名稱> .fa。安<引用名稱> .fa。bwt <引用名稱> .fa。fai <引用名稱> .fa。pac <引用名稱> .fa.sa
  2. 參考基因組的文件上傳到雲存儲或DBFS目錄。如果你將文件上傳到雲存儲,你必須的掛載的目錄在DBFS位置

  3. 在集群配置中,設置一個環境變量REF_GENOME_PATH指在DBFS fasta文件的路徑。例如,

    REF_GENOME_PATH=/ mnt /參考基因組/ reference.fa

    路徑必須不包括dbfs:前綴。

    當你使用一個自定義的參考基因組,SnpEff注釋階段是跳過。

提示

在集群的初始化,數據磚DNASeq管道使用BWA提供索引文件生成一個索引圖像文件。如果您計劃使用相同的參考基因組很多次,你可以加速集群啟動提前通過構建索引圖像文件。這個過程將會減少集群啟動時間約30秒。

  1. 參考基因組目錄複製到磚的司機節點集群運行時對基因組學。

    % sh cp - r / dbfs / < reference-dir-path > / local_disk0 /參考基因組
  2. 從BWA生成索引圖像文件索引文件。

    進口orgbroadinstitute魯莽的人跑龍套bwa_BwaMemIndexcreateIndexImageFromIndexFiles(“/ local_disk0 /參考基因組/ <引用名稱> .fa”,“/ local_disk0 /參考基因組/ <引用名稱> .fa.img”)
  3. 到索引圖像文件複製到參考fasta文件相同的目錄中。

    % sh cp / local_disk0 /參考基因組/ <引用名稱> .fa。img / dbfs / < reference-dir-path >
  4. 刪除不需要的文件(BWA指數.amb,.ann,.bwt,.pac,.sa從DBFS)。

    % fs rm <文件>

參數

管道接受參數,控製其行為。最重要和常見的改變參數記錄;其餘的可以找到DNASeq筆記本。導入筆記本之後,它作為一個工作任務,您可以設置這些參數所有運行orgydF4y2Ba每次運行

參數

默認的

描述

清單

n /一個

描述輸入清單。

輸出

n /一個

管道輸出應該寫的路徑。

replayMode

跳過

之一:

  • 跳過:如果輸出階段跳過已經存在。

  • 覆蓋:現有的輸出被刪除。

exportVCF

如果這是真的,管道導致VCF以及三角洲湖寫道。

referenceConfidenceMode

沒有一個

之一:

  • 如果沒有一個,隻有變體網站是包含在輸出中

  • 如果GVCF,所有的網站都包括在內,與相鄰參考網站帶狀。

  • 如果BP_RESOLUTION,所有的網站都包括在內。

perSampleTimeout

12小時

一個超時每樣例應用。達到這個超時後,管道繼續到下一個樣品。該參數的值必須包括一個超時單元:“年代”秒,“m”分鍾,或“h”數小時。例如,60米的導致超時60分鍾。

提示

優化運行時,設置spark.sql.shuffle.partitions火花配置三倍數量的集群的核心。

定製

你可以定製DNASeq管道通過禁用讀對齊,變體的召喚,注釋和變體。默認情況下,所有三個階段都是激活的。

瓦爾管道=DNASeqPipeline(對齊=真正的,callVariants=真正的,注釋=真正的)

禁用變異注釋,管道設置如下:

瓦爾管道=DNASeqPipeline(對齊=真正的,callVariants=真正的,注釋=)

允許階段組合是:

讀一致性

變量調用

變異注釋

真正的

真正的

真正的

真正的

真正的

真正的

真正的

真正的

真正的

清單格式

清單是一個CSV文件或blob描述在哪裏找到輸入FASTQ或BAM文件。例如:

file_path、sample_id paired_end, read_group_id * _R1_ * .fastq。bgz HG001 1, read_group * _R2_ * .fastq.bgz, HG001, 2, read_group

如果你的輸入包括對齊BAM文件,你應該省略了paired_end字段:

file_path、sample_id paired_end, read_group_id *本,HG001、read_group

提示

如果提供的清單是一個文件,file_path在每一行可以是一個絕對路徑或相對路徑清單文件。如果提供的清單是一個blob,file_path字段必須是一個絕對路徑。可以包含著(*)許多文件相匹配。

支持輸入格式

  • 山姆

  • BAM

  • 補習

  • 拚花

  • FASTQ

    • bgzip* .fastq.bgz(推薦)bgzipped文件* .fastq.gz擴展是公認的bgz

    • 未壓縮的* .fastq

    • gzip* .fastq.gz

重要的

gzip文件不是可剝離。選擇自動定量集群來最小化成本這些文件。

塊壓縮FASTQ,安裝htslib,包括bgzip可執行文件。

在本地

gunzip - c <我的文件> . gz結尾|bgzip - c|aws s3 cp - s3: / / < my-s3-file-path > .bgz

從S3

aws s3 cp s3: / / < my-s3-file-path >。廣州- - - - - -|gunzip - c|bgzip - c|aws s3 cp - s3: / / < my-s3-file-path > .bgz

輸出

對齊的讀取,稱為變體,和注釋的變異都寫入三角洲表內所提供的輸出目錄是否啟用相應的階段。每個表由樣本分區ID。此外,如果你配置了管道出口BAMs或vcf,他們會出現在輸出目錄。

|——比對|——-sampleId = HG001 |——鑲花文件|——對齊。bam |——-HG001。bam |——注釋| | - - - -它文件注釋。vcf |——-HG001.vcf|---genotypes |---Delta files |---genotypes.vcf |---HG001.vcf

運行管道新樣本時,它會顯示為一個新的分區。如果你運行的管道樣本已經出現在輸出目錄,該分區將被覆蓋。

以來的所有信息可在三角洲湖,你可以很容易地分析它與火花在Python中,R, Scala或SQL。例如:

#加載數據df=火花格式(“δ”)負載(“基因組學/ output_dir /基因型”)#顯示所有從12號染色體變異顯示(df在哪裏(“contigName = = 12”)orderBy(“sampleId”,“開始”))
——目錄中注冊表創建基因型使用δ位置/基因組學/ output_dir /基因型的

故障排除

工作是緩慢和幾個任務正在運行

通常表明輸入FASTQ文件壓縮gzip而不是bgzip。gzip文件不是可剝離,所以輸入不能並行處理。

通過編程的方式運行

除了使用用戶界麵,您可以開始運行的管道以編程方式使用磚CLI(遺留)

找到工作的id

在UI設置管道工作後,複製工作ID當你通過它工作現在CLI命令。

這裏有一個例子bash腳本,您可以調整您的工作流:

#生成清單文件< <這裏> manifest.csvfile_path、sample_id paired_end read_group_iddbfs:基因組學/ my_new_sample / * _R1_ * .fastq.bgz my_new_sample, 1, read_groupdbfs:基因組學/ my_new_sample / * _R2_ * .fastq.bgz my_new_sample, 2, read_group在這裏# DBFS上傳文件DBFS_PATH=基因組學dbfs: / /表現/$ (日期+“% Y - % m - H % dT % - % - % S”)清單。csv數據磚fs cp manifest.csvDBFS_PATH美元#啟動一個新的運行工作現在,作業id <作業id >——notebook-params“{\“清單\”:\”DBFS_PATH美元\“}”

除了從命令行運行開始,您可以使用這個模式來調用管道從詹金斯等自動化係統。