[发明专利]一种字符串匹配的方法及装置无效
申请号: | 201210013304.2 | 申请日: | 2012-01-16 |
公开(公告)号: | CN102929900A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 凌少平;吕雪梅 | 申请(专利权)人: | 中国科学院北京基因组研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 100029 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 字符串 匹配 方法 装置 | ||
技术领域
本发明涉及电子及计算机技术领域,特别是涉及字符串匹配的方法及装置。
背景技术
Burrows-Wheeler转换(Burrows-Wheeler Transform,BWT,巴罗斯-惠勒转换)又称块分类压缩(block-sorting compression)。这种数据压缩算法技术,将完整的人类基因组序列索引压缩到不到2GB大小(这是当前主流台式机甚至是笔记本电脑都能达到的水平)。因此,目前通常数据库采用BWT格式索引存储完整的人类基因组序列。BWA(Burrows-WheelerAlignment,巴罗斯-惠勒对齐)算法能够将段短片段序列(称为reads)与经BWT压缩过的参考基因组序列进行比对,最终能找出这段短片段序列在参考基因组中的定位。
比对过程主要包括,参见图1所示:
步骤101:从数据库中取出索引和由测序产生的基因短序列,该基因短序列为完整的人类基因组序列的一部分。
步骤102:根据从数据库中查询到的索引和基因短序列中的位置信息运用FM Index算法(保罗.费拉吉纳和乔瓦尔.曼奇尼于2000年提出的压缩索引算法)计算出对应的OCC数组,OCC数组包括了所有碱基四个字符在该位置的OCC值。具体的,对基因短序列中的每个字符,将该字符对应的索引,加上从0到待查询位置之间的该字符的数量,即得到该字符的OCC值。其中,索引的实质为前一个字符的坐标,初值为默认的初始索引,每成功匹配一次,该索引的值更新为当前匹配成功的字符的坐标,以作为下一个字符匹配时的起始位置。
步骤103:根据OCC数组计算出对应的SA Interval(后缀数组间隔)的坐标k和l。对于k,k[aw]=C[a]+OCC[a,k[w]-1]+1;对于l,l=C[a]+OCC[a,l[w]];其中,a为当前匹配的字符,w为基因短序列中a之前的字符串;C(a)表示字符串a在基因短序列中比a小的字符个数;OCC即为输入的OCC数组;k[w]和l[w]为前一个字符的坐标。
最终得到的坐标k和l便为短片段序列在参考基因组中的BWT空间的定位。
目前BWA算法均在CPU中实现,CPU是以reads(基因短序列)为单位进行比对。也就是说,在执行步骤101时,CPU针对短片段序列中的每个字符依次取出索引和基因短序列。当基因短序列的所有字符均执行完步骤101~103时,CPU再针对下一个reads进行匹配,以此类推。该比对过程的效率较低。
发明内容
本发明实施例提供一种字符串匹配的方法及装置,用于提高匹配效率。
一种字符串匹配的方法,包括以下步骤:
为获得的多个待匹配字符串分配不同的标识,其中一个待匹配字符串中的每个字符均对应该待匹配字符串的标识;
针对多个待匹配字符串中每个待匹配字符串的每一个字符,依据BWT搜索算法,以前一个字符的坐标为起始位置与BWT空间中的目标字符串进行匹配,并在字符匹配成功时获得当前字符的坐标;
依据待匹配字符串的标识,将当前获得的字符的坐标合并到对应的待匹配字符串的匹配路径中;
当一个待匹配字符串中所有字符的坐标均合并时,确定该待匹配字符串与目标字符串匹配成功。
一种可编程逻辑装置,包括:
查询控制模块,用于为获得的多个待匹配字符串分配不同的标识,以及将待匹配字符串以字符为单位发送给匹配模块,并将该字符对应的标识发送给合并模块,其中一个待匹配字符串中的每个字符均对应该待匹配字符串的标识;
匹配模块,用于针对多个待匹配字符串中每个待匹配字符串的每一个字符,依据BWT搜索算法,以前一个字符的坐标为起始位置与BWT空间中的目标字符串进行匹配,并在字符匹配成功时获得当前字符的坐标,并输出给合并模块;
合并模块,用于依据待匹配字符串的标识,将当前获得的字符的坐标合并到对应的待匹配字符串的匹配路径中,并将合并后的匹配路径输出给联结模块;
遍历模块,用于当一个待匹配字符串中所有字符的坐标均合并时,确定该待匹配字符串与目标字符串匹配成功。
一种单板,包括:主控模块和多个可编程逻辑模块;
主控模块,用于向每个可编程逻辑模块发送多个待匹配字符串,并接收可编程逻辑模块返回的匹配结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院北京基因组研究所,未经中国科学院北京基因组研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210013304.2/2.html,转载请声明来源钻瓜专利网。