核酸序列拼接方法及装置的制造方法
【技术领域】
[0001]本发明涉及生物信息处理领域,尤其涉及一种核酸序列拼接方法及装置。
【背景技术】
[0002]在基因组测序技术发展历程中,具有低成本、高测序通量(又称高通量,指一定时间内获得的数据输出量)、更精准特点的第二代测序技术带来了前所未有的应用前景,如基因组组装、结构变异检测等。第二代测序技术得到的read(读段,指随机打乱DNA序列所得的小片段)不仅长度短,数量又极为巨大,覆盖度高,这给序列拼接带来了前所未有的难题,而基因组测序中的一个关键步骤就是序列拼接。序列拼接是将小的reads进行比对合并成大的DNA序列或者RNA序列,这些reads是由碱基A、G、C、T或A、G、C、U组成,reads的长度表示其含有的A、G、C、T或A、G、C、U的个数。含有A、G、C、T或A、G、C、U的reads经过拼接得到更长的reads,该更长的reads再经过拼接或比对最终可得到DNA或RNA序列。
[0003]第二代测序技术所面临的基本拼接问题是,由于第二代测序技术read长度偏短的特点,由此给拼接算法带来难题,包括如何处理测序错误,以及如何处理重复序列。在真实的基因组项目中,大基因组尤其是植物基因组的重复序列含量十分高,有的重复序列高达60%以上,在使用现有拼接算法进行序列拼接过程中,由于重复序列的影响,将产生很多短碎的contig (重叠群)序列,使得后续拼接过程的scaffold (支架,是由顺序确定的contigs连接组成)构建、补洞等环节受其影响,效果不佳。
[0004]已有研究提出使用长reads来处理拼接过程的重复序列。长reads可通过例如测通的Illumina数据得到。研究表明,长read有利于在contig构建过程中利用新的算法理论与新的拼接策略解决更多的重复序列的问题,得到更长的contig序列,提升contig构建的效果。
【发明内容】
[0005]依据本发明的一方面,提供一种核酸序列拼接方法,包括:接收测序序列,所述测序序列包括读段和测通数据;根据所述读段构建原始拼接图;将所述测通数据比对到所述原始拼接图的边上;从原始拼接图的边集中选择锚点边,所述锚点边的两端没有分叉且跨过该锚点边的读段的路径没有冲突;构建以所述锚点边为中心的局部子图;化简所述局部子图,在化简结果中重复选择锚点边进行处理直至不存在新的锚点边;对处理后剩余的局部子图进行合并,将合并结果作为拼接结果输出。
[0006]依据本发明的另一方面,提供一种核酸序列拼接装置,包括:接收模块,用于接收测序序列,所述测序序列包括读段和测通数据;原始构建模块,用于根据所述读段构建原始拼接图;比对模块,用于将所述测通数据比对到所述原始拼接图的边上;选择模块,用于从原始拼接图的边集中选择锚点边,所述锚点边的两端没有分叉且跨过该锚点边的读段的路径没有冲突;子图构建模块,用于构建以所述锚点边为中心的局部子图;化简模块,用于化简所述局部子图,在化简结果中重复选择锚点边进行处理直至不存在新的锚点边;合并模块,用于对处理后剩余的局部子图进行合并,将合并结果作为拼接结果输出。
[0007]依据本发明的又一方面,提供一种包括上述核酸序列拼接装置的基因组测序设备。
[0008]依据本发明的再一方面,提供一种计算机可读存储介质,用于存储供计算机执行的程序,本领域普通技术人员可以理解,在执行该程序时,通过指令相关硬件可完成上述核酸序列拼接方法的全部或部分步骤。所称存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。
[0009]依据本发明的方法,通过将测通数据比对到由读段构建得的原始拼接图,从原始拼接图中选择出锚点边并据此构建局部子图,再通过对局部子图的化简和合并得到更长的路径,达到解决锚点边之间的重复序列的路径选择问题,进而可完成测序序列的拼接任务,为提升scaffold构建效果提供可能。
【附图说明】
[0010]本发明的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1为依据本发明的一种实施例的核酸序列拼接方法的流程示意图;
图2至图4为由于片段中间的碱基错误形成的环形结构和由测序错误形成的嵌合体示意图;
图5和图6分别为边出现分叉路径和路径存在冲突的示意图;
图7为通过锚点边D获得的所有局部子图及其化简结果示意图;
图8为由锚点边D构成的局部子图与由锚点边F构成的局部子图的合并示意图;
图9为局部子图合并过程中弧关系的处理示意图;
图10为依据本发明的一种实施例的核酸序列拼接方法的流程示意图;
图11为Maize chrl contig组装结果示意图;
图12为Maize chrl scaffold构建结果不意图;
图13为Maize chrl contig评价结果示意图;
图14为Maize基因组补洞后scaftig统计结果示意图;
图15为Maize基因组scaftig评价结果示意图。
【具体实施方式】
[0011]目前已有研究者开发出不同的算法并编写大量的拼接软件。比较成功的拼接软件是velvet、SOAPdenovo等。其中,SOAPdenovo是深圳华大基因开发,是专门针对Illumina高通量测序数据的拼接软件,可从http://soap, genomics, org.cn/soapdenov0.html下载获得。SOAPdenovo基于de Brui jn (德布鲁因)图算法,其拼接流程一般包括如下步骤A_F。
[0012]步骤A,构建不同长度的插入读段文库,例如180bp (base pair,碱基对)、500bp等;
步骤B,将所有小读段库(180/500bp)测序得到的reads截断成更小的序列片段,通过它们之间的重叠关系构建de Bruijn图,从而将这些读段连接起来;
步骤C,在步骤B中构建的de Bruijn图非常复杂,为了简化de Brui jn图,需要去除无法继续连接的分支、低覆盖度的分支(一般这两种情况是由于测序错误造成);并利用reads信息化简重复序列在de Bruijn图的分叉通路;对于少量的杂合位点,采用随机选择策略,合并杂合位点;
步骤D,通过步骤C得到简化后的de Bruijn图,这样的图仍然会有很多分叉位点无法确定真正的连接关系,因此在每个分叉位点将序列截断,得到了最初的contigs ;
步骤E,将所有文库测序得到的reads比对回初步得到的contigs,利用reads之间的连接关系和插入读段大小信息,将contigs组装成scaffolds ;
步骤F,对contigs之间的gap (空隙)进行补洞,延长contigs。补洞后的contigs长度相比补洞之前一般可以增加6-7倍。
[0013]其中,de Bruijn图的构造过程如下:
(I)假定给定的reads集合为F= {fl, f2,…,fn},把这些reads划分为若干连续碱基组成的等长度短序列(称为kmer)。假设每个kmer长度为k,对一个read划分时,先以read的任意一端为起始位置,截取k个碱基,再将起始位置向后移动一个碱基,再截取k个碱基,依此类推,直至截取得到kmer的尾部到达read的另一端,这些kmer组成了 de Bruijn图的顶点。
[0014](2)对于任意两个kmer如u和V,如果u的后k_l个碱基序列与v的前k_l个碱基序列相同,则建立一条由u指向V的有向边。
[0015]通过以上两步即可构造出一个de Bruijn图。
[0016]本发明一种实施例以SOAPdenovo拼接软件为基础,提出一种核酸序列拼接方法及装置,如图1所示,实施例的核酸序列拼接方法包括以下步骤S1-S13。
[0017]步骤S1:接收测序序列。
[0018]这里,所接收的测序序列包括reads和测通数据。reads通常是指通过高通量测序技术得到的长度较短的reads ;测通数据包括长reads和连通数据,连通数据是指测通的Illumina双末端数据(paired-end reads)连接形成的长读段(又称连通read),即插入读长小于两条read长度之和的数据而形成的一条长度更长的read,或者说是利用插入片段长度小于所测得的两条末端读长之和的数据的由两个末端读段连接形成的长read;而测通数据包括的长reads是指长度大于插入片段的reads,例如通过Roche 454测序平台获得的reads。连通数据的获取可采用已有的相关技术实现,例如采用华大基因研发的COPE(可从 http: //sourceforge.net/projects/coperead/files/src/ 下载获得)软件实现对连通数据的获取。以下实施例