基于多步双向De Bruijn图的变长kmer查询的顶点扩展方法技术

技术编号:9849562 阅读:160 留言:0更新日期:2014-04-02 16:26
本发明专利技术涉及基因测序技术领域,提供了一种基于多步双向De Bruijn图的变长kmer查询的顶点扩展方法,包括:步骤A:读取测序数据源文件,构造多步双向De Bruijn图;步骤B:在所述多步双向De Bruijn图中对分叉顶点的变长kmer进行构造和统计;步骤C:在所述多步双向De Bruijn图中基于变长kmer查询的顶点扩展。本发明专利技术只选取一些分叉的顶点构建非常少的一些变长kmer,然后对这些分叉顶点进行定向解耦,无需对每种kmer长度都去构建一个De Bruijn图,可以方便快速地解决所有长度小于序列长度的repeat,最大化contig的长度和质量。

【技术实现步骤摘要】
基于多步双向De Bru i jn图的变长kmer查询的顶点扩展方法【
】本专利技术涉及基因测序
,特别是涉及一种。【
技术介绍
】基因序列分析以算法与数学模型为核心,研究内容涉及多个方面,主要包括:基因数据的存储与获取、序列比对、测序与拼接、基因预测、生物进化与系统发育分析、蛋白质结构预测、RNA结构预测、分子设计与药物设计、代谢网络分析、基因芯片、DNA计算等等。现在生物技术和计算机信息处理技术的紧密结合,加快了处理生物信息数据的速度,使得在尽量短的时间内对生物学意义做出尽量准确的诠释,加快了生物信息学的发展。目前,生物信息处理成为当前信息
面临的巨大挑战之一。基因序列分析是对海量基因序列数据进行分析,从而提取和挖掘新的生物信息知识。其中,涉及到计算机技术中的机器学习、模式识别、书籍分析与挖掘、组合数学、随机模型、字符串、图形算法、分布式计算、高性能计算、并行计算等知识。其中,全基因组学的研究是当前生物信息学研究的核心之一。基因是人类最基本的遗传密码,代表着每个人的生命信息。基因序列上存在着遗传位点的细微差异,这些遗传密码的多态性与人类的健康、致病机理、医学治疗有着相当密切的关系。其中,DNA测序是研究全基因组序列需要完成的基本内容之一。 自1977年Sanger测序技术问世以来,经过三十多年的发展,DNA测序技术发展突飞猛进,以高通量、短序列为特点的第二代测序技术逐渐占领市场,以单分子测序为特点的第三代测序技术也逐渐出现,它们分别在测序特点上占有不同的优势。传统基因测序方法的数据提取和分析软件经过近10年来的研究与开发,目前已经较为完善。但是,测序技术的发展,带来了测序数据的变化,使得当前存在的数据处理软件不能满足当前生物医学研究的需求。新一代高通量测序方法的应用,可以在短时间内完成整个基因组数据的测定。高通量测序方法的日新月异也同时对获取的基因数据的分析处理方法提出了挑战。在这个目前炙手可热的研究领域,迫切需要开发能满足高通量测序技术的海量数据处理的生物信息学平台。面对个人基因组计划及未来的个性化医疗前景,高效低成本的测序技术成为必然的趋势。同时,简化高效的一站式完备的生物信息学数据分析平台等完备的测序解决方案,也是极为重要、不可或缺的发展方向。然而新一代的高通量测序方法虽然测序通量高,但是却会引入测序误差,同时测序样本本身由于基因突变,测序不均匀而导致有SNP(Single Nucleotide Polymorphisms,单核苷酸多态性)的出现,而这些测序误差、SNP、测序不均将会在基因组组装时构造的多步双向De Bruijn图中引入一些错误的双向边,其中有一部分是自环双向边。而这些错误的自环双向边在De Bruijn图中,能够阻碍图的收缩,contig无法扩展,最终使得contig的长度和质量都很低。综上所述,新一代的高通量测序方法产生的短基因片段的组装导致了大量的测序错误,这大大加大了组装算法的计算量。大量的测序错误,使得组装错误率增加,严重影响了组装结果。能否有效地解决这个问题,成为评价一个组装算法优劣的关键。目前组装算法的策略主要分为两类,一个是基于Overlap-Layout-Consensus (OLC)的算法,另外一个是基于De Bruijn图的算法。其中基于OLC组装算法开发的软件,如SSAKE、VCAKE, SHARCGS等,在基因长序列组装中更占有优势,但并不完全适用于新一代的短序列组装。与OLC组装算法不同,De Bruijn算法不再以read为单位组织数据,而是以k-mers为单位进行数据组装,其优点主要有以下几个方面:首先,以k-mers为单位进行序列组装,不影响节点的质量,减少了冗余数据量。其次,在图中重复区域只出现一次,便于识别,可以避免错误的组装,减小出错率。最后,采取将有重叠区域映射到同一条弧上的策略,从而简化了搜索路径。目前,很多短序列组装算法都使用这种框架,如 Velvet、IDBA、SOAPdenovo, ABySS 等。其中Velvet有效地利用了 De Brui jn图,实现了高效地短序列组装。Velvet以k-mer为基本单位构建De Bruijn图,利用图的结构,结合相应的序列特征,简化图的构造,最终找到一条最优路径完成组装过程。Velvet把焦点集中在错误的数据产生的三种结构上,即tip,bubble,以及erroneous connection。它依照长度原则和少数性原则,将长度小于2k的均去除;利用Tour Bus算法中的深度优先搜索策略合并bubble,最后利用覆盖度阈值法去除了 erroneous connection。该方法也充分利用了 paired-end双端信息,进一步解决repeat问题,优化了组装效果。Velvet充分利用图的结构性质,简化了数据冗余,速度较之前的算法有了很大的改进。虽然它没有在预处理阶段对序列进行纠错,但是其对错误的预防机制,很大程度上弥补了这方面的缺陷,这使得它更好地应用在大型基因组序列的组装中。IDBA也是基于De Bruijn图,实现了简便且高效的短序列组装。IDBA以k-mer为基本单位,与以往不同的是,它采用一个变化的k值域(Kmin-Kmax),代替使用固定的k值来得到k-mers的长度。由于基因组装以k-mers为单位,通常会形成很多个重叠单元,这使得组装面临着错误位置组装、顶点缺失和覆盖度低的问题。正确的选择k值的大小成为组装的一个关键因素。一些错误的reads的产生,也导致产生了大量的branching。K值越小,branching问题越严重,k值越大,贝U出现的repeat区域则变少,这直接影响了组装的质量。IDBA采用不固定的k值进行组装,可以很好的解决branching问题,从而,提高了组装的质量。另外IDBA通过删除低覆盖率的错误k-mers而使得IDBA的内存使用率明显降低,同时也提升了 IDBA的处理速度。SOAPdenovo能够高效高质量地完成数以亿计的reads的组装。SOAPdenovo继承了OLC算法和De Bruijn图算法的优点,使得其组装质量大为提高。SOAP通过预置k-mer阈值的方法,采取过滤、纠错的方式减少了错误序列的产生。同时,它借鉴了 Velvet软件的方法成功处理了 bubble,使得其平均覆盖度增加。另外,SOAPdenovo利用了双端信息进行重叠区域匹配,并合并read生成contig片段,生成基于contig的图结构,从而,SOAPdenovo大大简化了 contig图的复杂性。ABySS引进并行计算的思想,搭建了一个Iinux集群,在集群上建立了一个分布式的De Bruijn图结构,将数据分布式存储于每个节点上。其采用MPI通信机制完成节点之间的相互通信。从构建图、纠错处理到后面的定点融合,最后完成整个基因组序列的再现,其在运行时间和内存消耗方面占有很大的优势,并且其错误率极低,在性能方面特别是cluster中单机内存使用上均有很大的提升,正在得到越来越广泛的应用。现有的主要序列组装软件,例如SOAPdenovo, Velvet, ABySS, Ray等,都是基于给定长度的kmer进行De Brui 本文档来自技高网...

