比对算法总结(三)——BWA-MEM 算法

今天要介绍的这篇文献是生物信息领域的大神李恒2013年发表于《BIOINFORMATICS》杂志上的 BWA-MEM 算法的文章,在此之前李恒已经于2009年发表了短序列比对的算法工具 BWA《Fast and accurate short read alignment with Burrows–Wheeler transform》,于2010年发表了长序列比对的算法工具BWA-SW《Fast and accurate long-read alignment with Burrows–Wheeler transform》。BWA-MEM 算法在BWA、BWA-SW基础上又做了诸多改进,同时适用于短reads和长reads的比对分析。自此之后 BWA-MEM 和 Bowite2 一起成为序列比对领域,特别是人基因组重测序领域最常使用的比对工具 ,它们都属于BWT索引结构的比对算法。

摘要

BWA-MEM 是一种新的比对算法,用于将测序 reads 或者组装后 contigs 比对至大型参考基因组,例如人参考基因组。它会自动选择局部比对和 end-to-end 比对模式,支持PE reads 比对和嵌合体比对。该算法对测序错误有良好的稳定性,适用的reads 长度范围较广,从70bp至几Mb。对于100bp的序列,BWA-MEM算法的表现是目前所有比对软件中最好的。BWA-MEM算法被嵌套入了 BWA 软件,具体代码和说明见 http://github.com/lh3/bwa.

1 引言

NGS测序刚兴起时测试reads长度在36bp左右,在这个阶段有许多比对软件被开发出来。对于36bp的reads ,采用 end-to-end 比对的方法,将reads的所有碱基都比对到参考基因,并给出比对结果和相应的编辑距离,这对于短 reads 的比对是合理的。但随着测序技术的进步,测序的reads变长,对于100bp及以上长度的reads, 这类比对软件不再适合。由于reads 中结构变异的存在以及基因组序列错误组装,需要新的比对算法在空位罚分条件下允许长gap的存在。在此背景下已有一些适用于长reads比对的软件算法被开发出来,包括BWA-SW (Li and Durbin, 2010)、 Bowtie2(Langmead and Salzberg, 2012)、 Cushaw2 (Liu and Schmidt, 2012)、GEM(Marco-Sola et al., 2012), 但这些软件都有相应的弱点:在100bp的reads比对时BWA-SW速度比Bowite2要慢;Bowite2 和 Cushaw2 在600bp的reads 比对时速度较慢;GEM采用了end-to-end 的比对模式并不适用于空位罚分比对,限制了它在长reads比对上的应用。在100bp-1000bp的reads长度范围,没有比对软件在整个区域都有较好的效果。

2 方法

2.1 单端read的比对

2.1.1 种子序列定位及再定位

BWA-MEM 沿用了经典的 种子序列定位及延伸算法(seed and extend )。初始种子序列的采用了超精确匹配序列(SMEMs)算法 (2012年文章-算法5),它会在每个匹配位置上找到覆盖该位置的最长精确匹配。但是,有时真正的匹配位置并不含任何的SMEMs。为了减少错误种子序列定位造成的错配,这里采用了种子序列再定位的方法。假如有一个SMEM的长度为l,它在参考基因组中出现的次数是k。如果默认的 l 长度(28bp)太长,我们会重新选取跨越SMEM中心的序列作为种子进行再次定位,前提是它至少在基因组上有k+1次匹配。这些种子序列可以通过SMEM算法中减少匹配次数实现。

2.1.2 链形成与链过滤

作者把一组共线且彼此相邻的种子序列称为链。再构建链的过程中,我们会过滤掉较短的链。过滤短链的标准是它被包含在长链中,并且长度比长链短50%或者38bp。链过滤的目的是为了减少下一步延伸过程的错误。由于形成的链并不一定和最终的匹配相关,因此链的构建过程不需要十分精确。

2.1.3 种子序列延伸

