一种面向大规模基因数据的读段定位方法技术

技术编号:15356659 阅读:95 留言:0更新日期:2017-05-17 20:21
本发明专利技术公开了一种面向大规模基因数据的读段定位方法;属于生物信息分析领域。该方法包括如下步骤:基因读段数据随机分割;数据的负载平衡;读段的空间索引;子读段不跨越剪切位定位;子读段跨越剪切位定位;子读段拼接;读段定位信息统计。本发明专利技术采用基于空位种子的读段定位方法,对该方法进行了改进,使之能够处理跨越剪切位读段定位的情况,设计了并行化程序并且在MapReduce框架下实现,提高了读段定位的效率。此外,本发明专利技术提出了一种负载平衡的解决方案,对个别节点执行时间较长,降低整个作业执行效率的情况具有良好的处理能力,因此具有较高的使用价值。

A method of read segment localization for large scale genetic data

The invention discloses a read section positioning method for large-scale gene data, belonging to the field of biological information analysis. The method comprises the following steps: gene read random data segmentation; load balance data; spatial index read; sub read across shear localization; read across the shear localization; read splicing; read mapping information statistics. The invention adopts the read location method based on the vacancy of seed, method is improved, which can process across the shear reading section positioning, and implementation of parallel program under the framework of MapReduce design, improve the efficiency of reading section positioning. In addition, the invention provides a load balancing solution for individual nodes long execution time, reduce the whole operation efficiency has a good processing ability, so it has higher use value.

