基于CPU并行计算的序列比对方法、系统、存储介质及终端技术方案

技术编号:38221426 阅读:15 留言:0更新日期:2023-07-25 17:53
本发明专利技术公开了基于CPU并行计算的序列比对方法、系统、存储介质及终端,属于生物信息学领域,包括:在服务器端接收多用户同时提交的RNA

【技术实现步骤摘要】
基于CPU并行计算的序列比对方法、系统、存储介质及终端


[0001]本专利技术涉及生物信息学领域,尤其涉及基于CPU并行计算的序列比对方法、系统、存储介质及终端。

技术介绍

[0002]随着生物信息学领域的不断发展和应用,序列比对和检索一直是生物学研究和疾病诊断治疗中的重要问题。序列比对技术已经被广泛用于基因组学、蛋白质组学、疾病诊断等领域。其中,BLAST(Basic Local Alignment Search Tool)是最常用的比对程序之一。然而,由于BLAST需要在全局数据库中进行比对,当数据规模较大时比对效率会受到很大影响,严重拖慢了序列比对的速度。例如,在进行人类基因组等大规模数据比对时,BLAST的运行速度通常需要数天或数周的时间,这是无法满足实际需求的。

技术实现思路

[0003]本专利技术的目的在于克服现有序列比对存在的问题,提供了基于CPU并行计算的序列比对方法、系统、存储介质及终端。
[0004]本专利技术的目的是通过以下技术方案来实现的:第一方面,提供一种基于CPU并行计算的序列比对方法,包括以下步骤:1)在服务器端接收多用户同时提交的RNA

seq比对请求;2)根据不同的RNA

seq比对请求创建多线程的比对子任务;3)采用Go语言编写服务器程序,将各个比对子任务分配到不同的计算资源上进行并行比对,得到比对结果;其中,比对子任务的比对流程包括以下步骤:3

1)从全局数据库中筛选出与目标序列相关的基因或蛋白质数据库子集,所述子集只包含与目标序列具有相似度的序列;3

2)在本地计算机上,对子集中的序列构建本地库;3

3)利用BLAST程序对本地库中的序列进行局部比对,以寻找与目标序列相似的序列。
[0005]作为一优选项,一种基于CPU并行计算的序列比对方法,所述根据不同的RNA

seq比对请求创建多线程的比对子任务,包括:基于物种

亚种

组装的多级索引快速生成多线程比对子任务。
[0006]作为一优选项,一种基于CPU并行计算的序列比对方法,所述采用Go语言编写服务器程序,包括:基于Go语言的goroutine和channel特性使得程序同时处理多个用户的RNA

seq比对请求,每个RNA

seq比对请求生成一个goroutine。
[0007]作为一优选项,一种基于CPU并行计算的序列比对方法,所述比对子任务的比对流程,还包括:3

4)根据比对子任务的实时进度,动态地调整goroutine的数量。
[0008]作为一优选项,一种基于CPU并行计算的序列比对方法,所述步骤3

1)中利用k

mer比对算法进行子集筛选。
[0009]作为一优选项,一种基于CPU并行计算的序列比对方法,所述步骤3

2)中利用序列处理软件来构建本地库,并将其索引。
[0010]作为一优选项,一种基于CPU并行计算的序列比对方法,还包括步骤:4)对于比对结果,采用统一的数据传输格式进行存储和展示。
[0011]第二方面,提供一种基于CPU并行计算的序列比对系统,包括:比对请求接收模块,配置为在服务器端接收多用户同时提交的RNA

seq比对请求;比对子任务创建模块,配置为根据不同的RNA

seq比对请求创建多线程的比对子任务;比对模块,配置为采用Go语言编写服务器程序,将各个比对子任务分配到不同的计算资源上进行并行比对,得到比对结果;其中,比对子任务的比对流程包括以下步骤:3

1)从全局数据库中筛选出与目标序列相关的基因或蛋白质数据库子集,所述子集只包含与目标序列具有相似度的序列;3

2)在本地计算机上,对子集中的序列构建本地库;3

