文摘

动机:许多程序调整短测序读参考基因组已经发展在过去的2年。它们中的大多数都是非常有效的短读但效率低下或不适用于读> 200个基点,因为算法较低的严重和专门为短调优查询排序误差率。然而,一些已经测序平台产生再读和其他人预计会很快呈现给大家。长时间阅读,hashing-based软件如咩咩的叫声和SSAHA2仍然是唯一的选择。然而,这些方法大大低于短内容调整器的基地单位时间内保持一致。

结果:我们设计并实现了一个新的算法,burrows - wheeler对准器的均为对齐(BWA-SW),长序列对齐到1 Mb对大量序列数据库(如人类基因组)和几个gb的内存。算法SSAHA2一样准确,比咩咩的叫声更准确,是几美元到几十倍。

可用性:http://bio-bwa.sourceforge.net

联系人:rd@sanger.ac.uk

1介绍

敏感的局部比对软件的开发后,如FASTA(皮尔森,Lipman1988年爆炸(Altschul)和et al。,1997年)1990年左右,新一代的更快的方法来发现DNA序列匹配了自2000年以来,包括MegaBLAST (Morguliset al。,2008年;张et al。,2000年),SSAHA2(宁et al。,2001年),咩咩的叫声(肯特2002年)和PatternHunter (Maet al。,2002年),大大加快匹配毛细管测序读与参考基因组。当新的测序技术来生成数以百万计的短(< 100 bp)读取,各种新算法开发的10 - 1000倍,包括SOAP (Li R。et al。,2008年),MAQ (Li H。et al。,2008年),(Langmead领结et al。,2009年)和BWA(李和杜宾,2009年)。然而,罗氏/ 454测序技术已经产生了阅读>生产400个基点,Illumina公司逐渐增加阅读长度> 100个基点,和太平洋生物科学产生1000 bp在早期测试读取(宰牲节et al。,2009年)。读取来自新的测序技术并不短,有效地排除了许多新的对准器专门设计用于读取不超过100个基点。有效地调整长阅读与参考序列的人类基因组构成新的挑战对齐工具的发展。

读从短内容对齐排列有不同的目标。首先,在短内容对齐,我们通常要对齐长篇阅读减少引用偏见造成的不匹配的结束阅读。鉴于这一要求,我们可以设计模板(Ma间隔的种子et al。,2002年江)横跨整个阅读(和黄,2008年;林et al。,2008年;史密斯et al。,2008年),或者快速过滤掉可怜的比赛,例如,通过应用q-gram过滤(轰鸣et al。,2009年;维斯et al。,2009年)或通过边界搜索过程(李和杜宾,2009年),因此加快对齐。读对齐,然而,我们更希望找到当地比赛因为长读更脆弱的结构变化和错误装配参考但不匹配影响较小的接近结束的阅读。其次,许多短内容调整器只有有效时ungapped对齐或允许有限的差距,例如最大的差距。他们不能很快找到更多的空白或性能降低时针对这一任务。然而,读准仪必须宽容对齐差距因为indels长读和可能更容易出现测序错误的主要来源等一些技术454和太平洋生物科学。

当考虑算法来加速读对齐,哈希表索引用于最新的软件并不是唯一的选择。温顺的et al。(2003年)之间找到了一个可以应用的Smith-Waterman-like动态规划查询序列和参考的后缀树,有效调整查询每个子序列采样通过自顶向下遍历从后缀树。在后缀树相同的序列是倒在一个路径,保存时间,避免重复排列相同的子序列。林et al。(2008年)隐式更加深了这种想法代表了后缀树FM-index (Ferragina Manzini,2000年),这是基于burrows - wheeler变换(BWT;洞穴和惠勒,1994年),达到一个小内存占用。BWT-SW,新算法能够提供相同的结果的标准均为对齐,但是要快几千倍当调整对人类基因组序列。尽管BWT-SW仍低于爆炸在长查询序列,找到所有匹配没有启发式。可以想象,引入启发式将进一步加快BWT-SW。我们的BWA-SW算法遵循这条路。

在某种程度上,BWA-SW以及BWT-SW,也遵循seed-and-extend范式。但不同于咩咩的叫声和SSAHA2 BWA-SW发现种子两个FM-indices之间通过动态编程,并允许不匹配和缺口的种子。它扩展了种子,种子几乎没有参考序列中出现。速度是通过减少不必要的扩展高度重复序列。