首先根据链的长度进行排序,然后再根据链中种子序列的长度进行排序。排好的种子序列中,去除那些之前有比对位置的种子序列,并用空位罚分的动态规划算法扩展新的序列比对。
BWA-MEM 算法的种子序列延伸与标准的延伸有两方面的不同。第一,假设在延伸步骤,在参考基因组的x位置及查询序列的y位置获得了最高的延伸分数。如果在(x,y)位置的分值与最高的延伸分值的差异大于 Z+|x−y|×PgapExt 的值(Z是设置的阈值,PgapExt 是空位延伸罚分),就终止延伸。这种启发式的算法可以避免造成过度延伸,比对时跨越糟糕的区域。
第二,当进行种子序列延伸时,BWA-MEM会持续记录查询序列延伸至最后一个碱基过程中的最高延伸值。如果延伸至最终碱基的分值与最优局部比对的分值差异低于设定阈值时,拒绝最优局部比对延伸,选择end-to-end延伸。BWA-MEM 使用这种策略自动选择局部比对和end-to-end比对模式。这样就可以保证含有突变的reads的末尾碱基可以比对至参考基因组,减少比对的偏倚,同时可以避免在进行嵌合体序列比对至末尾碱基时引入大量的错配碱基和空位序列。

2.2 双端read的比对

2.2.1 错配比对的找回

与BWA最早版本类似,BWA-MEM 也是同时处理一批reads。在进行每个批次处理时,软件会记录可靠比对比对的插入序列的长度分布,并计算插入序列的平均值 μ 和 标准差 σ。对于top 100个候选比对,如果一条reads的配对reads在 [μ - 4σ,μ + 4σ] 范围内是未比对的状态时,BWA-MEM 会采用 SSE2-based Smith-Waterman 算法重新进行比对。这样做的目的是为了找回长重复区域的错误比对。常规的单read 比对以及SSE2-SW 算法找回的比对结果将会用于下一步的配对分析。

2.2.2 配对分析

在考虑正向 read 的第 i 条比对和反向 read 的第 j 条比对时,如果配对reads的方向正确,BWA-MEM 软件会计算配对reads比对的距离d_ij。同时记录第 i 条比对和第 j 条比对的得分: S_ij = S_i + S_j - min{ -alog_4P(d_ij),U },其中 S_iS_j 是SSE2-SW 算法的比对得分;a 是匹配分值;P(d) 是假设插入序列长度程正态分布时,观测到的插入序列大于比对距离d的概率;U 是控制是否进行配对分析的阈值:如果d_ij足够小时, -alog_4P(d_ij) < U,BWA-MEM 倾向于认为正反向read是比对配对的;否者倾向认为正反向read是比对不配对的。BWA-MEM会选择S_ij的最高分值作为最终的配对比对。这种配对联合分析的策略既考虑了比对的分值、也考虑了插入序列的大小和read是嵌合体的可能性。

3 结果

1、用模拟数据评估了NovoAlign,GEM, Bowtie2,Cushaw2, SeqAlto, BWA-SW, BWA 和 BWA-MEM 的表现。在PE和SE reads的比对上,在准确性方面,NovoAlign是最好的,BWA-MEM略低于它,但优于其他软件。在速度方面,reads长度100bp时,BWA-MEM 速度与GEM、Bowite2 相似。在reads长度达到650bp时,BWA-MEM 速度是Bowite2 的6倍。
2、作者认为 BWA-MEM 算法在较长序列比对上有更优的表现,第一基于它先进的种子序列定位方法,第二基于结合了动态规划算法,保证了查询序列长度的线性时间复杂度。
3、BWA-MEM 是一款快速准确的比对软件,它适用于从70bp至几Mb的序列比对。



4 参考文献

[1] Li H. (2013) Aligning sequence reads, clone sequences and assembly contigs with BWA-MEM. arXiv:1303.3997v2 [q-bio.GN].

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,417评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,921评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,850评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,945评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,069评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,188评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,239评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,994评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,409评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,735评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,898评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,578评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,205评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,916评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,156评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,722评论 2 363
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,781评论 2 351

推荐阅读更多精彩内容

  • bwa - Burrows-Wheeler Alignment Tool #1. 介绍 BWA 是一个能将差异较小...
    JeremyL阅读 4,955评论 0 4
  • 1. 简介 BWA 是一种能够将DNA序列,mapping到一个较大的参考基因组上的软件包,由三z种不同的算法:B...
    吴十三和小可爱的札记阅读 4,760评论 0 1
  • 一、简介 BWA,即Burrows-Wheeler-Alignment Tool。BWA 是一种能够将差异度较小的...
    生信师姐阅读 87,960评论 7 68
  • 这是目前为止我看到过的关于ATAC-seq的最新综述,感兴趣的话值得一读。2020.4.22更新:我看到一个公众号...
    Steven潘阅读 18,754评论 1 62
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,042评论 0 4