一种测序序列纠错方法、系统及设备的制作方法

文档序号:6470433阅读:298来源:国知局

专利名称::一种测序序列纠错方法、系统及设备的制作方法
技术领域
:本发明属于基因工程
技术领域
,尤其涉及一种测序序列纠错方法、系统及设备。
背景技术
:基于现有的基因测序技术,碱基测错的可能性是存在的,碱基测错后对于后续的数据分析、短序列组装等都存在一定的影响,现有的纠错策略只是是简单的屏蔽掉低频的短串,删除含有一定比例低频短串的序列,实际上并没有进行有效的纠正,纠错效果很差。综上所述,现有测序序列纠错方法的纠错效果很差。
发明内容本发明实施例的目的在于提供一种测序序列纠错方法,旨在解决现有测序序列纠错方法的纠错效果很差的问题。本发明实施例是这样实现的,一种测序序列纠错方法,所述方法包括下述步骤接收测序序列,根据预设的高频阀值构造高频短串表;遍历接收到的各测序序列,结合所述高频短串表在各测序序列上查找连续为高频短串最多的区域;根据相应接收到的测序序列和所述高频短串表,在查找到的所述区域左侧和/或右侧构造全是高频短串的左序列和/或右序列;才艮据构造的所述左序列和/或右序列,以及查找到的所述区域还原相应测序序列。本发明实施例的另一目的在于提供一种测序序列纠错系统,所述系统包括高频短串统计单元,用于接收测序序列,根据预设的高频阀值构造高频短串表;高频区域查找单元,用于遍历接收到的各测序序列,结合所述高频短串表在各测序序列上查找连续为高频短串最多的区域;序列构造单元,用于根据相应接收到的测序序列和所述高频短串表,在查找到的所述区域左侧和/或右侧构造全是高频短串的左序列和/或右序列;以及序列还原单元,用于根据构造的所述左序列和/或右序列,以及查找到的所述区域还原相应测序序列。本发明实施例的另一目的在于提供包含上述测序序列纠错系统的基因组装设备。在本发明实施例中,根据预设的高频阀值构造高频短串表,结合构建的高频短串表将各测序序列中非连续高频短串区域的序列恢复为连续高频短串区域的列,实现了一种测序序列纠错方法,提高后续对测序序列进行分析、处理的准确性,且所需内存小、耗时短。图1是本发明实施例提供的测序序列纠错方法的实现流程图2是本发明实施例提供的左侧树的结构示意图3是本发明实施例提供的测序序列纠错系统的结构图。具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在本发明实施例中,根据预设的高频阀值构造高频短串表,结合构建的高频短串表将各测序序列中非连续高频短串区域的序列恢复为连续高频短串区域的序列。图1示出了本发明实施例提供的测序序列纠错方法的实现流程,详述如下在步骤S101中,接收测序序列,根据预设的高频阀值构造高频短串(kmer)表;在步骤S102中,遍历接收到的各测序序列,结合高频短串表在各测序序列上查找连续为高频短串最多的区域;在步骤S103中,根据相应接收到的测序序列和高频短串表,在查找到的区域左侧和/或右侧构造全是高频短串的左序列和/或右序列;在步骤S104中,根据构造的左序列和/或右序列,以及查找到的区域还原相应测序序列。在本发明实施例中,上述步骤S101具体为1.接收测序序列,将接收到的各测序序列逐个碱基切割成预设长度的短串;2.将切割得到的且出现次数超过预设高频阀值的短串添加到高频短串表。这里,接收到的各测序序列长度在处理程序逻辑上没有限制,但一般在200碱基长度(bp)以下,短串的预设长度n为17bp,预设的高频阀值为5次,认为出现5次以上的短串即为高频短串,将高频短串添加到高频短串表。当然,短串的预设长度n可以取从1到小于测序序列碱基长度内的任意整数,但是在n的取值大于17bp时内存和运算时间的开销会加大,在n的取值小于17bp时纠错效果不理想,所以n最好:又17bp。高频阀值可以根据切割成的短串的频率分布来确定,频率分布在理论上应该存在两个峰值,第一个峰是由于测序错误造成的,第二个峰是由于基因组序列本身的生物特性造成的,所以一般取第一个峰值为高频阀值。接着,查找各测序序列连续高频短串最多的区域,步骤S102具体为l.遍历接收到的各测序序列,结合高频短序表,在各测序序列上查找连续为高频短串的区域,即顺序遍历测序序列的短串,如果该短串出现在高频短串表中,则认为该短串为高频短串;否则,认为该短串不是高频短串,这样遍历完各测序序列即可得到各测序序列相应的连续为高频短串的区域;2.在各测序序列中取查找到的最长的区域作为其连续为高频短串最多的区域,这里假设各测序序列中连续为高频短串最多的区域为[sl,s2],其中sl、s2为查找到的最长的连续为高频短串的区域的起始碱基、结束碱基距离相应测序序列首个碱基的数目。如果一个测序序列为X"2X3......X^Xta,其中ln为该测序序列的碱基长度,Xi表示该序列的第i个石咸基,该测序序列最长的连续为高频短串的区域为[26,46],则X26X27......X46为该测序序列中最长的高频序列。然后,根据原测序序列和高频短串表,在[sl,s2]的左侧和右侧各构造一条全是高频短串的序列,上述步骤S103具体为步骤1.从相应测序序列的第sl个碱基开始取n-l长度的序列作为树的根节点,以A、C、G、T四种碱基为各节点的叶子构造一棵深度为sl的左侧树,其构造的树如图2所示,这里,深度sl即为26;步骤2.遍历左侧树,找到一条全是高频短串的路径,根据该路径从叶子节点向上构造全是高频短串的左序列。这里,从根节点开始向下遍历树,根节点为长度为n-l的序列Np其子节点L!依次为A、C、G、T四种碱基,考察短串kmer,-L^Ni是否是高频短串,即判断高频短串表中是否有该短串,如果否,则结束相应碱基对应的路径;如果是,则进一步判断L,的值是否与相应测序序列X,XsX3......X49X5。中相应碱基Xsw的值相同,如果相同则1级节点分数score,=0,否则l级节点分数scorei=1,并继续在kmen左端取n-l长度的序列N2,按照上述方式考察短串kmer2-L2+N2,其子节点L2依次为A、C、G、T四种碱基。按照该规则向叶子节点迭代、判断,并在迭代结束后,找到一条总分数scor^liscorei最小路径,其中i=score;为相应路径中第i级节点的分数。找到的最小路径即为全是高频短串的路径,根据该路径从叶子节点向根节点遍历得到的序列即为需要构造的全是高频短序的左序列。当然,如果迭代结束后,得到多条总分数score都相等且都最小的路径,则随机取一条,然后从叶子节点向根节点遍历得到需要构造的全是高频短序的左序列。当然,也可以从下向上遍历树,来查找一条全是高频短串的路径。步骤3.从相应测序序列的第s2个碱基开始取n-l长度的序列作为树的根节点,以A、C、G、T四种碱基为各节点的叶子构造一棵深度为ln-(s2-1)的右側树,其中ln为该测试序列的石成基长度,其构造方式与上述步骤1相同,不再赘述;步骤4.遍历右侧树,找到一条全是高频短串的路径,根据该路径从根节点向下构造全是高频短串的右序列,其查找最小路径的方式与上述步骤2相应,不再赘述。在得到相应测序序列左侧和右侧的全是高频短串的序列后,将得到的左序列添加到相应最长的高频序列XslXsl+l......X"左边,并将得到的右序列添加到相应最长的高频序列XslXsl+1......Xs2右边,即得到经过纠错处理后的相应测序序列。当然,如果相应测序序列中连续为高频短串最多的区域为[l,s2]或[sl,ln],即该区域在相应测序序列的左侧或右侧,则只需要在[l,s2]的右侧构造一条全是高频短序的右序列,或者只需要在[S1,ln]的左侧构造一条全是高频短串的左序列。此时,在还原相应测序序列时,只需要将得到的左序列添加到相应最长的高频序列左边,或者将得到的有序列添加到相应最长的高频序列右边。controlBAC)和非洲人类基因组序列(Humangenome)进行纠错处理,纠错前的数据对比如表1所示,纠错后的数据对比如表2所示基因序列序列总数无错序列所占比例(%)无错序列深度碱基长度为25的短串个彩HumanBAC641879464.1383017255027<table>tableseeoriginaldocumentpage10</column></row><table>表1<table>tableseeoriginaldocumentpage10</column></row><table>表2由表l、表2可知,经纠错处理后,使无错序列所占比例提高30%左右,无错序列深度提高约10%。下面是采用本发明实施例提供的测序序列纠错方法实现纠错处理时所需要的内存资源估计,在短串为17碱基长度时,占用内存16G。另外,由于每个线程在处理一个文件时需要将该文件中存储的所有序列读入内存,假设一条测序序列占用50字节,其序列名称占用50个字节,每个文件存储IOM个测序序列,那么对一个文件中存储的测序序列进行纠错处理需要占用1G内存。并且,每个线程还有单独的动态规划表占用1G内存,那么一个线程占用2G内存,在默认开设4个线程时需要占用24G内存。另外,统计短串频数、输出频数表的耗时跟文件容量的多少和输入/输出状况有关。处理一个文件约需100s,非洲人基因组序列总共有606个文件,第一步输出频数表需要耗时15h。采用本发明实施例提供的测序序列纠错方法对测序序列进行纠错处理后,后续的短序列组装基因组所耗内存可以降低一半。并且,纠完错后低频的短串被高频的短串合并了(即低频短串被纠正为高频短串),后面的组装策略只需要将序列切割成更长的短串(例如25石咸基长度)进行组装,这样就会降低内存的使用。进一步地,为了提高纠错处理的速度,可采用多个线程将所有需纠错文件拆分处理。处理一个文件约需1000s,采用4个线程处理100个文件需要耗时1000s*100/4=25000s=7h。第二步采用6个线程将非洲人类基因组序列的606个文件拆分成6份处理时只需要耗时7h,纠错处理总共耗时22h。本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等,该程序用来执行如下步骤1.接收测序序列,根据预设的高频阀值构造高频短串表;2.遍历接收到的各测序序列,结合高频短串表在各测序序列上查找连续为高频短串最多的区域;3.根据相应接收到的测序序列和高频短串表,在查找到的区域左侧和/或右侧构造全是高频短串的左序列和/或右序列;4.根据构造的左序列和/或右序列,以及查找到的区域还原相应测序序列。图3示出了本发明实施例提供的测序序列纠错系统的结构,为了便于说明仅示出了与本发明实施例相关的部分。该系统可以用于基因组装设备,可以是运行于这些设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些设备中或者运行于这些i殳备的应用系统中,其中高频短串统计单元301,接收测序序列,根据预设的高频阀值构造高频短串表,其实现方式如上所述,不再赘述。高频区域查找单元302,遍历接收到的各测序序列,结合高频短串表在各测序序列上查找连续为高频短串最多的区域。序列构造单元303,根据相应接收到的测序序列和高频短串表,在查找到的区域左侧和/或右侧构造全是高频短串的左序列和/或右序列。序列还原单元304,根据构造的左序列和/或右序列,以及查找到的区域还原相应测序序列。其中,高频短串统计单元301包括序序列,将接收到的各测序序列逐个碱基切割成预设长度的短串。高频短串采集模块3012,将切割得到的且出现次数超过预设高频阀值的短串添力口到高频短串表,其实现方式如上所述,不再赘述。另外,序列构造单元303包括左侧树构造模块3031,从相应测序序列的第sl个碱基开始取n-l长度的序列作为树的根节点,以A、C、G、T四种碱基为各节点的叶子构造一棵深度为sl的树,其sl、n的定义及该左侧树构造模块3031的实现方式如上所述,不再赘述。左序列构造模块3032,遍历左侧树,找到一条全是高频短串的路径,根据该路径从叶子节点向上构造全是高频短串的左序列,其实现方式如上所述,不再赘述。右侧树构造模块3033,从相应测序序列的第s2个石威基开始取n-l长度的序列作为树的根节点,以A、C、G、T四种碱基为各节点的叶子构造一棵深度为ln-(s2-l)的右侧树,其s2、n、ln的定义及该左侧树构造模块3031的实现方式如上所述,不再赘述。右序列构造模块3034,遍历右侧树,找到一条全是高频短串的路径,根据该路径从根节点向下构造全是高频短串的右序列,其实现方式如上所述,不再赘述。在本发明实施例中,根据预设的高频阀值构造高频短串表,结合构建的高频短串表将各测序序列中非连续高频短串区域的序列恢复为连续高频短串区域的序列,实现了一种测序序列纠错方法,提高后续对测序序列进行分析、处理的准确性,且所需内存小、耗时短。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。权利要求1、一种测序序列纠错方法,其特征在于,所述方法包括下述步骤接收测序序列,根据预设的高频阀值构造高频短串表;遍历接收到的各测序序列,结合所述高频短串表在各测序序列上查找连续为高频短串最多的区域;根据相应接收到的测序序列和所述高频短串表,在查找到的所述区域左侧和/或右侧构造全是高频短串的左序列和/或右序列;根据构造的所述左序列和/或右序列,以及查找到的所述区域还原相应测序序列。2、如权利要求l所述的方法,其特征在于,所述接收测序序列,根据预设的高频阀值构造高频短串表的步骤具体为接收测序序列,将接收到的各测序序列逐个碱基切割成预设长度的短串;将切割得到的且出现次数超过预设高频阀值的短串添加到所述高频短串表。3、如权利要求2所述的方法,其特征在于,所述预设的高频阀值根据切割成的预设长度的短串的频率分布确定,所述预设长度为17个碱基长度。4、如权利要求l所述的方法,其特征在于,所述一艮据相应接收到的测序序列和所述高频短串表,在查找到的所述区域左侧和/或右侧构造全是高频短串的左序列和/或右序列的步骤具体为从相应测序序列的第sl个碱基开始取n-l长度的序列作为树的根节点,以A、C、G、T四种碱基为各节点的叶子构造一棵深度为sl的左侧树;遍历所述左侧树,找到一条全是高频短串的路径,根据所述路径从叶子节点向上构造全是高频短串的左序列;从相应测序序列的第s2个碱基开始取n-l长度的序列作为树的根节点,以A、C、G、T四种碱基为各节点的叶子构造一棵深度为ln-(s2-1)的右侧树;遍历所述右侧树,找到一条全是高频短串的路径,根据所述路径从根节点向下构造全是高频短串的右序列;其中,sl、s2分别为查找到的所述连续为高频短串最多的区域的起始碱基、结束碱基距离相应测序序列首个碱基的数目,n为所述高频短串的碱基长度,ln为相应测序序列的碱基长度。5、如权利要求l所述的方法,其特征在于,所述接收到的测序序列的长度小于等于200碱基长度。6、一种测序序列纠错系统,其特征在于,所述系统包括高频短串统计单元,用于接收测序序列,根据预设的高频阀值构造高频短串表;高频区域查找单元,用于遍历接收到的各测序序列,结合所述高频短串表在各测序序列上查找连续为高频短串最多的区域;序列构造单元,用于根据相应接收到的测序序列和所述高频短串表,在查找到的所述区域左侧和/或右侧构造全是高频短串的左序列和/或右序列;以及序列还原单元,用于根据构造的所述左序列和/或右序列,以及查找到的所述区域还原相应测序序列。7、如权利要求6所述的系统,其特征在于,所述高频短串统计单元包括短串切割模块,用于接收测序序列,将接收到的各测序序列逐个碱基切割成预设长度的短串;以及高频短串采集模块,用于将切割得到的且出现次数超过预设高频阀值的短串添加到所述高频短串表。8、如权利要求7所述的系统,其特征在于,所述预设的高频阀值根据所述短串切割模块切割成的预设长度的短串的频率分布确定,所述预设长度为17个碱基长度。9、如权利要求6所述的系统,其特征在于,所述序列构造单元包括左侧树构造模块,用于从相应测序序列的第sl个碱基开始取n-l长度的序列作为树的根节点,以A、C、G、T四种碱基为各节点的叶子构造一棵深度为sl的树;左序列构造模块,用于遍历所述左侧树,找到一条全是高频短串的路径,根据所述路径从叶子节点向上构造全是高频短串的左序列;右侧树构造模块,用于从相应测序序列的第s2个碱基开始取n-l长度的序列作为树的根节点,以A、C、G、T四种碱基为各节点的叶子构造一棵深度为ln-(s2-1)的右侧树;以及右序列构造模块,用于遍历所述右侧树,找到一条全是高频短串的路径,根据所述路径从根节点向下构造全是高频短串的右序列;其中,sl、s2分别为查找到的所述连续为高频短串最多的区域的起始碱基、结束碱基距离相应测序序列首个碱基的数目,n为所述高频短串的碱基长度,ln为相应测序序列的碱基长度。10、一种包含权利要求6至9任一项所述测序序列纠错系统的基因组装设备。全文摘要本发明适用于基因工程
技术领域
,提供了一种测序序列纠错方法、系统及设备,所述方法包括下述步骤接收测序序列,根据预设的高频阀值构造高频短串表;遍历接收到的各测序序列,结合所述高频短串表在各测序序列上查找连续为高频短串最多的区域;根据相应接收到的测序序列和所述高频短串表,在查找到的所述区域左侧和/或右侧构造全是高频短串的左序列和/或右序列;根据构造的所述左序列和/或右序列,以及查找到的所述区域还原相应测序序列。在本发明中,根据预设的高频阀值构造高频短串表,结合构建的高频短串表将各测序序列中非连续高频短串区域的序列恢复为连续高频短串区域的序列,提高后续对测序序列进行分析、处理的准确性。文档编号G06F19/22GK101457253SQ200810218340公开日2009年6月17日申请日期2008年12月12日优先权日2008年12月12日发明者朱红梅,李瑞强,李胜霆,杨焕明,建汪,俊王,石仲斌,珏阮申请人:深圳华大基因研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1