结构体变异检测的方法及装置与流程

文档序号:12748340阅读:269来源:国知局
结构体变异检测的方法及装置与流程

本发明涉及基因检测技术领域,尤其涉及一种结构体变异检测的方法及装置。



背景技术:

在现有的人类全基因组重测序中,需要对海量原始数据进行结构体变异检测以进行数据分析。

随着目前数量的增大,目前的结构体变异检测中,可以支持的方案有不并发方案,该种方案适用于单机单进程的对所有测试序列进行检测。该方案中,没有充分利用计算机资源,测试时间非常长。为了减少测试时间,现有技术对不并发方案进行改进,提出一种并发方案的结构体变异检测方案,该方案中将测试序列按照染色体分段,处理时每个设备可以处理指定染色体分段的染色体,这样,多段染色体之间可以并发的执行,一个染色体一个进程进行处理。为了进一步利用计算机资源,现有技术中还提出了染色体内的简单并发计算的方案,将测试序列按照染色体分开,然后将每一条染色体按照位点(range)切分为N份,每份一个启动一个进程,以并发执行。

但是,由于染色体不同位点处理时长不同,划分段之间的处理时长也不同,导致并发任务分配不均衡,有些很快完成,而有些需要很长的时间,导致有空闲的计算机资源没有被充分利用,整体测试序列的测试时间还较长。



技术实现要素:

本发明提供了一种结构体变异检测的方法及装置,用于充分利用计算机资源,缩短整体测试序列的测试时间。

本发明提供一种结构体变异检测的方法,所述方法包括:

将测试序列按照染色体的位点划分,得到至少两个染色体分段;

同时启动所述至少两个染色体分段中每一分段的结构体变异检测的进程,以进行结构体变异检测;

检测所述至少两个染色体分段的进程,确定未完成进程数是否减少到总进程数的预设比例阈值;

当未完成进程数减少到总进程数的预设比例阈值时,杀掉未完成的进程;

将未完成的进程对应的所述染色体分段按照染色体的位点进一步划分,并启动划分后的所述染色体分段的结构体变异检测的进程,以进行结构体变异检测。

进一步可选地,如上所述的方法中,将测试序列按照染色体的位点划分,得到至少两个染色体分段,具体包括:

将所述测试序列按照染色体拆分;

将拆分后的所有染色体按照位点划分,得到所述至少两个染色体分段。

进一步可选地,如上所述的方法中,将拆分后的各所述染色体按照位点划分,得到所述至少两个染色体分段,具体包括:

根据进行结构体变异检测的计算机的核数,将拆分后的所有染色体按照位点划分,得到段数等于所述计算机核数的整数倍的所述至少两个染色体分段。

进一步可选地,如上所述的方法中,当未完成进程数减少到总进程数的预设比例阈值时,杀掉未完成的进程之后,还包括:

清除未完成的进程中产生的文件。

进一步可选地,如上所述的方法中,当未完成进程数减少到总进程数的预设比例阈值时,杀掉未完成的进程之前,还包括:

判断未完成的进程中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;

确定未完成的进程中对应的染色体分段中位点值的最大间隔大于或者等于所述预设位点间隔。

进一步可选地,如上所述的方法中,当未完成的进程中对应的染色体分段中位点值的最大间隔小于所述预设位点间隔,还包括:

不杀掉未完成的进程,监控所述至少两个染色体分段中每一分段的结构体变异检测的进程,直到检测完成;

将所述至少两个染色体分段的结构体变异检测的结果合并至一个文件中。

本发明还提供一种结构体变异检测的装置,所述装置包括:

划分模块,用于将测试序列按照染色体的位点划分,得到至少两个染色体分段;

进程启动模块,用于同时启动所述至少两个染色体分段中每一分段的结构体变异检测的进程,以进行结构体变异检测;

进程数检测模块,用于检测所述至少两个染色体分段的进程,确定未完成进程数是否减少到总进程数的预设比例阈值;

处理模块,用于当未完成进程数减少到总进程数的预设比例阈值时,杀掉未完成的进程;

所述划分模块,还用于将未完成的进程对应的所述染色体分段按照染色体的位点进一步划分;

所述进程启动模块,还用于进一步启动划分后的所述染色体分段的结构体变异检测的进程,以进行结构体变异检测。

进一步可选地,如上所述的装置中,所述划分模块,具体包括:

染色体拆分单元,用于将所述测试序列按照染色体拆分;

位点拆分单元,用于将拆分后的所有染色体按照位点划分,得到所述至少两个染色体分段。

进一步可选地,如上所述的装置中,所述位点拆分单元,具体用于根据进行结构体变异检测的计算机的核数,将拆分后的所有染色体按照位点划分,得到段数等于所述计算机核数的整数倍的所述至少两个染色体分段。