3)利用BLAST程序对本地库中的序列进行局部比对,以寻找与目标序列相似的序列。
[0012]第三方面,提供一种计算机存储介质,其上存储有计算机指令,所述计算机指令运行时执行任意一项所述一种基于CPU并行计算的序列比对方法中相关内容。
[0013]第四方面,提供一种终端,包括存储器和处理器,存储器上存储有可在处理器上运行的计算机指令,处理器运行计算机指令时执行任意一项所述一种基于CPU并行计算的序列比对方法中相关内容。
[0014]需要进一步说明的是,上述各选项对应的技术特征在不冲突的情况下可以相互组合或替换构成新的技术方案。
[0015]与现有技术相比,本专利技术有益效果是:(1)本专利技术通过在服务器端接收多用户同时提交的RNA

seq比对请求,根据不同的RNA

seq比对请求创建多线程的比对子任务,采用Go语言编写服务器程序,将各个比对子任务分配到不同的计算资源上进行并行比对,能够在保证计算性能的同时,兼顾处理多用户并发请求的实际需求,从宏观上考虑用户整个比对的流程,将客户端到服务器整个数据交互流程涉及的时间考虑进去,从用户感知层解决比对速度问题。
[0016](2)在一个示例中,基于物种

亚种

组装的多级索引快速生成多线程比对子任务,采用了多级比对策略,首先进行快速的预过滤,然后对可能的相似序列进行精确比对,这种策略既降低了计算复杂度,又保证了比对结果的准确性。
[0017](3)在一个示例中,在比对过程中,采用一种高效的k

mer算法,以提高比对精准性。由于Go语言的并发处理能力可以很好地兼容处理算法带来的功耗带宽浪费问题,因此该算法能够充分发挥多核CPU的计算能力,实现更高效的数据处理。
[0018](4)在一个示例中,在比对过程中,根据比对任务的实时进度,通过使用goroutine和channel等Go语言特性,实现任务在线程池中的动态调度和负载均衡。这样可以确保在处理大量并发请求时,系统资源得到充分利用,不会出现因某个任务过长而阻塞其他任务的
情况。
[0019](5)在一个示例中,对于比对结果,采用统一的数据传输格式进行存储和展示,方便用户查看和分析。
附图说明
[0020]图1为本专利技术实施例示出的一种基于CPU并行计算的序列比对方法的流程图;图2为本专利技术实施例示出的酵母序列比对示意图;图3为本专利技术实施例示出的本专利技术与传统方法比对速度对比示意图。
具体实施方式
[0021]下面结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0022]此外,下面所描述的本专利技术不同实施方式中所涉及的技术特征本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于CPU并行计算的序列比对方法,其特征在于,包括以下步骤:1)在服务器端接收多用户同时提交的RNA

seq比对请求;2)根据不同的RNA

seq比对请求创建多线程的比对子任务;3)采用Go语言编写服务器程序,将各个比对子任务分配到不同的计算资源上进行并行比对,得到比对结果;其中,比对子任务的比对流程包括以下步骤:3

1)从全局数据库中筛选出与目标序列相关的基因或蛋白质数据库子集,所述子集只包含与目标序列具有相似度的序列;3

2)在本地计算机上,对子集中的序列构建本地库;3

3)利用BLAST程序对本地库中的序列进行局部比对,以寻找与目标序列相似的序列。2.根据权利要求1所述的一种基于CPU并行计算的序列比对方法,其特征在于,所述根据不同的RNA

seq比对请求创建多线程的比对子任务,包括:基于物种

亚种

组装的多级索引快速生成多线程比对子任务。3.根据权利要求1所述的一种基于CPU并行计算的序列比对方法,其特征在于,所述采用Go语言编写服务器程序,包括:基于Go语言的goroutine和channel特性使得程序同时处理多个用户的RNA

seq比对请求,每个RNA

seq比对请求生成一个goroutine。4.根据权利要求3所述的一种基于CPU并行计算的序列比对方法,其特征在于,所述比对子任务的比对流程,还包括:3

4)根据比对子任务的实时进度,动态地调整goroutine的数量。5.根据权利要求1所述的一种基于CPU并行计算的序列比对方法,其特征在于,所述步...

【专利技术属性】
技术研发人员:张鸿铭袁夕茹邓海波朱凌峰王中健
申请(专利权)人:药融云数字科技成都有限公司
类型:发明
国别省市:

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

1