一种序列自动拼接方法及装置与流程

文档序号:11729642阅读:525来源:国知局
一种序列自动拼接方法及装置与流程

本发明涉及生物的dna序列,尤其涉及序列拼接的方法及装置。



背景技术:

一般来说,序列拼接过程通常可分为如下几个阶段:1、重叠阶段,在该阶段每一个片段和其他的片段进行比对可以找出重叠部分;2、布局阶段,将所有的片段组合成一个近似的多重比对;3、一致阶段,确定最终的完整序列。当序列片段的数量较大时,计算所有序列组合的重叠部分将会带来计算上的瓶颈,所以就需要更加高效的计算方法。另外,由于重复序列的误配很大可能会对拼接结果造成干扰;另外,测序数据本身的错误信号、以及拼接起始片的选择都会对拼接结果造成误差。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供一种序列自动拼接方法,其能够解决现有技术中由于各种因素导致的拼接误差。

本发明的目的之一采用以下技术方案实现:

本发明提供了一种序列自动拼接方法,包括以下步骤:

s1:获取测序样本并对其进行预处理,所述测序样本包括多个测序数据序列;

s2:计算每个测序数据序列的长度,选择长度最长的测序数据序列并记为起始序列;

s3:从其余测序数据序列中选择一个并记为待拼接序列;

s4:将起始序列与待拼接序列进行比对;

s5:当该起始序列与该待拼接序列存在长度大于预设值m的公共子串时,则将该起始序列与该待拼接序列进行拼接并得到一拼接序列,并将该拼接序列记为新的起始序列;

s6:判断是否还有测序数据序列未拼接,若是,则依次执行s3、s4以及s5;若否,则执行s7;

s7:生成测序结果文件。

优选地,所述预设值m=20。

优选地,所述s4具体为将起始序列与待拼接序列的正向序列、反向序列、互补序列以及反向互补序列依次进行比对。

优选地,所述预处理具体包括根据系统预设的信号强度阈值将每个测序数据序列的低置信度区域去除,以及对酒精峰的识别判定。

为了克服现有技术的不足,本发明的目的之二在于提供一种序列自动拼接装置,其能够解决现有技术中由于各种因素导致的拼接误差。

本发明的目的之二采用以下技术方案实现:

本发明还提供了一种序列自动拼接装置,包括:

预处理模块,用于获取测序样本并对其进行预处理,所述测序样本包括多个测序数据序列;

起始序列选择模块,用于计算每个测序数据序列的长度,选择长度最长的测序数据序列并记为起始序列;

待拼接序列选择模块,用于从其余测序数据序列中选择一个并记为待拼接序列;

比对模块,用于将起始序列与待拼接序列进行比对;

拼接模块,用于当该起始序列与该待拼接序列存在长度大于预设值m的公共子串时,则将该起始序列与该待拼接序列进行拼接并得到一拼接序列,并将该拼接序列记为新的起始序列;

判别模块,用于判断是否还有测序数据序列未拼接,若是,则依次执行待拼接序列选择模块、比对模块以及拼接模块;若否,则执行结果生成模块;

结果生成模块,用于生成测序结果文件。

优选地,所述预设值m=20。

优选地,所述比对模块具体为用于将起始序列与待拼接序列的正向序列、反向序列、互补序列以及反向互补序列依次进行比对。

优选地,所述预处理具体包括根据预设的信息强度阈值将每个测序数据序列的低置信度区域去除,以及对酒精峰的识别判定。

相比现有技术,本发明的有益效果在于:本发明通过对测序样本设置信号强度阈值来对测序样本进行预处理,可去掉测序数据序列中不可靠的部分,为高质量拼接提供了前提;另外,通过采用选择公共子串,可有效地排除随机重复序列。本发明大大提高了拼接的准确性。

附图说明

图1为本发明提供的序列自动拼接方法流程示意图;

图2为本发明提供的序列自动拼接装置模块示意图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述:

如图1所示,本发明提供了一种自动序列自动拼接方法,其应用于自动序列拼接系统中,该系统包括三个部分,分别为输入模块、序列拼接主程序和输出模块。

其中输入模块是用于为客户提供输入界面,用于获取用户输入的测序样本;序列拼接主程序用于将对序列进行拼接并生成测序结果文件;所述输出模块用于根据所述测序结果文件向用户显示拼接结果。所述拼接结果包括每个测序样本的拼接结果使用说明以及是否可用的建议,同时支持多种格式的拼接结果的下载。该拼接结果具体如下表1:

表1

用户在使用时,可在界面中输入测序订单号,根据该测序订单号在后台数据库中自动检索相应的测序样本,并通过序列拼接主程序对测序样本进行拼接,最终通过输出模块将测序结果显示给用户。所述测序订单号是系统预设的编码,与后台数据库中的测序样本一一对应。该测序样本也可以是外部的,比如用户上传到该系统中的压缩为zip或rar格式的一个或多个abl格式的测序文件时,用户需要将测序文件上传至系统内,系统自动对上述测序文件进行拼接后通过输出模块将测序结果返回给用户查看。

本发明所提供的序列自动拼接方法是应用于序列拼接主程序,其包括以下步骤:

s1:获取测序样本并对其进行预处理,所述测序样本包括多个测序数据序列。

所述预处理具体包括:根据预先设定的信号强度阈值来处理每个测序数据序列两端的低置信度区域,以及对酒精峰进行识别判定。所述测序样本可通过用户输入的测序订单号从后台数据库中获取,也可以通过用户上传的zip或rar文件中abl格式的测序文件中获取。

