[发明专利]基于FMD索引和快表的跨越式种子查找算法有效
申请号: | 201510373462.2 | 申请日: | 2015-06-29 |
公开(公告)号: | CN105138534B | 公开(公告)日: | 2018-08-03 |
发明(设计)人: | 许跃生;陈颖;叶纬材 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F19/28 |
代理公司: | 广东广信君达律师事务所 44329 | 代理人: | 杨晓松;李斌 |
地址: | 510275 *** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于FMD索引和快表的跨越式种子查找算法,包括下述步骤:S0、构建数据库的FMD索引以及快表;S1、从快表中取出查询序列中长度为k的子序列的双区间;S2、这个步骤通过向后搜索算法,逐步找出k种子左边的匹配区域;S3、对步骤S2中缩小前的区间执行向前搜索算法,以找出k种子右边的匹配区域;S4、检查当前检测位置是否位于查询序列的尾部,如果是,则算法终止,否则,执行步骤S5;S5、将当前检测位置向前跳跃w‑k+1个位置,重复执行步骤S2‑S5,其中w是要查找的种子的长度。本发明提出的快表具有占用空间少、访问效率高的特点;在快表和FMD索引的基础上,本发明提出的种子查找算法能够快速地找出所有w种子的双区间。 | ||
搜索关键词: | 基于 fmd 索引 跨越 种子 查找 算法 | ||
【主权项】:
1.基于FMD索引和快表的跨越式种子查找方法,包括下述步骤:S0、构建数据库FMD索引的快表,这个快表是一个Hash表,每一个表项对应一个长度为k的子序列,保存的是在FMD索引中搜索这个子序列所得到的双区间;FMD索引具体为:核酸序列的一个长度为k的子序列称为k子序列,查询序列与数据库序列之间的一段长度为w的完全匹配区段称为w种子,在数据库的FMD索引中搜索序列P,其搜索结果以双区间的形式表示,而双区间则由三个整数表示,给定核酸序列P的双区间和字符a,a为A、C、G、T中的其中一个,由向后搜索算法,可以得到aP的双区间;由向前搜索算法,可以得到Pa的双区间,双区间中元素的个数称为该区间的大小,它表示P在数据库中出现的次数,如果P的双区间为空区间,则表示P没有在数据库中出现;S1、计算查询序列中k子序列的Hash值,并从快表中取出其相应的长度为k的种子的双区间;S2、这个步骤通过向后搜索算法,逐步扩大k种子左边的匹配区域;S3、对步骤S2中缩小前的区间执行向前搜索算法,以找出k种子右边的匹配区域;S4、检查当前检测位置是否位于查询序列的尾部,如果是,则算法终止,否则,执行步骤S5;S5、将当前检测位置向前跳跃w‑k+1个位置,重复执行步骤S2‑S5,其中w是要查找的种子的长度。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510373462.2/,转载请声明来源钻瓜专利网。