我們很高興地宣布,磁盤上的索引大小減小了8次,並且在內存中的記憶中只有4次,因為僅移至一種類型的FM索引(2bit.64而不是2bit.64和8bit. 32)和8x壓縮後綴陣列。例如,對於人類基因組,磁盤上的索引大小從〜80GB降至〜10GB,並且記憶足跡降至〜40GB的〜10GB。由於降低,索引時間的降低大幅下降,幾乎沒有對讀取映射的任何性能影響。由於索引結構的這種變化(在2020年10月10日的提交#4B59796中),您將需要重建索引。
在提交A591E22中的輸出SAM文件中添加了MC標誌。輸出應匹配原始BWA-MEM版本0.7.17。
從提交E0AC59E開始,我們有一個git subsodule safestringlib。要獲得它,請在已經克隆的存儲庫中使用克隆或使用“ Git subpodule Init”和“ Git Subsodule Update”時使用 - 恢復性(有關更多詳細信息,請參見下文)。
#使用預編譯的二進製文件(推薦)curl -l https://github.com/bwa-mem2/bwa-mem2/releases/download/download/v2.2.1/bwa-mem2-2.2.1_x64-linux.tar .tar.tar.tar.bz2 | TAR JXF- BWA-MEM2-2.2.1_x64-Linux/BWA-MEM2索引參考 BWA-MEM2-2.2.2.1_x64-linux/bwa-mem2 mem ref.fa read1.fq read2.fq> out.sam#compile#commile#compile commile(不推薦給一般用戶)#獲取sourcegit clone-recursive https https :// https:// github.com/bwa-mem2/bwa-mem2cd bwa-mem2#orgit克隆https://github.com/bwa-mem2/bwa-mem2/bwa-mem2cd bwa-mem2 git subsodule init git子模塊更新#編譯和runmake ./bwa-mem2
該工具BWA-MEM2是BWA中BWA-MEM算法的下一個版本。它產生的對齊方式與BWA相同,並且根據用例,數據集和運行機器的速度約為1.3-3.1倍。
原始BWA由Heng Li(@LH3)開發。 BWA-MEM2的性能增強主要是由Vasimuddin MD(@Yuk12)和Sanchit Misra(@Sanchit-Misra)從英特爾(Intel)進行的。 BWA-MEM2根據MIT許可證分發。
對於一般用戶,建議使用發布頁面中的預編譯二進製文件。這些二進製文件與英特爾編譯器一起編譯,並且運行速度比GCC計算的二進製文件更快。預編譯的二進製文件還間接支持CPU調度。 bwa-mem2
二進製文件可以自動根據運行計算機上可用的SIMD指令集選擇最有效的實現。使用以下命令行在CentOS7機器上生成了預編譯的二進製文件:
使CXX = ICPC Multi
使用與原始BWA MEM工具完全相同。這是一個簡短的概述。為可用命令運行./bwa-mem2。
#索引參考序列(需要28n GB內存,其中n是參考序列的大小)../ bwa-mem2索引[-p prefix] <in.fasta>其中 <in.fasta>是參考序列fasta文件的途徑,並且 <prefix>是存儲結果索引的文件名稱的前綴。默認值為IN.FASTA。#映射#運行“ ./bwa-mem2 mem”獲取所有選項。/bwa-mem2mem -t <Num_threads> <prefix> <prefix> <reads.fq/fq/fa>> out. sam 其中<prefix>是創建索引或參考Fasta文件的路徑時指定的前綴,以防不提供前綴。
數據集:
參考基因組:human_g1k_v37.fasta
別名 | 數據集源 | 閱讀數 | 閱讀長度 |
---|---|---|---|
D1 | 廣泛研究所 | 2 x 2.5m bp | 151bp |
D2 | SRA:SRR7733443 | 2 x 2.5m bp | 151bp |
D3 | SRA:SRR9932168 | 2 x 2.5m bp | 151bp |
D4 | SRA:SRX6999918 | 2 x 2.5m bp | 151bp |
機器詳細信息:
處理器:Intel(R)Xeon(R)8280 CPU @ 2.70GHz
OS:Centos Linux版本7.6.1810
內存:100GB
我們遵循以下步驟收集績效結果:
A.數據下載步驟:
從https://trace.ncbi.nlm.nih.gov/traces/sra/sra/sra/sra.cgi?view=softwarewheader-global下載SRA Toolkit
tar xfzv sratoolkit.2.10.5 centos_linux64.tar.gz
下載D2:sratoolkit.2.10.5-centos_linux64/bin/fastq-dump -slit-files srr7733443
下載D3:sratoolkit.2.10.5-centos_linux64/bin/fastq-dump -slit-files srr9932168
下載D4:sratoolkit.2.10.5-centos_linux64/bin/fastq-dump -slit-files srx69999918
B.對準步驟:
git克隆https://github.com/bwa-mem2/bwa-mem2.git
CD BWA-MEM2
make CXX=icpc
(使用Intel C/C ++編譯器)
或make
(使用GCC編譯器)
./bwa-mem2索引<ref.fa>
./bwa-mem2 mem [-t <#threads>] <ref.fa> <in_1.fastq> [<in_2.fastq>]> <output.sam>
例如,在我們的雙套接字(每個56個線程)和Double Numa計算節點中,我們使用以下命令行將D2與Human_G1K_V37.Fasta參考基因組相結合。
numactl -m 0 -C 0-27,56-83 ./bwa-mem2 index human_g1k_v37.fasta numactl -m 0 -C 0-27,56-83 ./bwa-mem2 mem -t 56 human_g1k_v37.fasta SRR7733443_1.fastq SRR7733443_2.fastq > d2_align.sam
BWA-MEM2-LISA是BWA-MEM2的加速版,我們將學習索引應用於播種階段。 BWA-MEM2-LISA分支包含實現的源代碼。以下是BWA-MEM2-LISA的特徵:
與BWA-MEM2完全相同。
創建索引和讀取映射的所有命令線與BWA-MEM2完全相同。
與BWA-MEM2相比,BWA-MEM2-LISA可加速播種階段(BWA-MEM2中的主要瓶頸之一)。
對於人基因組,BWA-MEM2-LISA指數的記憶足跡約為120GB。
該代碼存在於BWA-MEM2-LISA分支:https://github.com/bwa-mem2/bwa-mem2/bwa-mem2/tree/bwa-mem2-lisa
BWA-MEM2存儲庫的ERT分支包含基於BWA-MEM2的基於輻射樹的加速度的代碼庫。 ERT代碼構建在BWA-MEM2的頂部(這要歸功於 @arun-sub的辛勤工作)。以下是基於ERT的BWA-MEM2工具的亮點:
與BWA-MEM完全相同(2)
該工具還有兩個附加標誌來啟用ERT解決方案(用於創建索引和映射),否則它以Vanilla BWA-MEM2模式運行
它使用1個額外標誌來創建ERT索引(與BWA-MEM2索引不同)和1個使用該ERT索引的附加標誌(請參閱ERT Branch的讀數)
與Vanilla BWA -MEM2相比,ERT解決方案更快10%-30%(在上述機器配置上測試) - 建議用戶使用選項-K 1000000
來查看Speedups
ERT索引的記憶腳打印〜60GB
該代碼存在於ERT分支:https://github.com/bwa-mem2/bwa-mem2/tree/ert/ert
Vasimuddin MD,Sanchit Misra,Heng Li,Srinivas Aluru。 BWA-MEM的有效體系結構與多核心系統的加速度。 IEEE平行和分佈式處理研討會(IPDPS),2019。10.1109/ipdps.2019.00041