一种针对序列间重叠检测的方法技术

技术编号:36457302 阅读:22 留言:0更新日期:2023-01-25 22:55
一种针对序列间重叠检测的方法,具体涉及一种基于第三代测序技术ONT数据的序列间重叠检测的方法,本发明专利技术为了解决第三代测序技术在重叠检测时是全部序列进行比对,导致比对速度慢、内存消耗大,且第三代测序技术具有较高的错误率,产生的序列间重叠检测结果准确率不高,可靠性低的问题,它首先将获取的测序序列分为种子序列和映射序列;再构建种子序列的二级哈希索引表;计算种子序列的过滤阈值;最终利用种子序列的二级哈希索引表和过滤阈值将种子序列和映射序列进行比对,得到种子序列和映射序列的重叠信息,再以迭代的方式在每轮迭代开始时重新选取种子序列和映射序列,并重复上述操作,得到测序序列的重叠信息。属于序列重叠检测领域。重叠检测领域。重叠检测领域。

【技术实现步骤摘要】
一种针对序列间重叠检测的方法


[0001]本专利技术涉及一种序列重叠检测方法,具体涉及一种基于第三代测序技术ONT数据的序列间重叠检测的方法,属于序列重叠检测领域。

技术介绍

[0002]从头基因组拼接是指根据测序序列对物种基因组序列进行重建的过程。通过检测测序序列间的重叠关系,利用图模型专利技术,确定测序序列间的连接顺序,重构基因组上连续序列的过程,称为重叠群拼接。重叠群拼接是完成从头基因组拼接的第一步。测序序列间重叠检测专利技术是指给定一个测序序列的集合,通过测序序列间的相互比对找到序列间重叠位置的过程。该类专利技术为基因组序列拼接、基因组序列纠错等方法的上游工作,在生物信息学研究中具有重要地位。
[0003]与高通量测序技术(NGS)产生的测序序列(平均长度为100

250bp、测错率小于1%)相比,第三代测序技术(TGS)可以产生长度更长但错误率更高的测序序列(长度可达10kbp甚至100kbp以上、测错率约为12%

25%)。其中以PacBio公司的单分子实时测序技术(SMRT)和牛津纳米孔测序技术(ONT)为代表。第三代测序序列凭借其读长优势,能够覆盖基因组上多数大型结构变异和重复序列区域,因而可以大大提高检测结构变异的能力、比对的正确性和基因组拼接的连续性等。但其较高的错误率也对比对方法提出了更多的挑战,产生的序列间重叠检测结果准确率不高,可靠性低,且第三代测序技术在重叠检测时是全部序列进行比对,导致比对速度慢、内存消耗大。

技术实现思路

[0004]本专利技术为了解决第三代测序技术在重叠检测时是全部序列进行比对,导致比对速度慢、内存消耗大,且第三代测序技术具有较高的错误率,产生的序列间重叠检测结果准确率不高,可靠性低的问题,进而提出了一种针对序列间重叠检测的方法。
[0005]本专利技术采取的技术方案是:
[0006]它包括以下步骤:
[0007]S1、获取测序序列;
[0008]S2、将测序序列分为种子序列和映射序列,将种子序列和映射序列进行比对,得到测序序列的重叠信息,具体过程为:
[0009]S21、将测序序列作为映射序列,再按照序列长度由长到短进行排序,选取一条或多条排序后长度最长的测序序列作为种子序列;
[0010]S22、构建种子序列的二级哈希索引表,得到构建好的二级哈希索引表;
[0011]S23、计算种子序列的过滤阈值;
[0012]S24、利用种子序列的二级哈希索引表和过滤阈值对种子序列与映射序列进行比对,得到种子序列与映射序列的重叠集合;
[0013]S25、将种子序列与映射序列的重叠集合进行对称记录,得到每个重叠在种子序列
和映射序列上对应的信息,根据得到的所述信息分别计算种子序列和映射序列上重叠区域的覆盖度;
[0014]S26、将所有覆盖度不足的测序序列作为映射序列,选取一定数量的覆盖度不足的测序序列作为种子序列,重复执行S21

