注意:MiniMAP2已取代BWA-MEM的PACBIO和Nanopore讀取對齊。它保留了所有主要的BWA-MEM功能,但速度更快,更通用,更準確,並產生更好的基礎水平對齊。 BWA-MEM2的Beta版本已發布用於簡讀映射。 BWA-MEM2的速度大約是BWA-MEM的兩倍,並且輸出接近相同的比對。
git clone https://github.com/lh3/bwa.git
cd bwa; make
./bwa index ref.fa
./bwa mem ref.fa read-se.fq.gz | gzip -3 > aln-se.sam.gz
./bwa mem ref.fa read1.fq read2.fq | gzip -3 > aln-pe.sam.gz
BWA是用於針對大型參考基因組(例如人類基因組)繪製DNA序列的軟件包。它由三種算法組成:BWA-BACKTRACK,BWA-SW和BWA-MEM。第一種算法是為Illumina序列設計的,最多可讀取100bp,而其餘兩個則用於更長的序列,範圍從70bp到幾兆瓦。 BWA-MEM和BWA-SW具有相似的功能,例如對長讀數和嵌合對齊的支持,但是通常建議使用最新的BWA-MEM,因為它更快,更準確。 BWA-MEM在70-100bp Illumina讀取中的性能也比BWA-BackTrack更好。
對於所有算法,BWA首先需要構建參考基因組(索引命令)的FM索引。對齊算法由不同的子命令調用:BWA-BackTrack的Aln/Samse/Sampe , BWASW的BWA-SW和MEM用於BWA-MEM算法。
BWA在GPLV3下發布。最新的源代碼可以在GitHub免費獲得。可以在SourceForge下載發布的軟件包。獲取源代碼後,只需使用make
將單個可執行的bwa
複製到所需的目標。構建BWA所需的唯一依賴性是Zlib。
自0.7.11以來,Bwakit提供了X86_64-Linux的預編譯二進製文件。除了BWA之外,此自一致的軟件包還配備了與BWA相關的和第三方的工具,可用於適當的BAM到FASTQ轉換,映射到Alt Contigs,適配器修剪,重複標記,HLA鍵入,HLA鍵入和關聯的數據文件。
詳細用法與源代碼一起使用的MAN頁面中描述。您可以使用man ./bwa.1
在終端中查看MAN頁面。可以在BWA網站上找到人類頁面的HTML版本。如果您對BWA有疑問,則可以註冊郵件列表,然後將問題發送到[email protected]。您也可以在Biostar和Seqanswers等論壇中提出問題。
Li H. and Durbin R.(2009)與Burrows-wheeler變換快速準確的短讀對準。生物信息學, 25,1754-1760 。 [PMID:19451168]。 (如果使用BWA-BackTrack算法)
Li H. and Durbin R.(2010)與Burrows-Wheeler變換快速準確的長閱讀對齊。生物信息學, 26,589-595 。 [PMID:20080505]。 (如果使用BWA-SW算法)
Li H.(2013)對齊序列讀取,克隆序列和帶有BWA-MEM的組件。 ARXIV:1303.3997V2 [q-bio.gn]。 (如果使用BWA-MEM算法或FastMap命令,或者想引用整個BWA軟件包)
請注意,最後一個引用是託管在arxiv.org上的預印本。我沒有計劃在不久的將來將其提交給同行評審的日記。
儘管最佳算法和設置可能會有所不同,但BWA可與多種類型的DNA序列數據一起使用。以下列表提供了建議的設置:
Illumina/454/Iontorrent單端讀取的讀數長於〜70bp或組件的重疊群,最多可映射到密切相關的參考基因組:
bwa mem ref.fa reads.fq > aln.sam
Illumina單端讀取的讀數短於〜70bp:
bwa aln ref.fa reads.fq > reads.sai; bwa samse ref.fa reads.sai reads.fq > aln-se.sam
Illumina/454/iontorrent配對末端讀取的讀數超過〜70bp:
bwa mem ref.fa read1.fq read2.fq > aln-pe.sam
Illumina配對末端讀取的讀數短於〜70bp:
bwa aln ref.fa read1.fq > read1.sai; bwa aln ref.fa read2.fq > read2.sai
bwa sampe ref.fa read1.sai read2.sai read1.fq read2.fq > aln-pe.sam
PACBIO子讀物或牛津納米孔讀取參考基因組:
bwa mem -x pacbio ref.fa reads.fq > aln.sam
bwa mem -x ont2d ref.fa reads.fq > aln.sam
對於各種錯誤率(或序列差異),建議將BWA-MEM用於查詢序列的時間長於〜70bp。通常,由於缺少所有種子的機會很小,因此BWA-MEM更寬容,錯誤給出了更長的查詢序列。如上所述,在非默認設置的情況下,BWA-MEM與牛津納米孔一起使用,其測序錯誤率超過20%。
BWA-SW和BWA-MEM執行局部對齊。如果有易位,基因融合或長刪除,則橋接斷裂點的讀取可能具有兩個命中,在SAM輸出中佔據了兩條線。借助BWA-MEM的默認設置,一條和只有一條線是主要的,並且被軟剪裁;其他線條用0x800 SAM標誌(補充對齊)標記並進行了硬剪切。
是的。自0.6.x以來,所有BWA算法都可以與總長度超過4GB的基因組一起使用。但是,單個染色體的時間不應大於2GB。
這是正確的。分配了映射質量,用於單個閱讀,而不是讀取對。可能會明確映射一個讀取,但其伴侶串聯重複,因此無法確定其準確的位置。
內部BWA將所有參考序列串聯成一個長序列。讀取可以映射到兩個相鄰參考序列的連接。在這種情況下,Bwa-backTrack將標記為未蓋的讀取(0x4),但是您會看到位置,雪茄和所有標籤。 BWA-SW對齊也可能會出現類似的問題。 BWA-MEM沒有這個問題。
是的,由於0.7.11,BWA-MEM正式支持映射到GRCH38+ALT。到目前為止,BWA-BackTrack和BWA-SW還沒有適當地支持Alt映射。有關詳細信息,請參見readme-alt.md。簡而言之,建議使用bwakit(BWA的二元釋放)來生成參考基因組和映射。
如果您對Alt Cortig不感興趣,則可以在不進行後處理的情況下運行BWA-MEM。以這種方式產生的對齊方式非常接近與沒有ALT重疊群的GRCH38的對齊。儘管如此,應用後處理有助於減少由Alt Contigs差異部分讀取引起的虛假映射,並且還可以啟用HLA鍵入。建議運行後處理腳本。