bwa參數(shù)說明和Q&A

本文全文摘抄于簡書:序列比對BWA(Burrows-Wheeler Aligner)

僅用于方便個人學(xué)習(xí),如有侵權(quán),請?zhí)嵝褎h除,謝謝

參考資料:bwa手冊
參考資料:bwaFAQ

序列比對BWA(Burrows-Wheeler Aligner)

BWA (Burrows-Wheeler Aligner)

BWA主要是將reads比對到大型基因組上,主要功能是:序列比對。首先通過BWT(Burrows-Wheeler Transformation,BWT壓縮算法)為大型參考基因組建立索引,然后將reads比對到基因組。特點(diǎn)是快速、準(zhǔn)確、省內(nèi)存。由三種類似算法組成:BWA-backtrack,BWA-SW和BWA-MEM。首推BWA-MEM。

三種算法的適用范圍

  • BWA-backtrack:reads長度<70bp時,推薦本算法,建議輸入reads長度 < 100bp。
  • BWA-SW:在reads具有頻繁的gap時,比對更敏感,推薦本算法。reads長度一般為70bp-1Mbp,支持long-reads,split alignment。
  • BWA-MEM(首推):在reads長度在70bp-1Mbp范圍時,推薦本算法(除了上面兩種情況)。支持long-reads,split alignment。

語法

  • bwa index ref.fa #首先建立基因組索引

  • bwa mem ref.fa reads.fq > aln-se.sam # 調(diào)用BWA-MEM

  • bwa mem ref.fa read1.fq read2.fq > aln-pe.sam # 調(diào)用BWA-MEM

  • bwa aln ref.fa short_read.fq > aln_sa.sai # 調(diào)用BWA-backtrack

  • bwa samse ref.fa aln_sa.sai short_read.fq > aln-se.sam # 調(diào)用BWA-backtrack

  • bwa sampe ref.fa aln_sa1.sai aln_sa2.sai read1.fq read2.fq > aln-pe.sam # 調(diào)用BWA-backtrack

  • bwa bwasw ref.fa long_read.fq > aln.sam # 調(diào)用BWA-SW

  • 注意:BWA輸入的是fastq/fq的原始測序數(shù)據(jù)。

BWA參數(shù)

SAM格式

short-reads比對

  • 比對精度
  • 評估插入長度分布
  • 比對速度
    比對速度很大程度取決于請求序列的錯誤率(r)。當(dāng)接近完全匹配時,BWA速度最快。當(dāng)允許多個失配時,BWA需要尋找更多的候選位點(diǎn)。允許太多失配時,不建議采用BWA。

BWA-0.6的改變

0.6版本以來,BWA可以處理長度在4G以上的基因組。這樣有可能將正負(fù)鏈互補(bǔ)的基因組序列整合到一個索引(FM-index)中去,可以使BWA-short和BWA-SW更快。
最新版本BWA-SW同樣可以處理長度大于100bp的pair-end reads。與BWA-short相比,BWA-SW對高度唯一的reads準(zhǔn)確性更高和相對更長的插入與結(jié)構(gòu)突變時更穩(wěn)健。盡管如此,從許多次優(yōu)比對中選取最優(yōu)比對時,BWA-short更好。

其他情況

  1. 一個read有多部分匹配
    BWA-MEM / BWA-SW可以報告單個reads分段比對到基因組上不同位置。在結(jié)構(gòu)變異,基因融合或參考序列錯誤組合等情況下,多部分比對是可能的。這需要后續(xù)分析??墒褂眠x項(xiàng)'-M'將附加匹配標(biāo)記為次要。
  2. BWA是否可以發(fā)現(xiàn)嵌合reads(chimeric reads)?
    是的,BWA-SW和BWA-MEM都能找到嵌合reads。 BWA通常為每次讀取報告一個比對,但如果read/config是嵌合reads,則可以輸出兩個或多個比對。(我想:應(yīng)與上面的1相同)
  3. BWA是否分析SNP?
    不,BWA只比對。其SAM格式輸出結(jié)果,可通過如samtoolsGATK分析SNP。
  4. paired-end數(shù)據(jù)中一條reads具有很高的比對質(zhì)量(high mapping quality),另一條是0
    這是對的。比對質(zhì)量是分配給單個read,而不是讀read pair。
  5. BWA是否能處理長度超過4GB的參考序列?
    是。自0.6.x以來,所有BWA算法都可以處理總長度超過4GB的基因組。但是,單個染色體不應(yīng)超過2GB。
  6. 測序錯誤的容忍度是多少?
    Bwa-back主要為reads錯誤率小于2%而設(shè)計??赏ㄟ^命令行參數(shù)調(diào)整算法對錯誤率的容忍度,但其性能會迅速降低。對于Illumina讀取,bwa-backtrack可以在比對前將3'端低質(zhì)量堿基修剪,3'尾部有高錯誤率的很多reads能夠完成比對,這是Illumina數(shù)據(jù)的典型特征。
    BWA-SW和BWA-MEM在給定較長對準(zhǔn)的情況下都容忍更多的錯誤。仿真表明,如果100bp對齊誤差為2%,200bp誤差為3%,500bp誤差為5%,1000bp或更長對齊誤差為10%,則仿真結(jié)果可能會很好。
  7. 有reads比對出染色體末端,并被標(biāo)記為未映射(標(biāo)志0x4)。這里發(fā)生了什么?
    BWA內(nèi)部實(shí)現(xiàn)時,會將所有參考序列先連接成一個長序列。reads可以被映射到兩個相鄰參考序列的交點(diǎn)。在這種情況下,BWA會將讀取標(biāo)記為未映射,不過你會看到位置,CIGAR和所有標(biāo)記。一個更好的解決方案是選擇一個替代的位置或者調(diào)整最終的比對方式,但是這在編程中非常復(fù)雜,目前尚未實(shí)現(xiàn)。

本文主要參考BWA官方說明文檔BWA手冊

Published Articles:

  • The short read alignment component (bwa-short) has been published:
    Li H. and Durbin R. (2009) Fast and accurate short read alignment with Burrows-Wheeler Transform. Bioinformatics, 25:1754-60. [PMID: 19451168]
  • If you use BWA-SW, please cite:
    Li H. and Durbin R. (2010) Fast and accurate long-read alignment with Burrows-Wheeler Transform. Bioinformatics, Epub. [PMID: 20080505]
  • If you use the fastmap component of BWA, please cite:
    Li H. (2012) Exploring single-sample SNP and INDEL calling with whole-genome de novo assembly. Bioinformatics, 28, 1838-1844. [PMID: 22569178]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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