【技术保护点】
一种基于多步双向De Bruijn图的变长kmer查询的顶点扩展方法,其特征在于,包括:步骤A:读取测序数据源文件,构造多步双向De Bruijn图;步骤B:在所述多步双向De Bruijn图中对分叉顶点的变长kmer进行构造和统计;步骤C:在所述多步双向De Bruijn图中基于变长kmer查询的顶点扩展。

【技术特征摘要】
1.一种基于多步双向De Bruijn图的变长kmer查询的顶点扩展方法,其特征在于,包括: 步骤A:读取测序数据源文件,构造多步双向De Bruijn图; 步骤B:在所述多步双向De Bruijn图中对分叉顶点的变长kmer进行构造和统计; 步骤C:在所述多步双向De Bruijn图中基于变长kmer查询的顶点扩展。2.如权利要求1所述的方法,其特征在于,所述步骤B中,对所述多步双向DeBruijn图中的顶点所有可能的分叉合并路径上的k+2长的变长kmer构造权重表,选择权重最高的一组分叉路径组合进行分叉路径上的双向边合并。3.如权利要求1所述的方法,其特征在于,所述步骤C中,对于一个给定的分叉顶点U,在查询顶点u所有的k+2长的变长kmer权重值之后,选择权重最高的一组分叉路径组合进行分叉路径上的双向边合并,同时删除合并前的被选择的分叉双向边。4.如权利要求2或3所述的方法,其特征在于,所述权重为变长kmer出现次数或变长kmer模糊匹配加权次数。5.如权利要求1所述的方法,其特征在于,所述步骤B进一步包括: 步骤B1:遍历所述多步双向De Bruijn图中的每个顶点u ; 步骤B2:统计顶点u中正向边的个数P和反向边的个数q ; 步骤B3:若p+q大于等于3且P和q均至少为1,则执行步骤B4,否则返回执行步骤BI ; 步骤B4:计算出顶点u的q个反向边的对偶双向边,并将对偶双向边的倒数第k+Ι个字符取出存到入边字符数组m ; 步骤B5:将顶点u的P个正向边的第一个字符存到出边字符数组η ; 步骤Β6:将(m,顶点u的正向字符串,η)所有的组合构成的k+2长的kmer记录为变长kmer数组。6.如权利要求1所述的方法,其特征在于,所述步骤C进一步包括: 步骤Cl:打开测序序列文件,逐个读取每条序列; 步骤C2:将所述变长kmer数组逐个匹配读入的序列,并对每个变长kmer计数; 步骤C3:遍历所述多步双向De Bruijn图中的每个顶点u ; 步骤C4:统计顶点u中正向边的个数P,反向边的个数q ; 步骤C5:若p+q大于等于3且P和q均至少为1,则执行步骤C6,否则返回执行步骤C3 ; 步骤C6:计算出顶点u的q个反向边的对偶双向边,并将对偶双向边的倒数第k+Ι个字符取出存到入边字符数组m ; 步骤C7:将顶点u的P个正向边的第一个字符存到出边字符数组η ; 步骤C8:查询由(m,顶点u的正向字符串,η)的所有组合构成的k+2长的kmer的出现次数,选择出现次数最大的一组正向边和反向边进行合并扩展。7.如权利要求6所...

【专利技术属性】
技术研发人员:孟金涛张慧琳彭丰斌魏彦杰冯圣中
申请(专利权)人:深圳先进技术研究院
类型:发明
国别省市:广东;44

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

1