进一步可选地,如上所述的装置中,还包括:

清除模块,用于清除未完成的进程中产生的文件。

进一步可选地,如上所述的装置中,还包括:

判断模块,用于判断未完成的进程中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;

确定模块,用于确定未完成的进程中对应的染色体分段中位点值的最大间隔大于或者等于所述预设位点间隔。

进一步可选地,如上所述的装置中,所述确定模块,还用于确定未完成的进程中对应的染色体分段中位点值的最大间隔小于所述预设位点间隔;

所述处理模块,还用于不杀掉未完成的进程,监控所述至少两个染色体分段中每一分段的结构体变异检测的进程,直到检测完成;将所述至少两个染色体分段的结构体变异检测的结果合并至一个文件中。

本发明的结构体变异检测的方法及装置,通过将测试序列按照染色体的位点划分,得到至少两个染色体分段;同时启动至少两个染色体分段中每一分段的结构体变异检测的进程,以进行结构体变异检测;检测至少两个染色体分段的进程,确定未完成进程数是否减少到总进程数的预设比例阈值;当未完成进程数减少到总进程数的预设比例阈值时,杀掉未完成的进程;将未完成的进程按照染色体的位点进一步划分,并启动划分后的染色体分段的结构体变异检测的进程,以进行结构体变异检测。通过采用本发明的技术方案,可以将每一轮结构变异体检测中未完成的进程对应的染色体分段再作为一段测试序列重复迭代执行上述步骤,以充分利用计算机资源,加快整个测试序列的结构体变异的检测进程,缩短整个测试序列的结构体变异的检测时间,提高检测效率。

【附图说明】

图1为本发明的结构体变异检测的方法实施例一的流程图。

图2为本发明的结构体变异检测的方法实施例二的流程图。

图3为本发明的结构体变异检测的装置实施例一的结构图。

图4为本发明的结构体变异检测的装置实施例二的结构图。

【具体实施方式】

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

图1为本发明的结构体变异检测的方法实施例一的流程图。如图1所示,本实施例的结构体变异检测的方法,具体可以包括如下步骤:

100、将测试序列按照染色体的位点划分,得到至少两个染色体分段;

101、同时启动至少两个染色体分段中每一分段的结构体变异检测的进程,以进行结构体变异检测;

102、检测至少两个染色体分段的进程,确定未完成进程数是否减少到总进程数的预设比例阈值;当未完成进程数减少到总进程数的预设比例阈值时,执行步骤103;否则继续检测未完成进程数是否减少到总进程数的预设比例阈值。

103、杀掉未完成的进程;执行步骤104、

104、将未完成的进程对应的染色体分段按照染色体的位点进一步划分,并启动划分后的染色体分段的结构体变异检测的进程,以进行结构体变异检测。

本实施例的结构体变异检测的方法应用于人类全基因组重测序中。本实施例的测试序列由很多染色体构成。首先将测试序列按照染色体的位点(range)进行划分,得到至少两个染色体分段;例如,划分得到的每个染色体分段的长度时相等的,即划分得到的每个染色体分段中的range值的间隔是相同的。在结构体变异检测时,每个染色体分段对应启动一个染色体的结构体变异检测进程,这样,同时启动至少两个染色体分段中每一分段的结构体变异检测的进程,以进行结构体变异检测;然后检测至少两个染色体分段的进程,确定未完成进程数是否减少到总进程数的预设比例阈值;本实施例中的预设比例阈值可以根据实际需求来设置,具体可以为0-1之间的任意比例,例如可以为1/2,或者1/3或者其他任意比例值。当未完成进程数未减少到总进程数的预设比例阈值时,继续检测。否则,当未完成进程数减少到总进程数的预设比例阈值时,杀掉(Kill)未完成的进程;将未完成的进程按照染色体的位点进一步划分,并启动划分后的染色体分段的结构体变异检测的进程,以进行结构体变异检测。也就是说,当未完成进程数减少到总进程数的预设比例阈值时,此时部分进程已经完成检测,而还有部分进程未完成检测,导致检测任务分配不均衡,且检测设备中还存在有空闲的计算机资源没有被充分利用,因此,本实施例中,通过将未完成进程对应的染色体分段按照染色体的range进一步划分,并启动划分后的染色体分段的结构体变异检测的进程,以进行结构体变异检测。即将完成的进程对应的染色体分段再作为一段测试序列重复迭代执行上述步骤,以充分利用计算机资源,加快结构体变异的检测进程,缩短结构体变异的检测时间,提高检测效率。