S25,直至覆盖度不足的测序序列的减少数量低于阈值,得到测序序列的重叠信息。
[0015]进一步地,所述S22中构建种子序列的二级哈希索引表,得到构建好的二级哈希索引表,具体过程为:
[0016]S221、从测序序列中依次读取每条种子序列,得到每条种子序列的信息,将得到的每条种子序列的信息合并,得到种子序列的信息集合;
[0017]所有种子序列的碱基数为:
[0018][0019]其中,M表示自定义的内存上限,单位为GB;
[0020]#reads表示测序序列总数;
[0021]top
n
表示每条测序序列每轮最多保留的重叠信息数量;
[0022]t表示线程数;
[0023]B1表示存储每条种子序列、映射序列标记信息和重叠信息所占字节数;
[0024]B2表示存储每个具体的重叠信息所占的字节数;
[0025]B3表示存储索引表中的一个元素所占的字节数;
[0026]S1表示比对过程中多线程同时读入的情况下,S1个碱基所占的字节数;
[0027]S2表示索引过程中多线程同时读入的情况下,S2个碱基所占的字节数;
[0028]S222、根据种子序列的信息集合构建种子序列的线性列表和指针列表,得到构建好的线性列表和指针列表;
[0029]S223、根据构建好的线性列表和指针列表构建种子序列的二级哈希索引表。
[0030]进一步地,所述S221中每条种子序列的信息均由四元组read(id,length,name,seq)表示,其中,id表示每条种子序列在测序序列中的顺位,且作为每条种子序列对应的标识符,length表示每条种子序列的长度,name表示每条种子序列在测序序列中的名称,seq表示每条种子序列具体的碱基序列。
[0031]进一步地,所述S222中根据种子序列的信息集合构建种子序列的线性列表和指针列表,得到构建好的线性列表和指针列表,具体过程为:
[0032]S2221、定义一个长度为w的窗口,所述窗口从每条种子序列的第一个碱基位置开始向右移动,直至最后一个碱基结束,利用所述窗口重复遍历每条种子序列,每个窗口内均有w个短字符串;
[0033]S2222、使用哈希函数分别处理每个窗口中的短字符串,得到每个窗口中每个短字符串的哈希值,选取每个窗口中哈希值最小的短字符串作为minimizer,令minimizer表示当前的窗口,当两个相邻的minimizer的哈希值一致时,两个minimizer位于同一条种子序列上的相同位置,则两个相邻窗口保留同一个minimizer,得到所有种子序列的minimizer,将所有minimizer根据得到的顺序进行排序,生成线性列表mi;
[0034]S2223、指针列表mi_num的每个元素均记录具有相同前l位的kmer的数量。
[0035]进一步地,每个minimizer均包括四元组minimizer(value,rid,pos,strand),其中,value表示该minimizer对应的哈希值,rid表示种子序列标识符,pos表示该minimizer在种子序列上的位置,strand表示该minimizer对应的正负链。
[0036]进一步地,所述S223中根据构建好的线性列表和指针列表构建种子序列的二级哈希索引表,具体过程为:
[0037]S2231、根据指针列表mi_num计算得到指针列表mi_count;
[0038]S2232、根据每个minimizer对应的哈希值大小对线性列表mi进行排序,生成有序线性列表mi


[0039]S2233、将指针列表mi_count和有序线性列表mi

合并,组成种子序列的二级哈希索引表。
[0040]进一步地,所述S23中计算种子序列的过滤阈值,具体过程为:
[0041]计算种子序列的minimize本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对序列间重叠检测的方法,其特征在于:它包括以下步骤:S1、获取测序序列;S2、将测序序列分为种子序列和映射序列,将种子序列和映射序列进行比对,得到测序序列的重叠信息,具体过程为:S21、将测序序列作为映射序列,再按照序列长度由长到短进行排序,选取一条或多条排序后长度最长的测序序列作为种子序列;S22、构建种子序列的二级哈希索引表,得到构建好的二级哈希索引表;S23、计算种子序列的过滤阈值;S24、利用种子序列的二级哈希索引表和过滤阈值对种子序列与映射序列进行比对,得到种子序列与映射序列的重叠集合;S25、将种子序列与映射序列的重叠集合进行对称记录,得到每个重叠在种子序列和映射序列上对应的信息,根据得到的所述信息分别计算种子序列和映射序列上重叠区域的覆盖度;S26、将所有覆盖度不足的测序序列作为映射序列,选取一定数量的覆盖度不足的测序序列作为种子序列,重复执行S21