【技术实现步骤摘要】
一种面向大规模基因数据的读段定位方法
本专利技术属于生物信息分析领域,特别涉及一种面向大规模基因数据的读段定位方法。
技术介绍
基因序列匹配(读段定位)是生物信息学的一项重要研究课题,也是基因数据分析的关键环节。基因序列需要在进行读段定位过程之后,才能展开后续一系列的生物信息分析的步骤,如基因表达水平评估、选择性剪切事件识别、聚类等等。因此,基因读段定位已受到生物信息领域众多研究者的广泛关注。新一代基因测序技术的快速发展产生了海量的基因读段数据,这给传统的读段定位算法带来了极大的挑战。庞大的基因读段数据使用传统串行算法在单核机器上运行,已经远远不能满足研究者的需求。一般情况下定位几十GB的基因读段数据需要一周左右的时间,甚至更长,才能获得最终的定位结果,从而导致了整个基因数据分析流程过于缓慢。目前的读段长度一般较长,使用传统不跨越剪切位的空位种子算法可能会遗漏一些正确的定位,得到的定位结果往往不够精确。此外,在并行化过程中总会存在某个节点的执行时间较长,使得整个作业等待个别节点,这种情况严重影响了读段定位的效率。目前的研究热点也是针对如何解决上述问题而展开。典型的跨越剪切位的读段定位方法包括数据集分割、读段分割、子读段不跨越剪切位定位、子读段跨越剪切位定位和拼接。良好的分割方法和高效的子读段跨越剪切位定位能在一定程度上消除负载不均衡的情况以及降低算法时间复杂度,达到提高读段定位效率的效果。
技术实现思路
本专利技术为了解决基因读段定位过程中存在的效率低下的问题以及数据分割中负载不均衡问题,提出了一种面向大规模基因数据的读段定位方法,能有效地提高基因读段定位的效率。本专利技术采用的技术方案如下:一种面向大规模基因数据的读段定位方法,包括如下步骤:一种面向大规模基因数据的读段定位方法,其特征在于,包括如下步骤:步骤1,基因读段数据随机分割:将给定的基因读段数据集随机分割成指定的块数;步骤2,数据的负载平衡:利用MapReduce(映射归约)框架,从分割好的数据块中随机抽取少量基因读段尝试执行,检测出可能执行时间较长的数据块,将其与其他数据块重新分割,均衡负载;步骤3,读段的空间索引:采用MapReduce框架,在Map过程中将读段分割成指定段数的子读段,对每个子读段生成空位种子模式,将每个模式的哈希值与对应的读段信息记录在哈希表中,构建读段的空间索引;步骤4,子读段不跨越剪切位定位:在Map过程中利用已有的读段定位软件将子读段中能够进行连续定位的读段首先定位,记录定位信息;步骤5,子读段跨越剪切位定位:经过步骤4定位后,能够连续定位的子读段已经获得了定位信息,在Map过程中根据已经定位的子读段信息,推断不能连续定位的子读段的定位信息,实现跨越剪切位的读段定位;步骤6,子读段拼接:经过步骤5所有读段分割成的子读段的定位信息已全部被记录,在Map过程中将所有定位的子读段进行组装,记录所有能够连接成原始读段的定位信息;步骤7,读段定位信息统计:在Reduce过程中将所有通过Map过程传递过来的读段定位的信息进行汇总,统计读段定位在参考序列上的整体信息。所述步骤2数据的负载平衡具体包括如下步骤:MapReduce框架将整个数据集默认分割为N块,记为{S1,S2,...,SN},从每块中随机抽取一定数量的基因数据,形成相应的子块,执行读段定位算法,检测出潜在的可能执行时间较长的分块;重新分割检测出的数据块,并且将其分别与其他未分割的数据块合并,最后再次分割成指定的块数。所述步骤3读段的空间索引具体包括如下步骤:在Map过程中,将对应每个数据集子块中的读段分割为M个子读段,对每个子读段创建种子模式;每一个种子模式必然穷尽了所有可能的含有指定错配个数碱基的方式,将每一个种子模式转换成哈希值,以键值对的形式将哈希值和读段信息存储在哈希表里;在定位过程中就可以快速的从这张表中通过读段的哈希值获取指定读段的信息,这张哈希表就是所有读段的空间索引。所述步骤5子读段跨越剪切位定位具体包括如下步骤:在每一个Map中,根据读段的长度,将子读段能够跨越的剪切位点的个数限定在指定的数量以内;根据已有的生物信息,限定内含子最大长度,提高定位效率;根据已经定位的子读段信息,通过延展尝试匹配的方式来确定不能够连续定位的子读段位置信息;如果原始读段的所有子读段都能够进行定位,则保留定位信息;否则舍弃该读段。所述步骤6子读段拼接具体包括如下步骤:首先,每个子读段都记录它能够定位到参考序列上的所有可能位置,用一个数组存储所有位置信息;然后,从第一个子读段的第一个定位信息,即从第一个子读段的位置数组中取出第一个位置,与第二个子读段的所有位置信息进行检测,查看是否与其中一个位置具有顺接关系;如果有,则继续检测第二个子读段顺接的那个位置与第三个子读段所有位置信息的关系,直至最后一个子读段;如果没有,则停止检测;接着继续从第一个子读段的第二个位置进行检测,直至检查完第一个子读段的所有位置信息;最后,提取所有能够完整匹配的读段定位信息。本专利技术是专门针对基因读段定位而提出的方法。与现有技术相比,本专利技术具有以下特征:(1)本专利技术针对现有基因数据量大,传统串行基因读段定位算法效率低下这一问题,提出了并行化的读段定位算法,并且利用MapReduce框架加以实现,在不影响读段定位正确性的条件下,提高了基因读段定位的效率;(2)本专利技术对基于空位种子的不跨越剪切位的读段定位算法进行改进,使之能够处理跨越剪切位的读段定位情况;此外,加入了生物信息:内含子的长度和剪切位点的数量,缩小了算法的搜索空间;改进读段定位时的算法,降低了算法的时间复杂度,从而进一步提高了基因读段定位的效率。(3)本专利技术在读段定位的过程中,专门考虑了负载平衡问题,提出了一种实际的解决方案,有效处理了个别节点执行时间长,降低整体效率的情况,因此具有较高的使用价值。附图说明图1为本专利技术整体流程图;图2为本专利技术中数据的负载平衡步骤子流程图;图3为本专利技术中子读段不跨越剪切位定位步骤子流程图;图4为本专利技术中子读段跨越剪切位定位步骤子流程图。具体实施方式以下结合附图说明本专利技术的具体实施方式。如图1所示,本专利技术公开了一种面向大规模基因数据的读段定位方法,具体步骤如下:步骤1,基因读段数据随机分割:将给定的基因读段数据集随机分割成指定的块数;步骤2,数据的负载平衡:采用MapReduce框架,从分割好的数据块中随机抽取少量基因读段尝试执行,检测出可能执行时间较长的数据块,将其重新分割,分别添加到其余数据块中,最后将其余的数据块再次进行分割,实现数据的均衡负载;步骤3,读段的空间索引:采用MapReduce框架,在Map过程中将读段分割成指定段数的子读段,对每个子读段生成空位种子模式,将每个模式的哈希值与对应的读段信息记录在哈希表中,构建读段的空间索引;步骤4,子读段不跨越剪切位定位:在Map过程中利用已有的读段定位软件将子读段中能够进行连续定位的读段首先定位,记录定位信息;步骤5,子读段跨越剪切位定位:在Map过程中根据已经定位的子读段信息,推断不能连续定位的子读段的定位信息,实现跨越剪切位的读段定位;步骤6,子读段拼接:在Map过程中将所有定位的子读段进行组装,记录所有能够连接成原始读段的定位信息;步骤7,读段定位信息本文档来自技高网...
一种面向大规模基因数据的读段定位方法