本实施例的结构体变异检测的方法,通过将测试序列按照染色体的位点划分,得到至少两个染色体分段;同时启动至少两个染色体分段中每一分段的结构体变异检测的进程,以进行结构体变异检测;检测至少两个染色体分段的进程,确定未完成进程数是否减少到总进程数的预设比例阈值;当未完成进程数减少到总进程数的预设比例阈值时,Kill未完成的进程;将未完成的进程按照染色体的位点进一步划分,并启动划分后的染色体分段的结构体变异检测的进程,以进行结构体变异检测。通过采用本实施例的技术方案,可以将每一轮结构变异体检测中未完成的进程对应的染色体分段再作为一段测试序列重复迭代执行上述步骤,以充分利用计算机资源,加快整个测试序列的结构体变异的检测进程,缩短整个测试序列的结构体变异的检测时间,提高检测效率。

进一步可选地,在上述实施例的技术方案的基础上,上述实施例中的步骤100“将测试序列按照染色体的位点划分,得到至少两个染色体分段”,具体可以包括如下步骤:

(a1)将测试序列按照染色体拆分;

(a2)将拆分后的所有染色体按照位点划分,得到至少两个染色体分段。

测试序列由染色体构成,而染色体又包括很多位点range,本实施例的技术方案中,首先将测试序列按照染色体拆分,然后对每个拆分后的染色体按照位电range进行划分,得到至少连个染色体分段。优选地,在划分时,划分得到的染色体分段时均等的。

优选地,上述实施例中的步骤(a2)“将拆分后的各染色体按照位点划分,得到至少两个染色体分段”,具体可以包括:根据进行结构体变异检测的计算机的核数,将拆分后的所有染色体按照位点划分,得到段数等于计算机核数的整数倍的至少两个染色体分段。

也就是说,可以根据进行结构体变异检测的计算机的核数,将拆分后的所有染色体按照位点划分,使得划分的染色体分段的段数正好等于计算机核数的整数倍,这样,在进行结构体变异检测时,可以保证每一个核数的计算机资源分配的染色体分段的检测任务是相等的,这样可以充分利用计算机资源,且能够最大程度地保证结构体变异检测任务的均衡性,从而缩短整个测试序列的检测时间,提高检测效率。而且本实施例的结构体变异检测的方法中,还可以根据计算机的核数,灵活改变染色体分段的段数,可扩展能力非常强。

进一步可选地,在上述实施例的技术方案的基础上,通过步骤102检测确定“未完成进程数减少到总进程数的预设比例阈值”时,步骤103“杀掉未完成的进程”之后,还可以包括:清除未完成的进程中产生的文件。这样便于从新对未完成的进程进行重新结构体变异检测。

进一步可选地,在上述实施例的技术方案的基础上,通过步骤102检测确定“未完成进程数减少到总进程数的预设比例阈值”时,步骤103“杀掉未完成的进程”之前,还可以包括如下步骤:

(b1)判断未完成的进程中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;

本实施例中的染色体分段是均匀分配的,一个染色体分段中,位点值的最大间隔,可以用来表示该段染色体分段的长度。

(b2)确定未完成的进程中对应的染色体分段中位点值的最大间隔大于或者等于预设位点间隔。

而经过步骤(b1)判断,确定当未完成的进程中对应的染色体分段中位点值的最大间隔小于预设位点间隔,此时还可以进一步包括如下步骤:

(c1)不杀掉未完成的进程,监控至少两个染色体分段中每一分段的结构体变异检测的进程,直到检测完成;

(c2)将至少两个染色体分段的结构体变异检测的结果合并至一个文件中,得到测试序列的结构体变异检测的最终结果。

本实施例中染色体分段中位点值的最大间隔小于预设位点间隔时,可以认为该染色体分段为单位很小的分段了,不需要再进一步划分了,此时,只需要监控当前的至少两个染色体分段中每一分段的结构体变异检测的进程,直到检测完成;最后将所有的染色体分段的结构体变异检测的结果合并至一个文件中,得到测试序列的结构体变异检测的最终结果。

通过采用上述实施例的技术方案,可以将每一轮结构变异体检测中未完成的进程对应的染色体分段再作为一段测试序列重复迭代执行上述步骤,以充分利用计算机资源,加快整个测试序列的结构体变异的检测进程,缩短整个测试序列的结构体变异的检测时间,提高检测效率。

图2为本发明的结构体变异检测的方法实施例二的流程图。如图2所示,本实施例的结构体变异检测的方法,在上述实施例的技术方案的基础上,进一步详细介绍本发明的技术方案。如图2所示,本实施例的结构体变异检测的方法,具体可以包括如下步骤:

200、将测试序列按照染色体拆分;

201、将拆分后的所有染色体按照位点划分,得到至少两个染色体分段;

202、同时启动至少两个染色体分段中每一分段的结构体变异检测的进程,以进行结构体变异检测;