在本文中,我们将描述这个新的对齐算法,BWA-SW,读比对和评估其实际性能和咩咩的叫声SSAHA2模拟和真实数据。我们还将给出一个简要介绍后缀数组和FM-index,但读者被称为李和杜宾(2009年为更多的细节。

2方法

2.1 BWA-SW算法的概述

BWA-SW构建FM-indices参考和查询序列。它含蓄地代表参考序列前缀trie和代表查询序列前缀词有向无环图(前缀狗;布卢姆et al。,1985年),这是改变前缀单词查找树的查询序列(2.3节)。之间的动态编程可以应用单词查找树和狗,通过遍历参考前缀单词查找树和查询狗,分别。这个动态规划将找到所有地方匹配如果没有应用启发式,但不会比BWT-SW快。在BWA-SW,我们两个启发式规则适用于大大加速了这一过程。首先,遍历查询狗在外层循环进行,因此没有完成动态编程,我们知道单词查找树中的所有节点引用前缀匹配的查询节点与一个积极的分数。基于这样的观察:真正的定位往往比对的得分很高,我们可以在每个节点删除低比分比赛限制的动态规划良好的匹配。动态规划的规模从而可以大大减少了。可以正确对齐的修剪在这个过程中,但在实践中,这可以由使用启发式和很少发生,鉴于长或高质量的查询序列。其次,只报道BWA-SW校准主要重叠在查询序列,而不是提供了所有重要的局部比对。它一些识别和丢弃种子包含在一个更长的对齐在失败的种子扩展,从而节省了计算时间。

2.2符号和定义

2.2.1后缀数组和BWT

让Σ= {一个,C,G,T}是核苷酸和是一个美元符号的字母是按小于Σ所有的符号。给定一个核苷酸序列X=一个1一个n−1一个n−1= $,让X(]=一个th的象征,X(,j]=一个一个j子序列的XX=X(,n−1]的后缀X。后缀数组年代X是一个排列的整数0…n−1,年代()=j当且仅当Xjth按最小的后缀。的BWTX的排列X,在那里B(= $如果年代()= 0和B(]=X(年代(否则)−1]。

2.2.2后缀数组间隔

给定一个序列W,后缀数组间隔SA间隔 forumlaW被定义为
特别是,如果W是一个空字符串,R(W)= 1,forumla。的集合的所有事件的位置Wforumla
C(一个)= # {0≤jn−2:X(j)<一个},O(一个,)= # {0≤j:B(j)<一个},#{·}计算基数(或一组大小)。Ferragina和Manzini ( 2000年)证明
forumla当且仅当亚历山大-伍尔兹子串的X

2.2.3 FM-index

后缀数组年代数组,CO满足具体的搜索模式X。FM-index (Ferragina Manzini,2000年)是一个三个数组的压缩表示,压缩BWT字符串组成B计算,辅助数组O,后缀数组的一部分年代。BWA-SW,然而,使用一个简化的FM-index我们不压缩B和存储的一部分发生数组O没有辅助数据结构。简化版本是更有效率的DNA序列与一个非常小的字母。详细的施工提出了我们之前的论文(李和杜宾,2009年)。

2.2.4对齐

一个对齐是一个元组(W1,W2,一个),W1W2两个字符串,一个是一系列的复制、替换、插入和删除操作变换W2W1。插入和删除差距。差距和替换差异。的编辑距离的对齐等于总数差异一个

对齐的分数可以计算给定一个评分系统。我们说W1匹配W2如果W1W2可以与一个积极的分数,在这种情况下,我们还说(W1,W2)是一个匹配。

一场比赛(W1,W2)说包含在(W1,W2)如果第一序列W1子串的W1。同样,我们可以定义包含的联盟关系(一个更强大的条件)和之间的一致性和匹配。

2.3前缀单词查找树和前缀狗

前缀单词查找树的字符串X是一个树,每条边贴上一个符号,从一片树叶的符号的连接路径的根提供了独特的前缀X。边缘的连接符号从一个节点到根总是一个子字符串X,被称为节点所代表的字符串。的SA间隔的一个节点被定义为字符串的SA间隔所代表的节点。不同的节点可能有相同的间隔,但回忆股价区间的定义,我们知道这些节点所代表的字符串必须相同的字符串的前缀和有不同的长度。

前缀狗的,X转换从崩溃的前缀单词查找树节点有相同的时间间隔。因此在前缀狗,节点和SA的间隔有一个一对一的关系,一个节点可能代表多个的子字符串X在一个序列,每一个未来的前缀是在前款规定的讨论。图1给出一个示例。

图1所示。

前缀trie和前缀字符串的狗天文数字”。(一个)前缀单词查找树。象征“∧”标志着一个字符串的开始。一个节点的两个数字给节点的股价区间。(B)前缀狗由崩溃节点相同的股价区间。例如,在前缀单词查找树,三个节点SA间隔(4,4)。父母区间[1,2],[1、2]和[1],分别。前缀狗,(4,4)节点从而父母[1,2]和[1]。节点(4,4)代表三个字符串的”、“OGO”和“OGOL与前两个字符串的前缀的OGOL”。(一)修改图1在李和杜宾(2009年)。

2.4调整前缀trie对前缀狗

我们构建了一个前缀狗(W)查询序列W和一个前缀trie (X为参考)X。动态编程计算最好的分数之间WX如下。让G 紫外线= 紫外线=D 紫外线= 0时u的根(W),v的根(X)。在一个节点u在(W),为每个父节点u′,计算
在哪里v′的母公司v在(X),功能年代(u′,u;v′,v)给边缘上的符号之间的分数(u′,u)和一个(v′,v),r分别差距和gap扩展开放处罚。G 紫外线, 紫外线D 紫外线计算:
前(u)是父节点的集合uG 紫外线=(可能是多个)之间的最佳得分由子字符串u(一)子字符串为代表v。我们说一个节点u v匹配如果G 紫外线> 0。

动态规划是由遍历(W)和(X)反向后序(即所有父节点访问之前孩子)在一个嵌套的方式。注意的是,一旦u不匹配v,u不匹配节点从天而降吗v,我们只需要访问节点接近的根(X)没有遍历整个单词查找树,这大大减少了迭代次数的标准均为算法相比总是穿过整个参考序列。

2.5加速度均为标准

相比标准均为对齐的时间复杂度O(|X|·|W|),BWA-SW没有更好的时间复杂度,因为它是低于BWT-SW其时间复杂度O(|X|0.628|W|)(林et al。,2008年)。这个结论来自因为短sub-alignments我们正在考虑多个可能的匹配一个紫外线比较。然而,与每个迭代相关联的常数较大是由于复杂的步骤与前缀单词查找树的遍历和前缀狗,这使得BWA-SW低效当我们使用BWA-SW延长一个独特的定位。更有效的策略是使用BWA-SW找到部分匹配和应用均为算法扩展。在动态规划中,我们知道部分匹配的数量被认为是在任何一对因为这可以从SA的大小计算区间。当G紫外线是足够好,SA间隔的大小v低于某一阈值(默认3),我们保存(u,v)对,称为种子间隔两,不去深入的v节点(X)。通过查找的后缀数组XW,我们可以推出种子匹配,或者只是种子,从种子间隔对。这些种子是延长均为算法后。如果整个查询是一个高度重复序列,它将纯粹对齐在上一节中描述的算法均为扩展。

因为我们停止动态编程早期生成的种子,全球最好的对齐可能包含多个种子和在实践中往往会这样长时间校准。通常为1 kb联盟将有10 - 20种子。下面我们将利用这一观察一些加快搜索。

BWT-SW部署一个类似的策略在执行序列之间的动态规划和前缀单词查找树种子匹配均为扩展紧随其后。从我们的算法的主要区别是,BWT-SW提升者均为对齐一旦分数足够高,不管SA间隔大小。有时一个重复序列可能匹配的成千上万的地方人类基因组和扩展部分匹配每一次可能是缓慢的。

2.6启发式加速度

2.6.1 Z-best策略

到目前为止是准确描述的算法,它能够提供相同的结果均为算法。虽然比标准算法快得多长的参考序列,是不足够快的调整大规模测序数据。进一步调查表明,即使是一个独特的500个基点查询序列,几百万节点(X)可能匹配的查询与积极的比对的得分。大多数的这些节点是随机匹配或匹配简而言之低的地区。参观都是浪费。

加速调整,我们遍历(W外层循环),(X在内部循环,在每个节点u在(W我们只保留顶部Z最好的得分节点(X相匹配的)u,而不是让所有匹配的节点。这种启发式策略Z-best。当然,当我们应用Z最好的策略,我们可以错过一个种子中包含正确对齐,当一个错误匹配得分更高。但如果查询是几乎相同的参考,这种情况很少发生。此外,如果真正的对齐是长,包含许多种子,种子是假的机会很小。模拟和实际数据(第三节),我们甚至发现Z= 1工作与高质量的200个基点读取测序错误率(< 5%)。增加Z10或略微提高了精度高但大大减少了对准的速度。

减少定位错误,我们也使反向查询序列反向参考序列,即reverse-reverse对齐,除了forward-forward对齐。理想情况下,forward-forward reverse-reverse对齐应该产生相同的结果,但是如果一粒种子在真正的对齐低分后缀或前缀,这个forward-forward(或reverse-reverse)对齐可能错过它,同时结合对齐的两轮减少了机会。此外,如果forward-forward对齐包含许多种子的最佳校准匹配,它是假的机会也小。在实现中,我们并不适用reverse-reverse对齐如果最好的对齐,默认情况下,5或更多的种子。

2.6.2过滤前种子均为扩展

像爆炸一样,咩咩的叫声和SSAHA2报告所有重大调整或通常的联盟中排名最高,但这不是最期望输出值读取映射。我们通常更感兴趣的是最好最好的校准或比对,覆盖查询序列的每个区域。例如,假设1000个基点的查询序列由900个基点段从一个染色体和一个100个基点段从另一个染色体;400个基点的900个基点段是一个高度重复序列。爆炸,知道这是一个嵌合读我们需要问它报告的所有比对400个基点重复,这是昂贵和浪费,因为一般我们不感兴趣排列的短重复序列包含在一个更长的独特的序列。在这个例子中,一个有用的输出将报告一个对齐的900个基点和100个基点,并表示如果两段有良好的理想可能呈现最好的校准不可靠的校准。这样输出简化了下游分析和重建上节省时间详细的重复序列的比对。

在BWA-SW,我们说两个阵营截然不同的如果查询上的重叠区域的长度小于短查询线段的长度的一半。我们的目标是找到一组不同的排列,得分之和最大化每个对齐的。这个问题可以通过动态编程来解决,但在我们的例子中阅读通常是完全一致的,一个贪婪的近似将工作做好。在实际实现中,我们根据局部比对比对得分,扫描排序列表从最好的和保持一个对齐,如果是不同于所有分数较大的保持对齐;如果对齐一个2被拒绝,因为它不是独特的一个1,我们认为一个2是一个次优的对齐一个1并使用这些信息来近似映射质量(2.7节)。

因为我们只保留比对很大程度上重叠查询序列,我们不妨抛弃的种子不会导致最终的平面图。检测这些种子可以用另一个启发式之前均为扩展和时间花在不必要的扩展可以得救。识别这些种子,我们连锁的种子都包含在一个乐队(默认频带宽度50 bp)。如果对查询序列短链完全包含在一个长链和短链的种子数量低于十分之一的种子在长链的数量,我们抛弃所有的种子在短链,基于这样的观察:短链很少会导致一个更好的对齐比长链。不像Z最好的策略,这种启发式方法对对准精度没有明显的影响。1000年10 kb模拟数据,这部分没有减少的运行时间的准确性。

2.7近似映射质量

李,H。et al。(2008年)介绍了映射的概念,质量估计的概率查询序列被放置在一个错误的位置。如果一个对齐算法保证找到所有局部比对,映射质量是由这些局部比对。然而,随着BWA-SW部署启发式规则,产生错误的可能性对齐也与启发式。估计映射BWA-SW对齐的质量,我们适应一个经验公式:250·c1·c2·(年代1年代2)/年代1,在那里年代1的分数是最好的对齐,年代2第二个最好的对齐的分数,c1= 1,如果对准覆盖超过四0.5种子或否则,和c2等于1如果找到最好的对齐forward-forward和reverse-reverse比对或0.2。

3的结果

3.1实现

BWA-SW算法被实现为一个组件的BWA程序(李和杜宾,2009年),这是分布在GNU通用公共许可证(GPL)。实现需要BWA索引和查询FASTA或FASTQ文件作为输入和输出(李山姆的对齐格式et al。,2009年)。查询文件通常包含许多序列(读取)。我们处理每个查询序列,使用多个线程如果适用。内存使用由FM-index,约3.7 GB的人类基因组。每个查询所需内存大致与序列长度成正比。在典型的顺序读取,总内存是< 4 GB;在一个查询序列和100万个碱基对(Mbp),峰值内存的大小是6.4 GB。

在实现中,我们试图基于读取长度自动调节参数和测序错误率默认设置适合输入不同的特点。这种行为是方便用户不熟悉算法和帮助的读取性能混合长度和错误率。

3.2评价模拟数据

在模拟数据,我们知道正确的染色体的坐标校准和评价是非常简单的。

3.2.1整体性能

表1显示了CPU时间,分数的自信地读和对齐对齐错误率咩咩的叫声(v34) BWA-SW(版本0.5.3)和SSAHA2(版本2.4)给予不同的阅读长度和错误率。除非必要,否则我们试图使用默认每个调整器的命令行选项。微调的选项根据输入数据的特征可能会产生更好的性能。

表1。

评价模拟数据

程序 指标 100个基点
200个基点
500个基点
1000个基点
10 000个基点
2% 5% 10% 2% 5% 10% 2% 5% 10% 2% 5% 10% 2% 5% 10%
咩咩的叫声 CPU秒 685年 577年 559年 819年 538年 486年 1078年 699年 512年 1315年 862年 599年 2628年 1742年 710年
Q20% 68.7 25.5 3.0 92.0 52.9 7.8 97.1 86.3 21.4 97.7 96.4 39.0 98.4 99.0 94.0
errAln % 0.99 2.48 5.47 0.55 1.72 4.55 0.17 1.12 4.41 0.01 0.52 3.98 0.00 0.00 1.28
BWA-SW CPU秒 165年 125年 84年 222年 168年 118年 249年 172年 152年 234年 168年 150年 158年 134年 120年
Q20% 85.1 62.2 19.8 93.8 88.7 49.7 96.1 95.5 85.1 96.9 96.5 95.0 98.4 98.5 98.1
errAln % 0.01 0.05 0.17 0.00 0.02 0.13 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00
SSAHA2 CPU秒 4872年 7962年 9345年 1932年 2236年 5252年 3311年 8213年 6863年 1554年 1583年 3113年 - - - - - - - - - - - - - - - - - -
Q20% 85.5 83.8 78.2 93.4 93.1 91.9 96.6 96.5 96.1 97.7 97.6 97.4 - - - - - - - - - - - - - - - - - -
errAln % 0.00 0.01 0.19 0.01 0.00 0.01 0.00 0.01 0.04 0.00 0.00 0.00 - - - - - - - - - - - - - - - - - -
程序 指标 100个基点
200个基点
500个基点
1000个基点
10 000个基点
2% 5% 10% 2% 5% 10% 2% 5% 10% 2% 5% 10% 2% 5% 10%
咩咩的叫声 CPU秒 685年 577年 559年 819年 538年 486年 1078年 699年 512年 1315年 862年 599年 2628年 1742年 710年
Q20% 68.7 25.5 3.0 92.0 52.9 7.8 97.1 86.3 21.4 97.7 96.4 39.0 98.4 99.0 94.0
errAln % 0.99 2.48 5.47 0.55 1.72 4.55 0.17 1.12 4.41 0.01 0.52 3.98 0.00 0.00 1.28
BWA-SW CPU秒 165年 125年 84年 222年 168年 118年 249年 172年 152年 234年 168年 150年 158年 134年 120年
Q20% 85.1 62.2 19.8 93.8 88.7 49.7 96.1 95.5 85.1 96.9 96.5 95.0 98.4 98.5 98.1
errAln % 0.01 0.05 0.17 0.00 0.02 0.13 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00
SSAHA2 CPU秒 4872年 7962年 9345年 1932年 2236年 5252年 3311年 8213年 6863年 1554年 1583年 3113年 - - - - - - - - - - - - - - - - - -
Q20% 85.5 83.8 78.2 93.4 93.1 91.9 96.6 96.5 96.1 97.7 97.6 97.4 - - - - - - - - - - - - - - - - - -
errAln % 0.00 0.01 0.19 0.01 0.00 0.01 0.00 0.01 0.04 0.00 0.00 0.00 - - - - - - - - - - - - - - - - - -

大约10 000 000个基点的数据模拟不同读取长度和错误率的人类基因组。百分之二十的错误与indel indel错误长度是从几何分布(密度:0.7 * 0.3l−1)。这些模拟读取对齐回到人类基因组和咩咩的叫声(选项-fastMap) BWA-SW和SSAHA2(454−100和200个基点读),分别。对齐的坐标然后与模拟坐标找到定位错误。在这个表中每个单元格,三个数字在英特尔的单核CPU秒E5420 2.5 GHz CPU、比对映射质量百分比大于或等于20 (Q20),和错误的百分比Q20对齐校准。SSAHA2 BWA-SW报告映射质量;咩咩的叫声映射质量估计的250倍差异最好的和第二最佳排列分数除以最佳比对的得分(本质上相同的计算一个BWA-SW)。

表1。

评价模拟数据

程序 指标 100个基点
200个基点
500个基点
1000个基点
10 000个基点
2% 5% 10% 2% 5% 10% 2% 5% 10% 2% 5% 10% 2% 5% 10%
咩咩的叫声 CPU秒 685年 577年 559年 819年 538年 486年 1078年 699年 512年 1315年 862年 599年 2628年 1742年 710年
Q20% 68.7 25.5 3.0 92.0 52.9 7.8 97.1 86.3 21.4 97.7 96.4 39.0 98.4 99.0 94.0
errAln % 0.99 2.48 5.47 0.55 1.72 4.55 0.17 1.12 4.41 0.01 0.52 3.98 0.00 0.00 1.28
BWA-SW CPU秒 165年 125年 84年 222年 168年 118年 249年 172年 152年 234年 168年 150年 158年 134年 120年
Q20% 85.1 62.2 19.8 93.8 88.7 49.7 96.1 95.5 85.1 96.9 96.5 95.0 98.4 98.5 98.1
errAln % 0.01 0.05 0.17 0.00 0.02 0.13 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00
SSAHA2 CPU秒 4872年 7962年 9345年 1932年 2236年 5252年 3311年 8213年 6863年 1554年 1583年 3113年 - - - - - - - - - - - - - - - - - -
Q20% 85.5 83.8 78.2 93.4 93.1 91.9 96.6 96.5 96.1 97.7 97.6 97.4 - - - - - - - - - - - - - - - - - -
errAln % 0.00 0.01 0.19 0.01 0.00 0.01 0.00 0.01 0.04 0.00 0.00 0.00 - - - - - - - - - - - - - - - - - -
程序 指标 100个基点
200个基点
500个基点
1000个基点
10 000个基点
2% 5% 10% 2% 5% 10% 2% 5% 10% 2% 5% 10% 2% 5% 10%
咩咩的叫声 CPU秒 685年 577年 559年 819年 538年 486年 1078年 699年 512年 1315年 862年 599年 2628年 1742年 710年
Q20% 68.7 25.5 3.0 92.0 52.9 7.8 97.1 86.3 21.4 97.7 96.4 39.0 98.4 99.0 94.0
errAln % 0.99 2.48 5.47 0.55 1.72 4.55 0.17 1.12 4.41 0.01 0.52 3.98 0.00 0.00 1.28
BWA-SW CPU秒 165年 125年 84年 222年 168年 118年 249年 172年 152年 234年 168年 150年 158年 134年 120年
Q20% 85.1 62.2 19.8 93.8 88.7 49.7 96.1 95.5 85.1 96.9 96.5 95.0 98.4 98.5 98.1
errAln % 0.01 0.05 0.17 0.00 0.02 0.13 0.00 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00
SSAHA2 CPU秒 4872年 7962年 9345年 1932年 2236年 5252年 3311年 8213年 6863年 1554年 1583年 3113年 - - - - - - - - - - - - - - - - - -
Q20% 85.5 83.8 78.2 93.4 93.1 91.9 96.6 96.5 96.1 97.7 97.6 97.4 - - - - - - - - - - - - - - - - - -
errAln % 0.00 0.01 0.19 0.01 0.00 0.01 0.00 0.01 0.04 0.00 0.00 0.00 - - - - - - - - - - - - - - - - - -

大约10 000 000个基点的数据模拟不同读取长度和错误率的人类基因组。百分之二十的错误与indel indel错误长度是从几何分布(密度:0.7 * 0.3l−1)。这些模拟读取对齐回到人类基因组和咩咩的叫声(选项-fastMap) BWA-SW和SSAHA2(454−100和200个基点读),分别。对齐的坐标然后与模拟坐标找到定位错误。在这个表中每个单元格,三个数字在英特尔的单核CPU秒E5420 2.5 GHz CPU、比对映射质量百分比大于或等于20 (Q20),和错误的百分比Q20对齐校准。SSAHA2 BWA-SW报告映射质量;咩咩的叫声映射质量估计的250倍差异最好的和第二最佳排列分数除以最佳比对的得分(本质上相同的计算一个BWA-SW)。

表1,我们可以清楚地看到BWA-SW最快,几倍咩咩的叫声和SSAHA2所有输入,它的速度并不是敏感读取长度或错误率。BWA-SW的准确性是比得上SSAHA2长或查询时出错率较低。鉴于短和容易出错的读取,SSAHA2更准确,尽管它必须花更多的时间等调整。SSAHA2不是10 kb读取测试,因为它最初不是为这个任务设计的,因此不执行。咩咩叫的比SSAHA2 -fastMap选项,但不准确。默认选项下,咩咩的叫声比SSAHA2慢几美元到几十倍。精度更高-fastMap模式相比,但仍低于BWA-SW(数据未显示)。

在记忆中,使用∼4 GB内存BWA-SW和咩咩的叫声。SSAHA2使用2.4 GB≥500个基点读取默认选项,和5.3 GB短读454−选项从而增加种子序列存储在哈希表的数量,增加内存。此外,BWA-SW支持多线程,因此可能需要更少的内存/ CPU核心如果是多核计算机上运行。目前SSAHA2和咩咩的叫声不支持多线程。

3.2.2嵌合体检测

我们首先研究每个调整器的行为给予嵌合阅读。为此,我们制作两个嵌合读取与从一个染色体组成的一个1000个基点位置和一个300个基点从另一个位置。两个读取之间的主要区别是,1000年英国石油公司在第二块读∼750 bp重复序列,而第一次读是非常独特的。当我们对齐两个嵌合读取人类基因组,BWA-SW报告四个阵营,一个用于每一块,如需要。最新SSAHA2未能找到300个基点的对齐块在两种阅读,尽管它是能够找到比对,如果我们把300个基点块作为一个个体阅读。旧版本(1.0.9)能够使300 bp在第一块读取默认情况下,但对于第二个阅读,我们需要切换到一个更彻底的但慢得多配置报告所有的点击量750个基点重复。咩咩的叫声与-fastMap没有找到300个基点的对齐块第二阅读。在这两个例子,只有BWA-SW嵌合体检测有足够的力量。

此外,BWA-SW很少产生高质量的假嵌合比对。例如,鉴于000 1 kb读取错误但没有妄想在10%模拟,BWA-SW预测18嵌合读取。映射错误对齐质量块在这些阅读只有2.4(最大11),这意味着BWA-SW意识到这些嵌合体是不可靠的。预计,BWA-SW产生更少的假嵌合读给较低的基本错误。

3.3评价真实数据

评价的真实数据是由缺乏复杂的地面真理。然而,它仍然是有可能的评估相对精度通过比较结果从两个对准器使用真正的对齐的原则往往比对的得分明显要高,因为大多数错误源于未能找到一个种子。

假设我们将读两对准器使用一个B并获得不同的结果。如果两个一个B给低映射品质,定位模糊,它并不重要,如果校准是错误的。如果一个提供高质量和映射一个比对的得分比B,一个校准可能是错误的;即使一个比对的得分仅仅是一个小比B,一个对齐是不可靠和高质量的映射一个还存在疑问。在实践中,定义“好一点”对齐分数要求任意设定一个阈值的分数不同,因此这种评价方法是近似。

表2给出了454年的总结读取所映射只有一个调整器或映射到不同的地方,和被分配一个映射质量大于或等于20 BWA-SW或SSAHA2。我们可以看到BWA-SW倾向于短比对错误率高小姐(946),同意评价模拟数据。SSAHA2错过比对不同的原因。1188读,SSAHA2产生明显错误的比对。它是意识到这些校准是错误的分配映射质量低,但无论如何真正的比对是错过了。

表2。

摘要BWA-SW之间的比对不一致和SSAHA2真实数据

条件 BWA-SW
SSAHA2
avgLen avgDiff avgMapQ avgLen avgDiff avgMapQ
BWA-SW≥20;SSAHA2地图上未标明的 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BWA-SW≥20可信;SSAHA2 < 20 1188年 398.2 1.3% 178.4 198.3 13.1% 3.9
BWA-SW≥20个问题 40 183.0 7.8% 41.2 280.3 9.4% 2.4
SSAHA2≥20;BWA-SW地图上未标明的 946年 - - - - - - - - - - - - - - - - - - 75.4 6.3% 51.2
SSAHA2≥20可信;BWA-SW < 20 47 129.0 9.3% 2.5 200.5 8.8% 34.4
SSAHA2≥20个问题 185年 400.2 1.7% 13.4 399.2 2.9% 216.4
条件 BWA-SW
SSAHA2
avgLen avgDiff avgMapQ avgLen avgDiff avgMapQ
BWA-SW≥20;SSAHA2地图上未标明的 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BWA-SW≥20可信;SSAHA2 < 20 1188年 398.2 1.3% 178.4 198.3 13.1% 3.9
BWA-SW≥20个问题 40 183.0 7.8% 41.2 280.3 9.4% 2.4
SSAHA2≥20;BWA-SW地图上未标明的 946年 - - - - - - - - - - - - - - - - - - 75.4 6.3% 51.2
SSAHA2≥20可信;BWA-SW < 20 47 129.0 9.3% 2.5 200.5 8.8% 34.4
SSAHA2≥20个问题 185年 400.2 1.7% 13.4 399.2 2.9% 216.4

总共137 670 454读一致选择SRR003161是对人类基因组与BWA-SW SSAHA2映射,分别。读是一致的不一致的最左边的坐标BWA-SW SSAHA2对齐不同逾355个基点,平均读取长度。得分,等于匹配- 3的数量乘以数量的差异(不匹配和空白)对齐的区域,计算每个对齐。据说BWA-SW对齐似是而非的如果分数来自BWA-SW对齐-一个来自SSAHA2排列相同的阅读是大于或等于20(即BWA-SW对齐是足够好);否则,据说BWA-SW对齐有问题的。貌似有理,可疑SSAHA2比对以类似的方式定义。表中,“BWA-SW≥20”表示BWA-SW比对映射质量高于20。BWA-SW错过993(= 946 + 47)比对SSAHA2对齐,而SSAHA2错过1188;40 BWA-SW Q20比对和185年SSAHA2 Q20对齐可能是错误的。

表2。

摘要BWA-SW之间的比对不一致和SSAHA2真实数据

条件 BWA-SW
SSAHA2
avgLen avgDiff avgMapQ avgLen avgDiff avgMapQ
BWA-SW≥20;SSAHA2地图上未标明的 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BWA-SW≥20可信;SSAHA2 < 20 1188年 398.2 1.3% 178.4 198.3 13.1% 3.9
BWA-SW≥20个问题 40 183.0 7.8% 41.2 280.3 9.4% 2.4
SSAHA2≥20;BWA-SW地图上未标明的 946年 - - - - - - - - - - - - - - - - - - 75.4 6.3% 51.2
SSAHA2≥20可信;BWA-SW < 20 47 129.0 9.3% 2.5 200.5 8.8% 34.4
SSAHA2≥20个问题 185年 400.2 1.7% 13.4 399.2 2.9% 216.4
条件 BWA-SW
SSAHA2
avgLen avgDiff avgMapQ avgLen avgDiff avgMapQ
BWA-SW≥20;SSAHA2地图上未标明的 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BWA-SW≥20可信;SSAHA2 < 20 1188年 398.2 1.3% 178.4 198.3 13.1% 3.9
BWA-SW≥20个问题 40 183.0 7.8% 41.2 280.3 9.4% 2.4
SSAHA2≥20;BWA-SW地图上未标明的 946年 - - - - - - - - - - - - - - - - - - 75.4 6.3% 51.2
SSAHA2≥20可信;BWA-SW < 20 47 129.0 9.3% 2.5 200.5 8.8% 34.4
SSAHA2≥20个问题 185年 400.2 1.7% 13.4 399.2 2.9% 216.4

总共137 670 454读一致选择SRR003161是对人类基因组与BWA-SW SSAHA2映射,分别。读是一致的不一致的最左边的坐标BWA-SW SSAHA2对齐不同逾355个基点,平均读取长度。得分,等于匹配- 3的数量乘以数量的差异(不匹配和空白)对齐的区域,计算每个对齐。据说BWA-SW对齐似是而非的如果分数来自BWA-SW对齐-一个来自SSAHA2排列相同的阅读是大于或等于20(即BWA-SW对齐是足够好);否则,据说BWA-SW对齐有问题的。貌似有理,可疑SSAHA2比对以类似的方式定义。表中,“BWA-SW≥20”表示BWA-SW比对映射质量高于20。BWA-SW错过993(= 946 + 47)比对SSAHA2对齐,而SSAHA2错过1188;40 BWA-SW Q20比对和185年SSAHA2 Q20对齐可能是错误的。

都对准器,大多数错误的阵营是由俯瞰联盟与类似的分数最好的校准报告。例如,SSAHA2对齐阅读SRR003161.1261578X染色体与映射质量244,BWA-SW将染色体长度相同的对齐和编辑距离。两个最佳得分排列的存在意味着阅读不能单独放置,一个映射质量高达244是不准确的。SSAHA2给这么高的映射质量可能因为它忽略了匹配2号染色体上。在这个具体的例子,BWA-SW正确给出了一个映射质量零,尽管它可能忽略替代匹配在其他例子。

在模拟100和200个基点读取,SSAHA2 454−选项提供比BWA-SW更好的对齐。在这个真实的数据集,BWA-SW更准确的可能是因为平均读取长度相对较长(355个基点)。证实这个猜测,我们比较了两个调整器在99 958读取运行SRR002644平均读取长度206个基点。这次BWA-SW错过1092年SSAHA2 Q20比对和造成39可疑的比对;SSAHA2错过325并产生怀疑。SSAHA2更精确更短的数据集,虽然它比BWA-SW慢9倍和40%使用更多的内存。

4讨论

BWA-SW是一种有效的算法调整查询的几百个碱基对序列或更长的参考基因组。其敏感性和特异性往往是给定一个长查询或查询出错率较低,而在这样的查询序列的准确性BWA-SW相当与迄今为止最精确的调整器。此外,BWA-SW能够检测嵌合体,潜在的或引用错误装配造成的结构性变化,这可能对咩咩的叫声和SSAHA2构成挑战。

BWA-SW,咩咩的叫声和SSAHA2遵循seed-and-extend范例。主要的区别来自于播种策略。咩咩的叫声和SSAHA2识别短精确匹配作为种子,通常长度11或12个基点。为k- m播种两个序列之间的长度ll分别预期数量的种子l·l/ 4k,或105对人类基因组排列。扩展这些种子均为算法是昂贵的。减少不必要的种子扩展,咩咩的叫声和SSAHA2默认使用重叠的种子,需要多个种子匹配,这应该适合随机序列,但仍然涉及许多种子在高度重复地区扩展。BWA-SW解决这个问题通过使用一些长有缺口的种子在独特的地区。真正的生物数据,节省了许多不必要的种子扩展并导致一个更好的整体性能。然而,减少识别时长的种子,BWA-SW只维护一个非常小的比例的动态规划矩阵,这可能会错过所有的种子真正的比赛。这种启发式方法的主要来源是对齐错误特别是短查询时只有几个独特有效的种子之间的序列是一致的。在长比对,幸运的是,丢失的所有种子的机会很小。我们展示了BWA-SW和SSAHA2同样工作。

BWA-SW BWT-SW在几个方面有所不同。首先,BWT-SW保证当地找到所有匹配,而BWA-SW是一种启发式算法,可能错过真的击中但要快得多。其次,BWA-SW对齐两FM-indices BWT-SW对齐一个序列和FM-index。建立一个前缀查询序列的狗可能有助于避免反复调整相同的子查询中,从而提高了理论时间复杂度。第三,BWA-SW遍历参考在内部循环前缀单词查找树,BWT-SW内循环遍历查询序列。没有启发式,BWA-SW方法会损害性能,因为我们必须贸易速度记忆单词查找树遍历参考前缀,它将更有效导线外层循环。尽管如此,应用Z最好的策略需要知道高分的参考节点匹配子串查询没有完成动态编程,因此只能当参考内循环遍历。第四,只报道BWA-SW校准主要重叠在查询序列,尽管BWT-SW,像爆炸一样,报告所有统计上显著的对齐。BWA-SW保留关键信息比对并生成更小和更方便的输出。BWT-SW,终端用户通常需要后处理结果过滤掉许多排列的小利益。总之,BWA-SW调谐向实际效用得到大规模的真实数据。

的高速BWA-SW很大程度上来自两种策略:使用FM-indices和抑制短重复匹配包含在一个更好的匹配。第一个策略不适用于基于表散列算法如SSAHA2和咩咩的叫声,第二种策略可以实现这样的项目,可能大大加快他们的储蓄太多时间在重复排列的建设。尽管BWT的使用减少了不必要的重复排列,每个BWT操作有一个大的常数相比,哈希表查找。仍然可以基于表散列算法可以比BWA-SW如果他们包含这些特性。

确认

我们感激国家宁对他有用的评论SSAHA2算法,和季佩林提供有关狗的文献。

资金:威康信托基金会077192 / Z / 05 / Z。

的利益冲突:没有宣布。

引用

Altschul
科幻小说
,等。
有缺口的爆炸和PSI-BLAST:新一代的蛋白质数据库搜索程序
,
核酸Res。
,
1997年
,卷。
25
(pg。
3389年
- - - - - -
3402年
)
布卢姆
一个
,等。
最小的自动机识别的subwords文本
,
定理。第一版。科学。
,
1985年
,卷。
40
(pg。
31日
- - - - - -
55
)
洞穴
,
惠勒
DJ
一块分类无损数据压缩算法
,
技术报告124
,
1994年
加利福尼亚州帕洛阿尔托
数字设备公司
开斋节
J
,等。
实时从单一聚合酶分子DNA测序
,
科学
,
2009年
,卷。
323年
(pg。
133年
- - - - - -
138年
)
Ferragina
P
,
Manzini
G
投机取巧的数据结构和应用程序
,
计算机科学学报》第41届研讨会的基础(foc 2000)
,
2000年
美国加利福尼亚州雷东多海滩
(pg。
390年
- - - - - -
398年
)
H
,
WH
SeqMap:映射大量的基因组寡核苷酸
,
生物信息学
,
2008年
,卷。
24
(pg。
2395年
- - - - - -
2396年
)
肯特
WJ
BLAT-the爆炸之类的校准工具
,
基因组Res。
,
2002年
,卷。
12
(pg。
656年
- - - - - -
664年
)
太瓦
,等。
压缩索引和局部比对的DNA
,
生物信息学
,
2008年
,卷。
24
(pg。
791年
- - - - - -
797年
)
Langmead
B
,等。
超快和节约内存对齐的短DNA序列的人类基因组
,
基因组医学杂志。
,
2009年
,卷。
10
pg。
R25
H
,
德宾
R
快速和准确的短阅读符合burrows - wheeler变换
,
生物信息学
,
2009年
,卷。
25
(pg。
1754年
- - - - - -
1760年
)
H
,等。
映射短DNA测序读取和调用变体使用映射质量分数
,
基因组Res。
,
2008年
,卷。
18
(pg。
1851年
- - - - - -
1858年
)
H
,等。
序列比对/地图格式和SAMtools
,
生物信息学
,
2009年
,卷。
25
(pg。
2078年
- - - - - -
2079年
)
R
,等。
SOAP:短的寡核苷酸排列项目
,
生物信息学
,
2008年
,卷。
24
(pg。
713年
- - - - - -
714年
)
H
,等。
放大!无数的寡核苷酸映射
,
生物信息学
,
2008年
,卷。
24
(pg。
2431年
- - - - - -
2437年
)
B
,等。
PatternHunter:同源性搜索更快和更敏感
,
生物信息学
,
2002年
,卷。
18
(pg。
440年
- - - - - -
445年
)
温顺的
C
,等。
绿洲:在线上的局部比对搜索和精确技术生物序列
,
29日学报》国际会议上非常大的数据库(2003年VLDB)
,
2003年
柏林,德国
(pg。
910年
- - - - - -
921年
)
Morgulis
一个
,等。
生产数据库索引megablast搜索
,
生物信息学
,
2008年
,卷。
24
(pg。
1757年
- - - - - -
1764年
)
Z
,等。
SSAHA:大型DNA数据库的快速搜索方法
,
基因组Res。
,
2001年
,卷。
11
(pg。
1725年
- - - - - -
1729年
)
皮尔森
或者说是
,
Lipman
DJ
改进的生物序列比较工具
,
Proc。《科学。美国
,
1988年
,卷。
85年
(pg。
2444年
- - - - - -
2448年
)
隆隆作响
SM
,等。
虾:准确的短的彩色空间映射读取
,
公共科学图书馆第一版。医学杂志。
,
2009年
,卷。
5
pg。
根据
史密斯
广告
,等。
用质量分数和时间阅读提高阅读Solexa映射精度
,
BMC生物信息学
,
2008年
,卷。
9
pg。
128年
维斯
D
,等。
RazerS-fast阅读与灵敏度控制映射
,
基因组Res。
,
2009年
,卷。
19
(pg。
1646年
- - - - - -
1654年
)
Z
,等。
调整DNA序列的贪婪算法
,
j .第一版。医学杂志。
,
2000年
,卷。
7
(pg。
203年
- - - - - -
214年
)

作者指出

副主编:Dmitrij Frishman

这是一个开放的分布式根据条创作共用署名非商业性许可(http://creativecommons.org/licenses/by-nc/2.5),它允许无限制的非商业性使用,分布,在任何介质,和繁殖提供了最初的工作是正确引用。

补充数据