逆向加权的序列比对种子生成方法、装置、设备和存储器制造方法及图纸

技术编号:36705281 阅读:26 留言:0更新日期:2023-03-01 09:26
本申请涉及计算机技术领域的一种逆向加权的序列比对种子生成方法、装置、设备和存储器。该方法包括:将读取的参考序列分割为N个窗口,为每个窗口生成连续重叠的k

【技术实现步骤摘要】
逆向加权的序列比对种子生成方法、装置、设备和存储器


[0001]本申请涉及计算机
,特别是涉及一种逆向加权的序列比对种子生成方法、装置、设备和存储器。

技术介绍

[0002]序列比对将测序仪输出的读段序列与参考基因组比较,找出读段在基因组上最可能的起源位置。序列比对是测序数据分析中基础而重要的环节,比对的结果是其他步骤的前提。基于种子

扩展的序列比对算法可以有效缩小碱基级比对的范围,较少计算量,提高比对速度。然而基因组重复区域的大量重复片段会造成种子定位错误,产生假阳性命中位点,影响序列比对的准确度。
[0003]现有的种子生成方法中,最小子种子(minimizer)方法具有时间和空间上的双重优势,应用越来越普遍。该方法将基因组均匀分为若干长度相同的窗口,在每个窗口中,生成连续的k

mer(长度为k个碱基的片段),通过事先定义的哈希函数计算每个k

mer的哈希值,并选择哈希值最小的k

mer作为每个窗口的最小子种子。然而真核生物等基因组中存在很多重复片段,如着丝点附近的卫星DNA等串联重复序列,这会导致基因组重复区域选取的最小子种子频率高于其他区域。当比对时,这些高频的最小子种子会引导映射算法定位到重复区域,带来很多假阳性位点,并在碱基比对阶段造成大量徒劳计算和空间浪费。
[0004]Heng Li在论文《Minimap2:pairwise alignment for nucleotide sequences》中公布了一种方法,统计所有最小子种子的频率,并丢弃频率最高的前0.02%的最小子种子。Chirag Jain等在论文《A Fast Approximate Algorithm for Mapping Long Reads to Large Reference Databases》中公布了一种方法,丢弃频率最高的前0.001%的最小子种子。这两种方法虽然在一定程度上避免了假阳性位点,但是却破坏了最小子种子算法的完整性,而且也降低了基因组重复区域的比对准确性,会对下游数据分析造成影响,已有相关研究论文表示,上述方案造成了基因组重复区域的同源性检测率降低,高拷贝质粒的组装出错等问题。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种逆向加权的序列比对种子生成方法、装置、设备和存储器。
[0006]一种逆向加权的序列比对种子生成方法,所述方法包括:
[0007]读取参考序列,并将所述参考序列分割为N个窗口,其中前N

1个窗口均包含w个碱基,第N个窗口的碱基数量不大于w,N、w均为大于1的整数。
[0008]根据每个所述窗口,为对应窗口生成连续重叠的k

mer。
[0009]对所有窗口中的每条k

mer的出现次数进行统计,得到每条k

mer的出现次数。
[0010]根据每条k

mer的出现次数,计算每条k

mer的出现频率。
[0011]根据每条k

mer的出现频率,采用预设权重函数,计算每条k

mer的权重值;所述k

mer的权重值随着k

mer的出现频率的增大而减小。
[0012]根据每条k

mer的碱基序列信息和出现频率,采用预设哈希函数,计算得到每条k

mer的哈希值。
[0013]分别比较每个窗口中所有k

mer的哈希值,生成每个窗口的最小子种子。
[0014]在其中一个实施例中,所述根据每条k

mer的碱基序列信息和出现频率采用预设哈希函数,计算每条k

mer的哈希值,步骤中所述预设哈希函数为:
[0015][0016]其中,h(k
i
)为第i条k

mer的哈希值,哈希值的取值范围为(0,1)开区间;k
i
为第i条k

mer的碱基序列信息;φ(f(k
i
))为第i条k

mer的权重值,权重取值范围为(0,1)开区间;g(k
i
)为不考虑权重信息的普通哈希函数,哈希值的取值范围为(0,1)开区间。
[0017]在其中一个实施例中,分别比较每个窗口中所有k

mer的哈希值,生成每个窗口的最小子种子,包括:
[0018]将第一个窗口作为当前窗口;将当前窗口中的第一条k

mer作为当前k

mer;设置当前窗口中k

mer的最小哈希值为1;将当前窗口中当前k

mer的哈希值与最小哈希值进行比较,得到比较结果;当所述比较结果为当前k

mer的哈希值小于最小哈希值时,则将最小哈希值更新为当前k

mer的哈希值,并记录对应的k

mer为当前窗口的备选最小子种子;当所述比较结果为当前k

mer的哈希值大于最小哈希值时,如果当前k