【技术保护点】
一种面向大规模基因数据的读段定位方法,其特征在于,包括如下步骤:步骤1,基因读段数据随机分割:将给定的基因读段数据集随机分割成指定的块数;步骤2,数据的负载平衡:利用MapReduce框架,从分割好的数据块中随机抽取少量基因读段尝试执行,检测出可能执行时间较长的数据块,将其与其他数据块重新分割,均衡负载;步骤3,读段的空间索引:采用MapReduce框架,在Map过程中将步骤2分割后的数据块中的读段分割成指定段数的子读段,对每个子读段生成空位种子模式,将每个模式的哈希值与对应的读段信息记录在哈希表中,构建读段的空间索引;步骤4,子读段不跨越剪切位定位:在Map过程中利用已有的读段定位软件将子读段中能够进行连续定位的读段首先定位,记录定位信息;步骤5,子读段跨越剪切位定位:经过步骤4定位后,能够连续定位的子读段已经获得了定位信息,在Map过程中根据已经定位的子读段信息,推断不能连续定位的子读段的定位信息,实现跨越剪切位的读段定位;具体包括如下步骤:在每一个Map中,根据读段的长度,将子读段能够跨越的剪切位点的个数限定在指定的数量以内;根据已有的生物信息,限定内含子最大长度,提高定位效率;根据已经定位的子读段信息,通过延展尝试匹配的方式来确定不能够连续定位的子读段位置信息;如果原始读段的所有子读段都能够进行定位,则保留定位信息;否则舍弃该读段;步骤6,子读段拼接:经过步骤5所有读段分割成的子读段的定位信息已全部被记录,在Map过程中将所有定位的子读段进行组装,记录所有能够连接成原始读段的定位信息;步骤7,读段定位信息统计:在Reduce过程中将所有通过Map过程传递过来的读段定位的信息进行汇总,统计读段定位在参考序列上的整体信息。...

【技术特征摘要】
1.一种面向大规模基因数据的读段定位方法,其特征在于,包括如下步骤:步骤1,基因读段数据随机分割:将给定的基因读段数据集随机分割成指定的块数;步骤2,数据的负载平衡:利用MapReduce框架,从分割好的数据块中随机抽取少量基因读段尝试执行,检测出可能执行时间较长的数据块,将其与其他数据块重新分割,均衡负载;步骤3,读段的空间索引:采用MapReduce框架,在Map过程中将步骤2分割后的数据块中的读段分割成指定段数的子读段,对每个子读段生成空位种子模式,将每个模式的哈希值与对应的读段信息记录在哈希表中,构建读段的空间索引;步骤4,子读段不跨越剪切位定位:在Map过程中利用已有的读段定位软件将子读段中能够进行连续定位的读段首先定位,记录定位信息;步骤5,子读段跨越剪切位定位:经过步骤4定位后,能够连续定位的子读段已经获得了定位信息,在Map过程中根据已经定位的子读段信息,推断不能连续定位的子读段的定位信息,实现跨越剪切位的读段定位;具体包括如下步骤:在每一个Map中,根据读段的长度,将子读段能够跨越的剪切位点的个数限定在指定的数量以内;根据已有的生物信息,限定内含子最大长度,提高定位效率;根据已经定位的子读段信息,通过延展尝试匹配的方式来确定不能够连续定位的子读段位置信息;如果原始读段的所有子读段都能够进行定位,则保留定位信息;否则舍弃该读段;步骤6,子读段拼接:经过步骤5所有读段分割成的子读段的定位信息已全部被记录,在Map过程中将所有定位的子读段进行组装,记录所有能够连接成原始读段的定位信息;步骤7,读段定位信息统计:在Reduce过程中将所有通过Map过程传递过来的读段定位的信息进行汇总,统计读段定位在参考序列上的整体...

【专利技术属性】
技术研发人员:杨明涂金金高阳
申请(专利权)人:南京师范大学
类型:发明
国别省市:江苏,32

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

1