203、检测至少两个染色体分段的进程,确定未完成进程数是否减少到总进程数的预设比例阈值;当未完成进程数减少到总进程数的预设比例阈值时,执行步骤204;否则继续检测未完成进程数是否减少到总进程数的预设比例阈值。

204、判断未完成的进程中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;若是,执行步骤205;否则当未完成的进程中对应的染色体分段中位点值的最大间隔小于预设位点间隔,执行步骤207;

205、杀掉未完成的进程;清除未完成的进程中产生的文件;执行步骤206;

206、将未完成的进程对应的染色体分段按照染色体的位点进一步划分,得到至少两个染色体分段;执行步骤202;

207、不杀掉未完成的进程,监控至少两个染色体分段中每一分段的结构体变异检测的进程,直到检测完成;执行步骤208;

208、将至少两个染色体分段的结构体变异检测的结果合并至一个文件中,得到测试序列的结构体变异检测的最终结果。

本实施例的结构体变异检测的方法,通过采用上述技术方案,可以将每一轮结构变异体检测中未完成的进程对应的染色体分段再作为一段测试序列重复迭代执行上述步骤,以充分利用计算机资源,加快整个测试序列的结构体变异的检测进程,缩短整个测试序列的结构体变异的检测时间,提高检测效率。

图3为本发明的结构体变异检测的装置实施例一的结构图。如图3所示,本实施例的结构体变异检测的装置,具体可以包括:划分模块10、进程启动模块11、进程数检测模块12和处理模块13。

其中划分模块10用于将测试序列按照染色体的位点划分,得到至少两个染色体分段;

进程启动模块11用于同时启动划分模块10划分得到的至少两个染色体分段中每一分段的结构体变异检测的进程,以进行结构体变异检测;

进程数检测模块12用于检测进程启动模块11启动的至少两个染色体分段的进程,确定未完成进程数是否减少到总进程数的预设比例阈值;

处理模块13用于根据进程数检测模块12的监测结果,确定当未完成进程数减少到总进程数的预设比例阈值时,杀掉未完成的进程;

划分模块10还用于将处理模块13杀掉的未完成的进程对应的染色体分段按照染色体的位点进一步划分;

进程启动模块11还用于进一步启动划分后的染色体分段的结构体变异检测的进程,以进行结构体变异检测。

本实施例的结构体变异检测的装置,通过采用上述模块实现结构体变异检测的实现原理以及技术效果与上述相关方法实施例的相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。

图4为本发明的结构体变异检测的装置实施例二的结构图。本实施例的结构体变异检测的装置在上述图3所示实施例的技术方案的基础上,进一步更加详细地介绍本发明的技术方案。如图4所示,本实施例的结构体变异检测的装置,具体可以包括如下技术方案。

如图4所示,本实施例的结构体变异检测的装置中,划分模块10具体包括:

染色体拆分单元101用于将测试序列按照染色体拆分;

位点拆分单元102用于将染色体拆分单元101拆分后的所有染色体按照位点划分,得到至少两个染色体分段。

本实施例中,当划分模块10还用于将处理模块13杀掉的未完成的进程对应的染色体分段按照染色体的位点进一步划分时,此时具体由位点拆分单元102将处理模块13杀掉的未完成的进程对应的染色体分段按照染色体的位点进一步划分。

进一步可选地,位点拆分单元102具体用于根据进行结构体变异检测的计算机的核数,将拆分后的所有染色体按照位点划分,得到段数等于计算机核数的至少两个染色体分段。

如图4所示,本实施例的结构体变异检测的装置中,还包括清除模块14。

其中清除模块14用于清除处理模块13杀掉的未完成的进程中产生的文件。

如图4所示,本实施例的结构体变异检测的装置中,还包括:

判断模块15用于在进程数检测模块12确定当未完成进程数减少到总进程数的预设比例阈值时,检测未完成的进程中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;

确定模块16用于根据判断模块15的判断结果,确定未完成的进程中对应的染色体分段中位点值的最大间隔大于或者等于预设位点间隔。此时对应地,处理模块13用于当进程数检测模块12确定未完成进程数减少到总进程数的预设比例阈值时,确定模块16确定未完成的进程中对应的染色体分段中位点值的最大间隔大于或者等于预设位点间隔时,杀掉未完成的进程。

进一步可选地,本实施例的结构体变异检测的装置中,确定模块16还用于确定未完成的进程中对应的染色体分段中位点值的最大间隔小于预设位点间隔;

处理模块13还用于根据确定模块16的确定结果,不杀掉未完成的进程,监控至少两个染色体分段中每一分段的结构体变异检测的进程,直到检测完成;将至少两个染色体分段的结构体变异检测的结果合并至一个文件中。

本实施例的结构体变异检测的装置,通过采用上述模块实现结构体变异检测的实现原理以及技术效果与上述相关方法实施例的相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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