S25,直至覆盖度不足的测序序列的减少数量低于阈值,得到测序序列的重叠信息。2.根据权利要求1中所述的一种针对序列间重叠检测的方法,其特征在于:所述S22中构建种子序列的二级哈希索引表,得到构建好的二级哈希索引表,具体过程为:S221、从测序序列中依次读取每条种子序列,得到每条种子序列的信息,将得到的每条种子序列的信息合并,得到种子序列的信息集合;所有种子序列的碱基数为:其中,M表示自定义的内存上限,单位为GB;#reads表示测序序列总数;top
n
表示每条测序序列每轮最多保留的重叠信息数量;t表示线程数;B1表示存储每条种子序列、映射序列标记信息和重叠信息所占字节数;B2表示存储每个具体的重叠信息所占的字节数;B3表示存储索引表中的一个元素所占的字节数;S1表示比对过程中多线程同时读入的情况下,S1个碱基所占的字节数;S2表示索引过程中多线程同时读入的情况下,S2个碱基所占的字节数;S222、根据种子序列的信息集合构建种子序列的线性列表和指针列表,得到构建好的线性列表和指针列表;S223、根据构建好的线性列表和指针列表构建种子序列的二级哈希索引表。3.根据权利要求1中所述的一种针对序列间重叠检测的方法,其特征在于:所述S221中每条种子序列的信息均由四元组read(id,length,name,seq)表示,其中,id表示每条种子序列在测序序列中的顺位,且作为每条种子序列对应的标识符,length表示每条种子序列的长度,name表示每条种子序列在测序序列中的名称,seq表示每条种子序列具体的碱基序
列。4.根据权利要求3中所述的一种针对序列间重叠检测的方法,其特征在于:所述S222中根据种子序列的信息集合构建种子序列的线性列表和指针列表,得到构建好的线性列表和指针列表,具体过程为:S2221、定义一个长度为w的窗口,所述窗口从每条种子序列的第一个碱基位置开始向右移动,直至最后一个碱基结束,利用所述窗口重复遍历每条种子序列,每个窗口内均有w个短字符串;S2222、使用哈希函数分别处理每个窗口中的短字符串,得到每个窗口中每个短字符串的哈希值,选取每个窗口中哈希值最小的短字符串作为minimizer,令minimizer表示当前的窗口,当两个相邻的minimizer的哈希值一致时,两个minimizer位于同一条种子序列上的相同位置,则两个相邻窗口保留同一个minimizer,得到所有种子序列的minimizer,将所有minimizer根据得到的顺序进行排序,生成线性列表mi;S2223、指针列表mi_num的每个元素均记录具有相同前l位的kmer的数量。5.根据权利要求4中所述的一种针对序列间重叠检测的方法,其特征在于:每个minimizer均包括四元组minimizer(value,rid,pos,strand),其中,value表示该minimizer对应的哈希值,rid表示种子序列标识符,pos表示该minimizer在种子序列上的位置,strand表示该minimizer对应的正负链。6.根据权利要求5中所述的一种针对序列间重叠检测的方法,其特征在于:所述S223中根据构建好的线性列表和指针列表构建种子序列的二级哈希索引表,具体过程为:S2231、根据指针列表mi_num计算得到指针列表mi_count;S2232、根据每个minimizer对应的哈希值大小对线性列表mi进行排序,生成有序线性列表mi

;S2233、将指针列表mi_count和有序线性列表mi

合并,组成种子序列的二级哈希索引表。7.根据权利要求6中所述的一种针对序列间重叠检测的方法,其特征在于:所述S23中计算种子序列的过滤阈值,具体过程为:计算种子序列的minimizer的过滤阈值:rep_n=rep_kmer[#minimizer*r
n
]
ꢀꢀꢀ
(2)其中,rep_n表示过滤阈值;#minimizer表示不同哈希值的minimizer的数量;r
n
表示自定义的过滤重复次数最多的minimizer的百分比;rep_kmer[]表示存储每个不同minimizer数量的递减有序数组。8.根据权利要求7中所述的一种针对序列间重叠检测的方法,其特征在于:所述S24中利用种子序列的二级哈希索引表和过滤阈值对种子序列与映射序列进行比对,得到种子序列与映射序列的重叠集合,具体过程为:S241、从测序序列中依次读取每条映射序列,得到每条映射序列的信息,将得到的每条映射序列的信息合并,得到映射序列的信息集合;所述每条映射序列的信息均由四元组read

(id

,length

,name

,seq

)表示,其中,id

表示每条映射序列在文件中的顺位,且作为每条映射序列对应的标识符,length

表示
每条映射序列的长度,name

表示每条映射序列在文件中的名称,seq

表示每条映射序列具体的碱基序列;所有映射序列的碱基数为:其中,M表示自定义的内存上限,单位为GB;#reads表示测序序列总数;top
n
表示每条测序序列每轮最多保留的重叠信息数量;t表示线程数;B1表示存储每条种子序列、映射序列标记信息和重叠信息所占字节数;B2表示存储每个具体的重叠信息所占的字节数;B3表示存储索引表中的一个元素所占的字节数;S1表示比对过程中多线程同时读入的情况下,S1个碱基所占的字节数;S2表示索引过程中多线程同时读入的情况下,S2个碱基所占的字节数;S242、根据得到的每条映射序列的信息分别构建每条映射序列的线性列表二,得到每条映射序列的线性列表二,具体过程为:S2421、定义一个长度为w的窗口,所述窗口从每条映射序列的第一个碱基位置开始向右移动,直至最后一个碱基结束;利用所述窗口重复遍历每条映射序列,每个窗口内均有w个短字符串;S2422、使用哈希函数处理每条映射序列上每个窗口中的短字符串,得到每个窗口中每个短字符串的哈希值,选取每个窗口中哈希值最小的短字符串作为minimizer

,令minimizer

表示当前的窗口,当两个相邻窗口的minimizer

的哈希值一致时,两个minimizer

位于同一条映射序列上的相同位置,则两个相邻窗口保留同一个minimizer

,得到所述映射序列的所有minimizer

,将所有minimizer

合并生成线性列表二mi_q;每个minimizer

均包括四元组minimizer

(value

,rid

,pos

,strand

),其中,value

表示该minimizer

...

【专利技术属性】
技术研发人员:孔唐潮刘博王亚东
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:

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

1