mer不是当前窗口中最后一条k

mer,则处理下一条k

mer;如果当前k

mer是当前窗口中最后一条k

mer,则将当前窗口的备选最小子种子作为当前窗口的最小子种子,将当前窗口更新为下一窗口,继续进行下一轮迭代,直到遍历所有窗口为止,完成所有窗口的最小子种子生成过程。
[0019]在其中一个实施例中,对所有窗口中的每条k

mer的出现次数进行统计,得到每条k

mer的出现次数,包括:
[0020]设置频率记录表为空,所述频率记录表中的信息包括:k

mer、k

mer的出现次数、k

mer的出现频率;读取一条k

mer,记为k
i
,并检查所述频率记录表中是否已经存在与k
i
序列相同的k

mer;如果所述频率记录表中不存在与k
i
序列相同的k

mer,则在所述频率记录表中添加一行,将k
i
记录在该行,并将k
i
的出现次数记为1;如果所述频率记录表中存在与k
i
序列相同的k

mer,则将所述频率记录表中相应k

mer的出现次数加1;读取下一条k

mer,继续进行处理,直至所有的k

mer遍历完为止,得到每条k

mer的出现次数。...

【技术保护点】

【技术特征摘要】
1.一种逆向加权的序列比对种子生成方法,其特征在于,所述方法包括:读取参考序列,并将所述参考序列分割为N个窗口,其中前N

1个窗口均包含w个碱基,第N个窗口碱基数量不大于w,N、w均为大于1的整数;根据每个所述窗口,为对应窗口生成连续重叠的k

mer;对所有窗口中的每条k

mer的出现次数进行统计,得到每条k

mer的出现次数;根据每条k

mer的出现次数,计算每条k

mer的出现频率;根据每条k

mer的出现频率,采用预设权重函数,计算每条k

mer的权重值;所述k

mer的权重值随着k

mer的出现频率的增大而减小;根据每条k

mer的碱基序列信息和出现频率,采用预设哈希函数,计算每条k

mer的哈希值;分别比较每个窗口中所有k

mer的哈希值,生成每个窗口的最小子种子。2.根据权利要求1所述的方法,其特征在于,所述根据每条k

mer的碱基序列信息和出现频率,采用预设哈希函数计算每条k

mer的哈希值,步骤中所述预设哈希函数为:其中,h(k
i
)为第i条k

mer的哈希值,哈希值的取值范围为(0,1)开区间;k
i
为第i条k

mer的碱基序列信息;φ(f(k
i
))为第i条k

mer的权重值,权重取值范围为(0,1)开区间;g(k
i
)为不考虑权重信息的普通哈希函数,哈希值的取值范围为(0,1)开区间。3.根据权利要求1所述的方法,其特征在于,分别比较每个窗口中所有k

mer的哈希值,生成每个窗口的最小子种子,包括:将第一个窗口作为当前窗口;将当前窗口中的第一条k

mer作为当前k

mer;设置当前窗口中k

mer的最小哈希值为1;将当前窗口中当前k

mer的哈希值与最小哈希值进行比较,得到比较结果;当所述比较结果为当前k

mer的哈希值小于最小哈希值时,则将最小哈希值更新为当前k

mer的哈希值,并记录对应的k

mer为当前窗口的备选最小子种子;当所述比较结果为当前k

mer的哈希值大于最小哈希值时,如果当前k

mer不是当前窗口中最后一条k

mer,则继续处理下一条k

mer;如果当前k

mer是当前窗口中最后一条k

mer,则将当前窗口的备选最小子种子作为当前窗口的最小子种子,将当前窗口更新为下一个窗口,继续进行下一轮迭代,直到遍历所有窗口为止,完成所有窗口的最小子种子生成过程。4.根据权利要求1所述的方法,其特征在于,对所有窗口中的每条k

mer的出现次数进行统计,得到每条k

mer的出现次数,包括:设置频率记录表为空,所述频率记录表中的信息包括:k

mer、k

mer的出现次数、k

mer的出现频率;读取一条k

mer,记为k
i
,并检查所述频率记录表中是否已经存在与k
i
序列相同的k

mer;如果所述频率记录表中不存在与k
i
序列相同的k

mer,则在所述频率记录表中添加一
行,将k
i
记录在该行,并将k
i
的出现次数记为1;如果所述频率记录表中存在与k
i
序列相同的k

mer,则将所述频率记录表中相应k

mer的出现次数加1;读取下一条k

mer,继续进行处理,直至所有的k

mer遍历完为止,得到每条k

mer的出现次数。5.一种逆向加权的序列比对种子生成装置,其特征在于,所述装置包括:参考序列读取模块,用于读取参考序列,并将所述参考序列...

【专利技术属性】
技术研发人员:崔英博张昂李发唐滔彭林郭宇飞彭晨晨夏泽宇郭逸飞
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1