[发明专利]一种基于布隆过滤器的锚点筛选方法、装置和计算机设备有效
申请号: | 202111041904.5 | 申请日: | 2021-09-07 |
公开(公告)号: | CN113782097B | 公开(公告)日: | 2022-06-24 |
发明(设计)人: | 张昂;廖湘科;崔英博;杨灿群;黄春;唐滔;彭林;夏泽宇 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G16B30/10 | 分类号: | G16B30/10;G16B20/30 |
代理公司: | 长沙国科天河知识产权代理有限公司 43225 | 代理人: | 徐志宏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 过滤器 筛选 方法 装置 计算机 设备 | ||
1.一种基于布隆过滤器的锚点筛选方法,其特征在于,所述方法包括:
获取待比对的查询序列、参考序列以及预先定位得到的多个锚点;所述查询序列为长读DNA序列;
选取所述查询序列在第一锚点和第二锚点之间的片段为查询序列片段,选取所述参考序列在所述第一锚点和所述第二锚点之间的片段为参考序列片段;
根据所述参考序列片段按照预设长度生成多个连续重叠的参考序列子片段,根据所述查询序列片段按照所述预设长度生成多个连续重叠的查询序列子片段;
通过预设的多个哈希函数建立索引,将所述参考序列子片段映射到布隆过滤器的位向量中;
根据所述索引查询所述参考序列中是否存在所述查询序列子片段,当所述查询序列子片段在所述参考序列中不存在时,判断所述查询序列子片段未通过筛选;
遍历所述查询序列片段中所有查询序列子片段,并统计未通过筛选的查询序列子片段的累计值,当所述累计值大于预设阈值时,剔除所述第一锚点;
遍历所有锚点,直到完成所述所有锚点的筛选。
2.根据权利要求1所述的方法,其特征在于,在根据所述参考序列片段按照预设长度生成多个连续重叠的参考序列子片段,根据所述查询序列片段按照所述预设长度生成多个连续重叠的查询序列子片段之前,还包括:
删除所述查询序列片段和所述参考序列片段两端相同的部分,对所述查询序列片段和所述参考序列片段进行更新。
3.根据权利要求2所述的方法,其特征在于,在删除所述查询序列片段和所述参考序列片段两端相同的部分,对所述查询序列片段和所述参考序列片段进行更新之前,还包括:
将所述查询序列片段和所述参考序列片段对齐;
由序列两端向中间延伸,逐个碱基进行比对;
得到所述查询序列片段和所述参考序列片段两端相同的部分。
4.根据权利要求3所述的方法,其特征在于,所述由序列两端向中间延伸,逐个碱基进行比对,包括:
若所述查询序列片段和所述参考序列片段正在比对的两个碱基相同,继续向下一个碱基延伸;
若所述查询序列片段和所述参考序列片段正在比对的两个碱基不同,停止延伸。
5.根据权利要求4所述的方法,其特征在于,通过预设的多个哈希函数建立索引,将所述参考序列子片段映射到布隆过滤器的位向量中,包括:
根据预设的多个哈希函数得到每个参考序列子片段的多个哈希值;
根据所述参考序列子片段的哈希值将布隆过滤器位向量对应位置的值置1。
6.根据权利要求5所述的方法,其特征在于,根据所述索引查询所述参考序列中是否存在所述查询序列子片段,当所述查询序列子片段在所述参考序列中不存在时,判断所述查询序列子片段未通过筛选,包括:
根据预设的多个哈希函数得到每个查询序列子片段的多个哈希值;
根据所述查询序列子片段的哈希值在所述布隆过滤器位向量的对应位置进行查询;
若所述查询序列子片段的多个哈希值对应位置的值全部为1,则判断所述查询序列子片段通过筛选;
若不全部为1,则判断所述查询序列子片段未通过筛选。
7.根据权利要求1至6任意一项所述的方法,其特征在于,在剔除所述第一锚点之后,包括:
以所述第二锚点为第一锚点,以所述第二锚点右侧相邻的锚点为第二锚点,进行下一轮的锚点筛选。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111041904.5/1.html,转载请声明来源钻瓜专利网。