通过对测序样本进行预处理,可去掉测序数据中不可靠的部分,为后续的高质量拼接提供了前提。另外,本发明中还对酒精峰进行识别,从而能够在拼接结果中对其存在有酒精峰的序列进行标明,从而可为用户提供更好的使用建议。另外,本发明中所采用的酒精峰的识别判定是比较常规的识别方法,本文不再具体介绍。

s2:计算每个测序数据序列的长度,选择长度最长的测序数据序列并记为起始序列。

本发明中选择起始序列是根据每个测序数据序列的长度来选择,选择其中长度较长的测序数据序列作为起始序列。

s3:从其余测序数据序列中选择一个并记为待拼接序列。

s4:将起始序列与待拼接序列进行比对。

本发明中是通过将两个测序数据序列进行拼接,首先从测序样本中选择一个测序数据序列作为起始序列,然后在剩余的测试数据序列中选择其中一个作为待拼接序列。将该起始序列与待拼接序列进行比对。本发明中优选地,将起始序列与待拼接序列的正向序列、反向序列、互补序列以及反向互补序列依次进行对比。

s5:当该起始序列与该待拼接序列存在长度大于预设值m的公共子串时,则将该起始序列与该待拼接序列进行拼接并得到一拼接序列,并将该拼接序列记为新的起始序列。本发明中所使用的方法是首先将其中两个测序数据序列进行拼接,然后再将拼接好的测序数据序列再与其他的测序数据序列进行拼接,从而依次完成所有的测序数据序列的拼接,将所有的测序数据序列全部拼接完成,从而得到该发明的最终拼接结果。

由于将起始序列与待拼接序列的正向序列、反向序列、互补序列和反向互补序列依次进行对比,则只要其中一次对比时,满足存在长度大于预设值m的公共子串时,就认为该起始序列与待拼接序列可以进行拼接。当二者完成拼接后,将该拼接完成的拼接序列作为新的起始序列,然后依据所述s3、s4和s5再将该新的起始序列与其他的测试数据序列进行依次比对、拼接。

在将新的起始序列与其他的测序数据序列进行依次比对、拼接之前需要查看下是否还存在有其余的测序数据序列未拼接。也即是还包括s6:判断是否存在测序数据序列未拼接,如果是,依次执行s3、s4和s5,如果否,则执行s7。

s7:生成测序结果文件。当所有的测序数据序列全部拼接完成后说明该测序样本完成拼接。也即是说直到所有的测序数据序列均完成拼接,则将最后拼接的结果以及使用说明等生成一测序结果文件,该测序结果文件中包括如表1中所描述的拼接结果,最终返回给用户查看,从而方便用户查看拼接结果。

这里的测序结果文件包括上述表1中所描述的拼接测序结果以及使用说明。

本发明优选地,将公共子串的长度设置为20,可有效地排除随机重复序列。另外,在将两个测序数据序列进行比对时,可能会找到完全匹配的子串,当然也会存储某些局部不匹配的碱基对的子串。对于完全匹配的子串来说,直接删除掉其中任意一个测序数据序列;而对于存储某些局部不匹配的碱基对的子串来说,选择置信度较低的测序数据序列删除。该测序数据序列都有对应的置信度,用户获取测序数据序列时,还会得到每个测序数据序列对应的置信度。置信度越高,测序数据序列越可信。

本发明还提供了一种具体的事例来说明上述序列自动拼接方法,具体为:

假设,该样本中包括n个测序数据序列,分别记为read1、read2、read3、……、readn。首先需要对上述n个测序数据序列进行预处理,该预处理包括去除不可靠的数据以及对酒精峰进行标识。然后选择其中长度最长的测序数据序列作为起始序列,比如read2作为起始序列。然后从剩余的n-1个测序数据序列中选择其中一个作为待测序数据序列,比如选择read3。再后将read2与read3进行比对,由于测序数据序列的排列可能为正向序列、反向序列、互补序列或反向互补序列。因此,需要将read2分别与read3的正向序列、反向序列、互补序列以及反向互补序列依次进行比对,当其中比对结果中存在有长度大于预设值的公共子串时,则认为二者可以进行拼接,也即是将二者进行拼接处理得到一新的拼接序列。比如read2与read3的反向序列进行了比对得到了长度大于预设值的公共子串时,就将read2与read3的反向序列进行拼接从而得到一新的拼接序列,然后将该新的拼接序列再次作为起始序列,继续重复上述步骤与其他的测序数据序列进行比对,直到将n个测序数据序列均拼接完成,最终生成测序结果文件。

如图2所示,另外,本发明还提供了一种与所述序列自动拼接方法相对应的序列自动拼接装置,包括:

预处理模块,用于获取测序样本并对其进行预处理,所述测序样本包括多个测序数据序列;

起始序列选择模块,用于计算每个测序数据序列的长度,选择长度最长的测序数据序列并记为起始序列;

待拼接序列选择模块,用于从其余测序数据序列中选择一个并记为待拼接序列;

比对模块,用于将起始序列与待拼接序列进行比对;

拼接模块,用于当该起始序列与该待拼接序列存在长度大于预设值m的公共子串时,则将该起始序列与该待拼接序列进行拼接并得到一拼接序列,并将该拼接序列记为新的起始序列;

判别模块,用于判断是否还有测序数据序列未拼接,若是,则依次执行待拼接序列选择模块、比对模块以及拼接模块;若否,则执行结果生成模块;

结果生成模块,用于生成测序结果文件。

优选地,所述预设值m=20。

优选地,所述比对模块具体为用于将起始序列与待拼接序列的正向序列、反向序列、互补序列以及反向互补序列依次进行比对。

优选地,所述预处理具体包括根据预设的信息强度阈值将每个测序数据序列的低置信度区域去除,以及对酒精峰的识别判定。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1