[发明专利]支持SIMD的序列比对方法及装置有效
申请号: | 201810216966.7 | 申请日: | 2018-03-16 |
公开(公告)号: | CN110310705B | 公开(公告)日: | 2021-05-14 |
发明(设计)人: | 谭光明;张中海;牛钢;曾平 | 申请(专利权)人: | 北京哲源科技有限责任公司 |
主分类号: | G16B30/10 | 分类号: | G16B30/10 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇;苏晓丽 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 simd 序列 方法 装置 | ||
本发明提供一种支持SIMD的序列比对方法,包括根据查询序列和参考序列的长度确定得分矩阵的行数和列数;根据指定的宽度值确定得分矩阵在行方向和列方向上的扩展区间;基于查询序列和参考序列的比对,确定得分矩阵在所述扩展区间内相应各元素的得分,同时将处于扩展区间之外的元素全部清零;然后根据所确定的得分矩阵获取查询序列相对于参考序列的局部最大相似片段。该方法能充分利用SIMD来提高序列比对的计算效率。
技术领域
本发明涉及基因数据处理,尤其涉及对DNA序列比对进行加速的方法和系统。
背景技术
随着下一代测序技术(NGS)技术的快速发展,基因测序通量不断提升。在DNA测序中,DNA分子首先会被随机打断成很多个片段,然后将这些无序片段克隆,再经由测序仪进行测序,产生数百万很短的DNA reads(下文中也可称为测序片段)。之后将这些产生的DNAreads与参考基因组进行比对,找到这些DNA reads在参考基因组上的位置。BWA-MEM已成为当下最流行的也是最常用的基因序列匹配工具。提高和完善BWA-MEM工具的效率对于基因测序有着重要的意义。
发明内容
BWA-MEM采用经典的seed-and-extend范式,其主要耗时的部分包括两个:一是根据BWT(Burrow-Wheeler Transform,伯罗斯-惠勒变换)算法计算每个seed的位置,另一个是使用序列比对算法(Smith-Waterman,SW),基于动态规划对seed进行扩展以找到两序列之间的最优本地比对。其中BWT计算复杂度为O(n),可优化空间不大;而SW算法计算复杂度为O(n^2),既复杂又耗时。
因此,本发明的目的在于提供一种可利用SIMD(Single Instruction MultipleData,单指令多数据)技术进行加速的SW算法的方法和系统。
本发明的目的是通过以下技术方案实现的:
一方面,本发明提供了一种支持SIMD的序列比对方法,包括:
s1)根据查询序列和参考序列的长度确定得分矩阵的行数和列数;
s2)根据指定的宽度值确定得分矩阵在行方向和列方向上的扩展区间;
s3)在查询序列和参考序列的比对过程中,确定得分矩阵在所述扩展区间内相应各元素的得分,同时将处于扩展区间之外的元素全部清零;
s4)根据所获得的得分矩阵获取查询序列相对于参考序列的局部最大相似片段。
在上述方法中,还可包括根据下述公式判断是否执行步骤s1)-s4):
其中a的值等于或略小于要用于执行所述方法的处理器中向量寄存器包含的元素个数;m为查询序列的长度,w表示所述指定的宽度值;以及当上述公式成立时确定执行步骤s1)-s4)。
在上述方法中,所述扩展区间可以为[max(i-w,0),min(i+w,n)],其中n为参考序列的长度;w表示所述指定的宽度值,i为[-1,m]之间的整数,m为查询序列的长度。
又一方面,本发明提供了一种计算机可读介质,其中存储有计算机程序,所述计算机程序在被执行时能够用于实现上文所述支持SIMD的序列比对方法。
又一方面,本发明提供了一种序列比对装置,包括存储器和支持SIMD指令集的处理器,所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时能够用于实现上文所述支持SIMD的序列比对方法。
与现有技术相比,本发明的优点在于:
通过固定读取宽度和余位补零等方式解决了现有BWA-MEM工具中SW算法中难以在支持SIMD指令集的处理器上有效执行的问题,从而能充分利用SIMD加速序列比对的计算速度,从而改善了BWA-MEM基因匹配工具的效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京哲源科技有限责任公司,未经北京哲源科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810216966.7/2.html,转载请声明来源钻瓜专利网。