CN116450364A - 基于cpu并行计算的序列比对方法、系统、存储介质及终端 - Google Patents
基于cpu并行计算的序列比对方法、系统、存储介质及终端 Download PDFInfo
- Publication number
- CN116450364A CN116450364A CN202310708159.8A CN202310708159A CN116450364A CN 116450364 A CN116450364 A CN 116450364A CN 202310708159 A CN202310708159 A CN 202310708159A CN 116450364 A CN116450364 A CN 116450364A
- Authority
- CN
- China
- Prior art keywords
- comparison
- alignment
- sequences
- sequence
- seq
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000003559 RNA-seq method Methods 0.000 claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims abstract description 7
- 238000002864 sequence alignment Methods 0.000 claims description 30
- 108090000623 proteins and genes Proteins 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 102000004169 proteins and genes Human genes 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 abstract description 32
- 238000004364 calculation method Methods 0.000 abstract description 3
- 241000894007 species Species 0.000 description 9
- 230000008901 benefit Effects 0.000 description 6
- 238000002869 basic local alignment search tool Methods 0.000 description 5
- 240000004808 Saccharomyces cerevisiae Species 0.000 description 4
- 235000014680 Saccharomyces cerevisiae Nutrition 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 201000010099 disease Diseases 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241001506991 Komagataella phaffii GS115 Species 0.000 description 1
- 244000253724 Saccharomyces cerevisiae S288c Species 0.000 description 1
- 235000004905 Saccharomyces cerevisiae S288c Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002887 multiple sequence alignment Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了基于CPU并行计算的序列比对方法、系统、存储介质及终端,属于生物信息学领域,包括:在服务器端接收多用户同时提交的RNA‑seq比对请求;根据不同的RNA‑seq比对请求创建多线程的比对子任务;采用Go语言编写服务器程序,将各个比对子任务分配到不同的计算资源上进行并行比对,得到比对结果。本发明能够在保证计算性能的同时,兼顾处理多用户并发请求的实际需求,同时,会根据请求的任务量和用户量动态调整数据传输和处理策略,确保系统在高负载情况下仍能保持良好的性能。
Description
技术领域
本发明涉及生物信息学领域,尤其涉及基于CPU并行计算的序列比对方法、系统、存储介质及终端。
背景技术
随着生物信息学领域的不断发展和应用,序列比对和检索一直是生物学研究和疾病诊断治疗中的重要问题。序列比对技术已经被广泛用于基因组学、蛋白质组学、疾病诊断等领域。其中,BLAST(Basic Local Alignment Search Tool)是最常用的比对程序之一。然而,由于BLAST需要在全局数据库中进行比对,当数据规模较大时比对效率会受到很大影响,严重拖慢了序列比对的速度。例如,在进行人类基因组等大规模数据比对时,BLAST的运行速度通常需要数天或数周的时间,这是无法满足实际需求的。
发明内容
本发明的目的在于克服现有序列比对存在的问题,提供了基于CPU并行计算的序列比对方法、系统、存储介质及终端。
本发明的目的是通过以下技术方案来实现的:
第一方面,提供一种基于CPU并行计算的序列比对方法,包括以下步骤:
1)在服务器端接收多用户同时提交的RNA-seq比对请求;
2)根据不同的RNA-seq比对请求创建多线程的比对子任务;
3)采用Go语言编写服务器程序,将各个比对子任务分配到不同的计算资源上进行并行比对,得到比对结果;其中,比对子任务的比对流程包括以下步骤:
3-1)从全局数据库中筛选出与目标序列相关的基因或蛋白质数据库子集,所述子集只包含与目标序列具有相似度的序列;
3-2)在本地计算机上,对子集中的序列构建本地库;
3-3)利用BLAST程序对本地库中的序列进行局部比对,以寻找与目标序列相似的序列。
作为一优选项,一种基于CPU并行计算的序列比对方法,所述根据不同的RNA-seq比对请求创建多线程的比对子任务,包括:
基于物种→亚种→组装的多级索引快速生成多线程比对子任务。
作为一优选项,一种基于CPU并行计算的序列比对方法,所述采用Go语言编写服务器程序,包括:
基于Go语言的goroutine和channel特性使得程序同时处理多个用户的RNA-seq比对请求,每个RNA-seq比对请求生成一个goroutine。
作为一优选项,一种基于CPU并行计算的序列比对方法,所述比对子任务的比对流程,还包括:
3-4)根据比对子任务的实时进度,动态地调整goroutine的数量。
作为一优选项,一种基于CPU并行计算的序列比对方法,所述步骤3-1)中利用k-mer比对算法进行子集筛选。
作为一优选项,一种基于CPU并行计算的序列比对方法,所述步骤3-2)中利用序列处理软件来构建本地库,并将其索引。
作为一优选项,一种基于CPU并行计算的序列比对方法,还包括步骤:
4)对于比对结果,采用统一的数据传输格式进行存储和展示。
第二方面,提供一种基于CPU并行计算的序列比对系统,包括:
比对请求接收模块,配置为在服务器端接收多用户同时提交的RNA-seq比对请求;
比对子任务创建模块,配置为根据不同的RNA-seq比对请求创建多线程的比对子任务;
比对模块,配置为采用Go语言编写服务器程序,将各个比对子任务分配到不同的计算资源上进行并行比对,得到比对结果;其中,比对子任务的比对流程包括以下步骤:
3-1)从全局数据库中筛选出与目标序列相关的基因或蛋白质数据库子集,所述子集只包含与目标序列具有相似度的序列;
3-2)在本地计算机上,对子集中的序列构建本地库;
3-3)利用BLAST程序对本地库中的序列进行局部比对,以寻找与目标序列相似的序列。
第三方面,提供一种计算机存储介质,其上存储有计算机指令,所述计算机指令运行时执行任意一项所述一种基于CPU并行计算的序列比对方法中相关内容。
第四方面,提供一种终端,包括存储器和处理器,存储器上存储有可在处理器上运行的计算机指令,处理器运行计算机指令时执行任意一项所述一种基于CPU并行计算的序列比对方法中相关内容。
需要进一步说明的是,上述各选项对应的技术特征在不冲突的情况下可以相互组合或替换构成新的技术方案。
与现有技术相比,本发明有益效果是:
(1)本发明通过在服务器端接收多用户同时提交的RNA-seq比对请求,根据不同的RNA-seq比对请求创建多线程的比对子任务,采用Go语言编写服务器程序,将各个比对子任务分配到不同的计算资源上进行并行比对,能够在保证计算性能的同时,兼顾处理多用户并发请求的实际需求,从宏观上考虑用户整个比对的流程,将客户端到服务器整个数据交互流程涉及的时间考虑进去,从用户感知层解决比对速度问题。
(2)在一个示例中,基于物种→亚种→组装的多级索引快速生成多线程比对子任务,采用了多级比对策略,首先进行快速的预过滤,然后对可能的相似序列进行精确比对,这种策略既降低了计算复杂度,又保证了比对结果的准确性。
(3)在一个示例中,在比对过程中,采用一种高效的k-mer算法,以提高比对精准性。由于Go语言的并发处理能力可以很好地兼容处理算法带来的功耗带宽浪费问题,因此该算法能够充分发挥多核CPU的计算能力,实现更高效的数据处理。
(4)在一个示例中,在比对过程中,根据比对任务的实时进度,通过使用goroutine和channel等Go语言特性,实现任务在线程池中的动态调度和负载均衡。这样可以确保在处理大量并发请求时,系统资源得到充分利用,不会出现因某个任务过长而阻塞其他任务的情况。
(5)在一个示例中,对于比对结果,采用统一的数据传输格式进行存储和展示,方便用户查看和分析。
附图说明
图1为本发明实施例示出的一种基于CPU并行计算的序列比对方法的流程图;
图2为本发明实施例示出的酵母序列比对示意图;
图3为本发明实施例示出的本发明与传统方法比对速度对比示意图。
具体实施方式
下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
参照图1,在一示例性实施例中,针对生产环境的高并发处理的第二代测序RNA-seq比对,提供一种基于CPU并行计算的序列比对方法,具体包括以下步骤:
1)在服务器端接收多用户同时提交的RNA-seq比对请求;
2)根据不同的RNA-seq比对请求创建多线程的比对子任务;
3)采用Go语言编写服务器程序,将各个比对子任务分配到不同的计算资源上进行并行比对,得到比对结果;其中,比对子任务的比对流程包括以下步骤:
3-1)从全局数据库中筛选出与目标序列相关的基因或蛋白质数据库子集,所述子集只包含与目标序列具有相似度的序列;
3-2)在本地计算机上,对子集中的序列构建本地库;
3-3)利用BLAST程序对本地库中的序列进行局部比对,以寻找与目标序列相似的序列。
本发明从宏观上考虑用户整个比对的流程,将客户端到服务器整个数据交互流程涉及的时间考虑进去,从用户感知层解决比对速度问题;CPU也可以并行计算,在处理序列比对计算上和GPU的速度差别人类感知不到,因为我们考虑的是服务端-客户端中多任务传输处理的并发性,即在web端服务器接收多个用户的同时请求执行多个序列比对任务。
具体地,在服务器端接收多用户同时提交的RNA-seq比对请求,为实现高效并发处理,采用Go语言编写服务器程序,充分利用Go语言在处理并发性方面的优势,将各个请求分配到不同的计算资源上进行并行处理,服务器程序在处理用户请求时,会根据请求的任务量和用户量动态调整数据传输和处理策略,确保系统在高负载情况下仍能保持良好的性能。
进一步地,所述采用Go语言编写服务器程序,包括:
基于Go语言的goroutine和channel特性使得程序同时处理多个用户的RNA-seq比对请求,而不会因为一个请求的处理阻塞其他请求。为实现高效并发处理,我们采用Go语言编写服务器程序。每个用户请求都会生成一个goroutine,这些goroutine并行运行,能够充分发挥多核服务器的计算能力。
在一个示例中,所述根据不同的RNA-seq比对请求创建多线程的比对子任务,包括:
基于物种→亚种→组装的多级索引快速生成多线程比对子任务。采用了多级比对策略,首先进行快速的预过滤,然后对可能的相似序列进行精确比对。这种策略既降低了计算复杂度,又保证了比对结果的准确性。具体地,这种策略是基于“物种(species)→亚种(subspecies)→组装(assembly)”的多级索引进行设计的。以酿酒酵母(Saccharomycescerevisiae)为例,首先,我们对每个物种的每个亚种的每个组装分别索引建库,形成一个索引树。如对于酿酒酵母,我们会对其亚种如S288C、IMF17、ySR128、L261等分别建立索引,再基于亚种对亚种下的参考基因组和其他组装(Assembly)派生索引,最后批量建库,当该物种有新组装产生,无需重建比对库,而是自动检测查询新数据后在我们的索引树的最小分支下添加叶子建库。接收到比对请求时,我们首先在物种级别的索引中进行搜索,找到匹配的物种后,再在该物种下的亚种级别索引中搜索,依此类推到组装,生成序列比对子任务集。这种多级索引策略大大提高了搜索的效率,并且能够充分发挥Go语言并发处理的能力。在物种、亚种和组装级别的索引搜索可以并行进行,而不需要按照顺序进行计算比对,从而大大提高了处理速度。
在一个示例中,所述比对子任务的比对流程,还包括:
3-4)根据比对子任务的实时进度,动态地调整goroutine的数量。具体地,根据比对任务的实时进度,实现任务在线程池中的动态调度和负载均衡。关于根据请求的任务量和用户量动态调整数据传输和处理策略,通过goroutine的数量来实现。可以根据当前的任务量和用户量,动态地增加或减少goroutine的数量,以此来调整系统的处理能力。当任务量和用户量增加时,增加goroutine的数量,以提高系统的处理能力;当任务量和用户量减少时,减少goroutine的数量,以降低系统资源的消耗。在比对过程中,根据比对任务的实时进度,通过使用goroutine和channel等Go语言特性,实现任务在线程池中的动态调度和负载均衡。这样可以确保在处理大量并发请求时,系统资源得到充分利用,不会出现因某个任务过长而阻塞其他任务的情况。
在一个示例中,所述步骤3-1)中可以使用多种方法筛选相关的序列,如:利用k-mer比对算法,选取包含目标序列k-mer的序列;利用蛋白质家族信息筛选与目标蛋白质家族相关的序列;利用物种信息筛选与目标物种相关的序列等。在生成blast库的时候,严格按模式生物、流行的亚种分类建库,减少无关序列数据的查询遍历。由于Go语言的并发处理能力可以很好地兼容处理算法带来的功耗带宽浪费问题,因此该算法能够充分发挥多核CPU的计算能力,在保证比对结果精准的同时最大化提高比对速度,实现更高效的数据处理。具体地,通过exec.Command方法创建进程执行比对任务。
在一个示例中,所述步骤3-2)中利用序列处理软件(如samtools、bedtools等)来构建本地库,并根据需要将其索引,以提高比对速度。步骤3-3)中,利用BLAST程序对本地库中的序列进行局部比对,以寻找与目标序列相似的序列。在这个过程中,可以根据具体需求设置合适的比对参数,以提高比对的准确性。
在一个示例中,一种基于CPU并行计算的序列比对方法,还包括步骤:
4)对于比对结果,采用统一的数据传输格式进行存储和展示,方便用户查看和分析。为了提高数据传输和处理效率,服务器程序会对结果进行压缩和缓存处理。
在一个示例中,为了验证本发明的优越性,我们在对比不同方法时,采用了从NCBI的nr数据库中随机选取的100个蛋白质序列作为目标序列,并从nr中选择与目标序列具有一定相似度的蛋白质序列,构建本地库。参照图2的流程,以酵母细分的酿酒酵母S288C和毕赤酵母GS115为例,通过严格按模式生物、流行的亚种分类建库,减少无关序列数据的查询遍历。包括本地比对较少库、本地比对全局库、网站在线BLAST等方法。结果表明,本地比对较少库方法比其他方法更快、更准确地找到相似序列。
在实际应用中,参照图3,我们使用模拟多个用户同时向web服务器发送100条序列比对请求的场景进行测试,横坐标表示序列比对请求的编号,纵坐标表示比对时间。结果显示,在同样的负载环境下,本方法从一个用户发送100条序列比对请求到返回所有结果报告列表比传统方法平均快10倍不止,这充分证明了本发明方法在处理高并发请求时具有显著提高比对速度的优势。解决传统方法处理多任务进程的序列数据的查询开销,用户切实能感受到网页端毫秒级的比对结果响应。对生化医药感兴趣的所有用户均可上手,傻瓜式操作比对。
本发明提供了一种通过高并发处理技术、分类建库和本地对比较少库的方法以提高序列比对速度的方法,大大降低了序列比对的时间和成本,可广泛应用于生物学研究和相关领域。这种方法在生物信息学领域具有很大的应用潜力,有望为研究者和实验室提供更高效、准确的序列比对工具。
在另一示例性实施例中,提供一种基于CPU并行计算的序列比对系统,包括:
比对请求接收模块,配置为在服务器端接收多用户同时提交的RNA-seq比对请求;
比对子任务创建模块,配置为根据不同的RNA-seq比对请求创建多线程的比对子任务;
比对模块,配置为采用Go语言编写服务器程序,将各个比对子任务分配到不同的计算资源上进行并行比对,得到比对结果;其中,比对子任务的比对流程包括以下步骤:
3-1)从全局数据库中筛选出与目标序列相关的基因或蛋白质数据库子集,所述子集只包含与目标序列具有相似度的序列;
3-2)在本地计算机上,对子集中的序列构建本地库;
3-3)利用BLAST程序对本地库中的序列进行局部比对,以寻找与目标序列相似的序列。
在另一示例性实施例中,本发明提供一种计算机存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述一种基于CPU并行计算的序列比对方法中相关内容。
基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在另一示例性实施例中,本发明提供一种终端,包括存储器和处理器,存储器上存储有可在处理器上运行的计算机指令,处理器运行计算机指令时执行所述一种基于CPU并行计算的序列比对方法中相关内容。
处理器可以是单核或者多核中央处理单元或者特定的集成电路,或者配置成实施本发明的一个或者多个集成电路。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的处理器包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
以上具体实施方式是对本发明的详细说明,不能认定本发明的具体实施方式只局限于这些说明,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演和替代,都应当视为属于本发明的保护范围。
Claims (10)
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并行计算的序列比对方法,其特征在于,所述步骤3-1)中利用k-mer比对算法进行子集筛选。
6.根据权利要求1所述的一种基于CPU并行计算的序列比对方法,其特征在于,所述步骤3-2)中利用序列处理软件来构建本地库,并将其索引。
7.根据权利要求1所述的一种基于CPU并行计算的序列比对方法,其特征在于,还包括步骤:
4)对于比对结果,采用统一的数据传输格式进行存储和展示。
8.一种基于CPU并行计算的序列比对系统,其特征在于,包括:
比对请求接收模块,配置为在服务器端接收多用户同时提交的RNA-seq比对请求;
比对子任务创建模块,配置为根据不同的RNA-seq比对请求创建多线程的比对子任务;
比对模块,配置为采用Go语言编写服务器程序,将各个比对子任务分配到不同的计算资源上进行并行比对,得到比对结果;其中,比对子任务的比对流程包括以下步骤:
3-1)从全局数据库中筛选出与目标序列相关的基因或蛋白质数据库子集,所述子集只包含与目标序列具有相似度的序列;
3-2)在本地计算机上,对子集中的序列构建本地库;
3-3)利用BLAST程序对本地库中的序列进行局部比对,以寻找与目标序列相似的序列。
9.一种计算机存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1-7中任意一项所述一种基于CPU并行计算的序列比对方法中相关内容。
10.一种终端,包括存储器和处理器,存储器上存储有可在处理器上运行的计算机指令,其特征在于,处理器运行计算机指令时执行权利要求1-7中任意一项所述一种基于CPU并行计算的序列比对方法中相关内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310708159.8A CN116450364B (zh) | 2023-06-15 | 2023-06-15 | 基于cpu并行计算的序列比对方法、系统、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310708159.8A CN116450364B (zh) | 2023-06-15 | 2023-06-15 | 基于cpu并行计算的序列比对方法、系统、存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116450364A true CN116450364A (zh) | 2023-07-18 |
CN116450364B CN116450364B (zh) | 2023-08-22 |
Family
ID=87125953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310708159.8A Active CN116450364B (zh) | 2023-06-15 | 2023-06-15 | 基于cpu并行计算的序列比对方法、系统、存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450364B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040059721A1 (en) * | 2002-09-23 | 2004-03-25 | Patzer Aaron Thomas | Multiple alignment genome sequence matching processor |
CN104239732A (zh) * | 2014-09-24 | 2014-12-24 | 湖南大学 | 一种运行于多核计算机平台的并行通用序列的比对方法 |
US20170068776A1 (en) * | 2014-03-04 | 2017-03-09 | Arc Bio, Llc | Methods and systems for biological sequence alignment |
CN109840142A (zh) * | 2018-12-15 | 2019-06-04 | 平安科技(深圳)有限公司 | 基于云监控的线程控制方法、装置、电子设备及存储介质 |
CN111241376A (zh) * | 2019-12-30 | 2020-06-05 | 广州高企云信息科技有限公司 | 多级信息匹配方法、装置及云服务平台 |
CN114064551A (zh) * | 2022-01-17 | 2022-02-18 | 广州嘉检医学检测有限公司 | 基于cpu+gpu异构的高并发序列比对计算加速方法 |
WO2022074034A1 (en) * | 2020-10-09 | 2022-04-14 | KWS SAAT SE & Co. KGaA | Haplotype-block-based imputation of genomic markers |
CN114564306A (zh) * | 2022-02-28 | 2022-05-31 | 桂林电子科技大学 | 一种基于GPU并行计算的第三代测序RNA-seq比对方法 |
CN115691673A (zh) * | 2022-10-25 | 2023-02-03 | 广东省农业科学院蔬菜研究所 | 一种端粒到端粒的基因组组装方法 |
-
2023
- 2023-06-15 CN CN202310708159.8A patent/CN116450364B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040059721A1 (en) * | 2002-09-23 | 2004-03-25 | Patzer Aaron Thomas | Multiple alignment genome sequence matching processor |
US20170068776A1 (en) * | 2014-03-04 | 2017-03-09 | Arc Bio, Llc | Methods and systems for biological sequence alignment |
CN104239732A (zh) * | 2014-09-24 | 2014-12-24 | 湖南大学 | 一种运行于多核计算机平台的并行通用序列的比对方法 |
CN109840142A (zh) * | 2018-12-15 | 2019-06-04 | 平安科技(深圳)有限公司 | 基于云监控的线程控制方法、装置、电子设备及存储介质 |
CN111241376A (zh) * | 2019-12-30 | 2020-06-05 | 广州高企云信息科技有限公司 | 多级信息匹配方法、装置及云服务平台 |
WO2022074034A1 (en) * | 2020-10-09 | 2022-04-14 | KWS SAAT SE & Co. KGaA | Haplotype-block-based imputation of genomic markers |
CN114064551A (zh) * | 2022-01-17 | 2022-02-18 | 广州嘉检医学检测有限公司 | 基于cpu+gpu异构的高并发序列比对计算加速方法 |
CN114564306A (zh) * | 2022-02-28 | 2022-05-31 | 桂林电子科技大学 | 一种基于GPU并行计算的第三代测序RNA-seq比对方法 |
CN115691673A (zh) * | 2022-10-25 | 2023-02-03 | 广东省农业科学院蔬菜研究所 | 一种端粒到端粒的基因组组装方法 |
Non-Patent Citations (3)
Title |
---|
ABHINAV NELLORE等: "Rail-RNA:scalable analysics of RNA-seq splicing and converage", 《BIOINFORMATICS》, vol. 33, no. 24, pages 4033 - 4044 * |
武乐等: "基于Snakemake的RNA-seq数据自动化分析流程RNApipe", 《华中农业大学学报》, vol. 41, no. 06, pages 143 - 151 * |
詹晓娟等: "高通量DNA测序数据的生物信息学方法", 《大数据》, vol. 2, no. 02, pages 76 - 87 * |
Also Published As
Publication number | Publication date |
---|---|
CN116450364B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Ensembling multiple raw coevolutionary features with deep residual neural networks for contact‐map prediction in CASP13 | |
Bazinet et al. | A comparative evaluation of sequence classification programs | |
Eggeling et al. | Inferring intra-motif dependencies of DNA binding sites from ChIP-seq data | |
Shen et al. | A deep learning model for RNA-protein binding preference prediction based on hierarchical LSTM and attention network | |
Chen et al. | CMSA: a heterogeneous CPU/GPU computing system for multiple similar RNA/DNA sequence alignment | |
Kudtarkar et al. | Cost-effective cloud computing: a case study using the comparative genomics tool, roundup | |
JP2021519472A (ja) | 対話システム間の知識共有方法、対話方法、知識共有装置、対話装置、電子機器及び記憶媒体 | |
Tanaka et al. | A multi-label approach using binary relevance and decision trees applied to functional genomics | |
Junaid et al. | Modeling an optimized approach for load balancing in cloud | |
Larsonneur et al. | Evaluating workflow management systems: A bioinformatics use case | |
Perešíni et al. | Nanopore base calling on the edge | |
Laccetti et al. | Performance enhancement of a dynamic K-means algorithm through a parallel adaptive strategy on multicore CPUs | |
Yao et al. | Cloud task scheduling algorithm based on improved genetic algorithm | |
Karlsson et al. | Enabling large-scale bioinformatics data analysis with cloud computing | |
US11494237B2 (en) | Managing workloads of a deep neural network processor | |
CN113256335B (zh) | 数据筛选方法、多媒体数据的投放效果预测方法及装置 | |
Wang et al. | MinimapR: A parallel alignment tool for the analysis of large-scale third-generation sequencing data | |
CN116450364B (zh) | 基于cpu并行计算的序列比对方法、系统、存储介质及终端 | |
Deng et al. | HiGene: A high-performance platform for genomic data analysis | |
US11461662B1 (en) | Compilation time reduction for memory and compute bound neural networks | |
CN116864002A (zh) | 多重聚合酶链式反应引物设计方法、装置、设备和介质 | |
JP7213890B2 (ja) | 高速化された大規模な類似度計算 | |
CN112579422A (zh) | 一种方案测试方法、装置、服务器及存储介质 | |
Schmalstieg et al. | Augmented reality–principles and practice tutorial | |
Chen et al. | Parallel sequence alignment algorithm for clustering system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |