1.一种基于布隆过滤器的锚点筛选方法,其特征在于,所述方法包括:获取待比对的查询序列、参考序列以及预先定位得到的多个锚点;所述查询序列为长读DNA序列;选取所述查询序列在第一锚点和第二锚点之间的片段为查询序列片段,选取所述参考序列在所述第一锚点和所述第二锚点之间的片段为参考序列片段;根据所述参考序列片段按照预设长度生成多个连续重叠的参考序列子片段,根据所述查询序列片段按照所述预设长度生成多个连续重叠的查询序列子片段;通过预设的多个哈希函数建立索引,将所述参考序列子片段映射到布隆过滤器的位向量中;根据所述索引查询所述参考序列中是否存在所述查询序列子片段,当所述查询序列子片段在所述参考序列中不存在时,判断所述查询序列子片段未通过筛选;遍历所述查询序列片段中所有查询序列子片段,并统计未通过筛选的查询序列子片段的累计值,当所述累计值大于预设阈值时,剔除所述第一锚点;遍历所有锚点,直到完成所述所有锚点的筛选。
2.根据权利要求1所述的方法,其特征在于,在根据所述参考序列片段按照预设长度生成多个连续重叠的参考序列子片段,根据所述查询序列片段按照所述预设长度生成多个连续重叠的查询序列子片段之前,还包括:删除所述查询序列片段和所述参考序列片段两端相同的部分,对所述查询序列片段和所述参考序列片段进行更新。
3.根据权利要求2所述的方法,其特征在于,在删除所述查询序列片段和所述参考序列片段两端相同的部分,对所述查询序列片段和所述参考序列片段进行更新之前,还包括:将所述查询序列片段和所述参考序列片段对齐;由序列两端向中间延伸,逐个碱基进行比对;得到所述查询序列片段和所述参考序列片段两端相同的部分。
4.根据权利要求3所述的方法,其特征在于,所述由序列两端向中间延伸,逐个碱基进行比对,包括:若所述查询序列片段和所述参考序列片段正在比对的两个碱基相同,继续向下一个碱基延伸;若所述查询序列片段和所述参考序列片段正在比对的两个碱基不同,停止延伸。
5.根据权利要求4所述的方法,其特征在于,通过预设的多个哈希函数建立索引,将所述参考序列子片段映射到布隆过滤器的位向量中,包括:根据预设的多个哈希函数得到每个参考序列子片段的多个哈希值;根据所述参考序列子片段的哈希值将布隆过滤器位向量对应位置的值置1。
6.根据权利要求5所述的方法,其特征在于,根据所述索引查询所述参考序列中是否存在所述查询序列子片段,当所述查询序列子片段在所述参考序列中不存在时,判断所述查询序列子片段未通过筛选,包括:根据预设的多个哈希函数得到每个查询序列子片段的多个哈希值;根据所述查询序列子片段的哈希值在所述布隆过滤器位向量的对应位置进行查询;若所述查询序列子片段的多个哈希值对应位置的值全部为1,则判断所述查询序列子片段通过筛选;若不全部为1,则判断所述查询序列子片段未通过筛选。
7.根据权利要求1至6任意一项所述的方法,其特征在于,在剔除所述第一锚点之后,包括:以所述第二锚点为第一锚点,以所述第二锚点右侧相邻的锚点为第二锚点,进行下一轮的锚点筛选。
8.一种基于布隆过滤器的锚点筛选装置,其特征在于,所述装置包括:序列获取模块,用于获取待比对的查询序列、参考序列以及预先定位得到的多个锚点;所述查询序列为长读DNA序列;片段选取模块,用于选取所述查询序列在第一锚点和第二锚点之间的片段为查询序列片段,选取所述参考序列在所述第一锚点和所述第二锚点之间的片段为参考序列片段;子片段生成模块,用于根据所述参考序列片段按照预设长度生成多个连续重叠的参考序列子片段,根据所述查询序列片段按照所述预设长度生成多个连续重叠的查询序列子片段;索引建立模块,用于通过预设的多个哈希函数建立索引,将所述参考序列子片段映射到布隆过滤器的位向量中;查询模块,用于根据所述索引查询所述参考序列中是否存在所述查询序列子片段,当所述查询序列子片段在所述参考序列中不存在时,判断所述查询序列子片段未通过筛选;锚点剔除模块,用于遍历所述查询序列片段中所有查询序列子片段,并统计未通过筛选的查询序列子片段的累计值,当所述累计值大于预设阈值时,剔除所述第一锚点;遍历模块,用于遍历所有锚点,直到完成所述所有锚点的筛选。
9.根据权利要求8所述的装置,其特征在于,所述片段选取模块还用于删除所述查询序列片段和所述参考序列片段两端相同的部分,对所述查询序列片段和所述参考序列片段进行更新。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。