[发明专利]一种smems算法的优化实现方案在审
申请号: | 202010094887.0 | 申请日: | 2020-02-17 |
公开(公告)号: | CN111354419A | 公开(公告)日: | 2020-06-30 |
发明(设计)人: | 田英轩;牛毅;李甫;李豪;马明明 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G16B30/10 | 分类号: | G16B30/10;G16B40/00 |
代理公司: | 北京劲创知识产权代理事务所(普通合伙) 11589 | 代理人: | 徐家升 |
地址: | 710000 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 smems 算法 优化 实现 方案 | ||
本发明公开了一种smems算法的优化实现方案,属于生物信息学技术领域,其功能是完成序列在字典(bwt表)上的完全匹配,具体包括以下步骤:(1)保持原输入不变,从序列最左端开始,先向右匹配整条序列,在bwt表上寻找完全匹配,当无法继续向右延拓的时候,停止,记录当前碱基位置s1,将[0,s1]这条smem存入R;(2)将匹配顺序改成先左后右,即:在s1位置开始,先向左匹配到终点,针对当前这条完全匹配,向右延拓到最顶端s2,更新s1为s2;(3)重复第二步,直至s2为序列的右端点;(4)输出所有中间匹配的结果R;本发明将原始算法的循环执行的逻辑改成了顺序执行的逻辑,结构清晰,实现方便快捷,在不改变最终结果的前提下,优化了算法实现。
技术领域
本发明属于生物信息学技术领域,具体涉及一种smems算法的优化实现方案。
背景技术
bwa算法分两部分,第一部分完全匹配模块,第二部分不完全匹配模块。其中完全匹配通过smems算法实现,semems即:super.maximal exact matches,具体是通过建立后缀树表,再查表完成逻辑。具体功能是完成碱基的完全匹配工作。本发明通过优化smems算法的算法复杂度,实现算法加速,提升基因比对的计算效率。
现有技术存在以下问题:1、现有技术基于CPU串行逻辑实现,主要不足在于当数据规模较大时,计算比较费时,循环逻辑较多;2、现有技术的算法复杂度较高,分支,判断逻辑较多,具体实现上仍有可提升空间。
发明内容
为解决上述背景技术中提出的问题。本发明提供了一种smems算法的优化实现方案,具有通过优化smems算法的算法复杂度,实现算法加速,提升基因比对计算效率的特点。
为实现上述目的,本发明提供如下技术方案:一种smems算法的优化实现方案,具体包括以下步骤:
(1)保持原输入不变,从序列最左端开始,先向右匹配整条序列,在bwt表上寻找完全匹配,当无法继续向右延拓的时候,停止,记录当前碱基位置s1,将[0,s1]这条smem存入R;
(2)在s1位置开始,先向左匹配到终点,针对当前这条完全匹配,向右延拓到最顶端s2,更新s1为s2;
(3)重复第二步,直至s2为序列的右端点;
(4)输出所有中间匹配的结果R。
在本发明中进一步的,所述本算法为先反向,再正向的一次性延拓运算。
在本发明中进一步的,所述本算法中的逻辑为顺序执行的逻辑。
与现有技术相比,本发明的有益效果是:
1、本发明将原始算法的循环执行的逻辑改成顺序执行的逻辑,结构清晰,实现方便,在不改变最终结果的前提下,优化算法实现。
2、本发明将原算法反向遍历的运算优化成先反向,再正向的一次性延拓,减少了冗余分析,将原来O(n2)的算法复杂度降低到了O(n),进而提升了基因比对的计算效率,从而提升了算法的时效性。
附图说明
图1为bwa-mem算法的流程图。
图2为Smems原始算法流程图。
图3为优化后Smemes算法的流程图。
图4为优化前后逻辑的对比图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010094887.0/2.html,转载请声明来源钻瓜专利网。