CN108920902A - 一种基因序列处理方法及其相关设备 - Google Patents
一种基因序列处理方法及其相关设备 Download PDFInfo
- Publication number
- CN108920902A CN108920902A CN201810706544.8A CN201810706544A CN108920902A CN 108920902 A CN108920902 A CN 108920902A CN 201810706544 A CN201810706544 A CN 201810706544A CN 108920902 A CN108920902 A CN 108920902A
- Authority
- CN
- China
- Prior art keywords
- gene order
- gene
- fpga
- cpu
- matching
- 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.)
- Pending
Links
Landscapes
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Apparatus Associated With Microorganisms And Enzymes (AREA)
Abstract
本申请实施例公开了一种基因序列处理方法,用于在FPGA中对与参考基因序列完全匹配的第一基因序列进行基因比对后,CPU根据比对结果输出第一基因序列的信息。本申请实施例方法包括:现场可编程门阵列FPGA获取CPU发送的基因序列;所述FPGA根据预置的基因序列选取规则,确定所述基因序列中的第一基因序列;所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配;若所述第一基因序列与参考基因序列完全匹配,所述FPGA发送所述第一基因序列以及所述第一基因序列的匹配结果至所述CPU,所述匹配结果用于所述CPU确定对所述第一基因序列的信息进行输出处理。
Description
技术领域
本申请涉及化学领域,尤其涉及一种基因序列处理方法及其相关设备。
背景技术
在生物信息学中,对序列数据进行相似性比较,即基因比对,是一种基本的信息处理方法,基因比对就是运用某种特定的数学模型或算法,找出两个或多个序列之间的最大匹配碱基数,比对的结果反映了序列之间的相似性关系及它们的生物学特征。
目前的基因比对技术主要通过CPU利用BWA-MEM算法来实现,BWA-MEM算法通过对两个基因序列进行相似度的打分,分数越高,相似度越大。CPU对基因序列比对采用的是基因序列逐条比对的策略,完全匹配的基因序列在进行比对的时候,过程简单且耗时较少,而不完全匹配的序列其比对过程要更为复杂,耗时更多。
但是,对于比对过程简单的完全匹配基因序列,若利用CPU来进行基因序列的逐条比对,会大大降低基因比对速度。
发明内容
本申请实施例提供了一种基因序列处理方法,用于在FPGA中对与参考基因序列完全匹配的第一基因序列进行基因比对后,CPU根据比对结果输出第一基因序列的信息。
本申请第一方面提供了一种基因序列处理方法,包括:
现场可编程门阵列FPGA获取中央处理器CPU发送的基因序列;
所述FPGA根据预置的基因序列选取规则,确定所述基因序列中的第一基因序列;
所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配;
若所述第一基因序列与参考基因序列完全匹配,所述FPGA发送所述第一基因序列以及所述第一基因序列的匹配结果至所述CPU,所述匹配结果用于所述CPU确定对所述第一基因序列的信息进行输出处理。
基于第一方面,在第一方面的第一种可实现的方式中,所述FPGA根据预置的基因序列选取规则,确定所述基因序列中的第一基因序列包括:
所述FPGA根据最大精确度匹配原则,确定所述基因序列中与参考基因序列完全匹配的第二基因序列,所述第二基因序列的基因个数为N个,所述N为大于0的正整数;
所述FPGA将所述第二基因序列进行扩展,得到基因个数为N+X的所述第一基因序列,所述X为大于0的正整数。
基于第一方面及其第一方面的第一种可实现方式,在第一方面的第二种可实现的方式中,所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配包括:
所述FPGA将所述第一基因序列的碱基与所述参考基因序列中对应位置的碱基进行比对;
所述FPGA根据对比结果利用Smith-Waterman算法或Needleman-Wunsch对所述第一基因序列进行打分;
所述FPGA根据对比结果利用Smith-Waterman算法或Needleman-Wunsch对所述第一基因序列进行打分之后,所述方法还包括:
若所述第一基因序列的打分结果为预期打分结果,所述FPGA确定所述第一基因序列与参考基因序列完全匹配。
基于第一方面及其第一方面的第一种可实现方式,在第一方面的第三种可实现的方式中,所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配之后,所述方法还包括:
若所述第一基因序列与参考基因序列不完全匹配,所述FPGA发送所述第一基因序列至所述CPU,所述第一基因序列用于所述CPU确定按照BWA-MEM算法进行比对处理。
基于第一方面的第三种可实现方式,在第一方面的第四种可实现的方式中,所述第一基因序列与参考基因序列不完全匹配包括:所述第一基因序列的至少一个基因与所述参考基因序列中对应位置的基因不同或所述第一基因序列中的空位基因与所述参考基因序列中对应位置的基因不同。
本申请第二方面提供了一种基因序列处理方法,包括:
中央处理器CPU发送基因序列至现场可编程门阵列FPGA;
所述CPU接收所述FPGA根据预置的基因序列选取规则确定的所述基因序列中的第一基因序列;
所述CPU接收所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配确定的匹配结果;
若所述匹配结果为所述第一基因序列与参考基因序列完全匹配,所述CPU根据所述匹配结果确定对所述第一基因序列的信息进行输出处理。
基于第二方面,在第二方面的第一种可实现的方式中,所述CPU接收所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配确定的匹配结果之后,所述方法还包括:
若所述匹配结果为所述第一基因序列与参考基因序列不完全匹配,所述CPU确定对所述第一基因序列按照BWA-MEM算法进行比对处理。
基于第二方面的第一种可实现,在第二方面的第二种可实现的方式中,所述第一基因序列与参考基因序列不完全匹配包括:所述第一基因序列的至少一个基因与所述参考基因序列中对应位置的基因不同或所述第一基因序列中的空位基因与所述参考基因序列中对应位置的基因不同。
本申请第三方面提供了一种现场可编程门阵列FPGA,包括:
获取单元,用于获取中央处理器CPU发送的基因序列;
确定单元,用于根据预置的基因序列选取规则,确定所述基因序列中的第一基因序列;
匹配单元,用于通过预置算法将所述第一基因序列与参考基因序列进行匹配;
发送单元,若所述第一基因序列与参考基因序列完全匹配,用于发送所述第一基因序列以及所述第一基因序列的匹配结果至所述CPU,所述匹配结果用于所述CPU确定对所述第一基因序列的信息进行输出处理。
基于第三方面,在第三方面的第一种可实现的方式中,所述确定单元,具体用于根据最大精确度匹配原则,确定所述基因序列中与参考基因序列完全匹配的第二基因序列,所述第二基因序列的基因个数为N个,所述N为大于0的正整数;
将所述第二基因序列进行扩展,得到基因个数为N+X的所述第一基因序列,所述X为大于0的正整数。
基于第三方面及其第三方面的第一种可实现的方式,在第三方面的第二种可实现的方式中,所述匹配单元,具体用于将所述第一基因序列的碱基与所述参考基因序列中对应位置的碱基进行比对;
根据对比结果利用Smith-Waterman算法或Needleman-Wunsch对所述第一基因序列进行打分;
所述确定单元,还用于若所述第一基因序列的打分结果为预期打分结果,确定所述第一基因序列与参考基因序列完全匹配。
基于第三方面及其第三方面的第一种可实现的方式,在第三方面的第三种可实现的方式中,所述发送单元,还用于若所述第一基因序列与参考基因序列不完全匹配,所述FPGA发送所述第一基因序列至所述CPU,所述第一基因序列用于所述CPU确定按照BWA-MEM算法进行比对处理。
基于第三方面的第三种可实现的方式,在第三方面的第四种可实现的方式中,所述第一基因序列与参考基因序列不完全匹配包括:所述第一基因序列的至少一个基因与所述参考基因序列中对应位置的基因不同或所述第一基因序列中的空位基因与所述参考基因序列中对应位置的基因不同。
本申请第四方面提供了一种中央处理器CPU,包括:
发送单元,用于发送基因序列至现场可编程门阵列FPGA;
接收单元,用于接收所述FPGA根据预置的基因序列选取规则确定的所述基因序列中的第一基因序列;
所述接收单元,用于接收所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配确定的匹配结果;
输出处理单元,若所述匹配结果为所述第一基因序列与参考基因序列完全匹配,用于根据所述匹配结果确定对所述第一基因序列的信息进行输出处理。
基于第四方面,在第四方面的第一种可实现方式中,所述CPU还包括比对处理单元;
所述比对处理单元,用于若所述匹配结果为所述第一基因序列与参考基因序列不完全匹配,确定对所述第一基因序列按照BWA-MEM算法进行比对处理。
基于第四方面的第一种可实现方式,在第四方面的第二种可实现方式中,所述第一基因序列与参考基因序列不完全匹配包括:所述第一基因序列的至少一个基因与所述参考基因序列中对应位置的基因不同或所述第一基因序列中的空位基因与所述参考基因序列中对应位置的基因不同。
本申请第五方面提供了一种现场可编程门阵列FPGA,其特征在于,所述FPGA包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述收发器,用于获取中央处理器CPU发送的基因序列;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
根据预置的基因序列选取规则,确定所述基因序列中的第一基因序列;
通过预置算法将所述第一基因序列与参考基因序列进行匹配;
所述收发器,还用于若所述第一基因序列与参考基因序列完全匹配,发送所述第一基因序列以及所述第一基因序列的匹配结果至所述CPU,所述匹配结果用于所述CPU确定对所述第一基因序列的信息进行输出处理;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
基于第五方面,在第五方面的第一种可实现方式中,所述处理器,具体用于根据最大精确度匹配原则,确定所述基因序列中与参考基因序列完全匹配的第二基因序列,所述第二基因序列的基因个数为N个,所述N为大于0的正整数;
将所述第二基因序列进行扩展,得到基因个数为N+X的所述第一基因序列,所述X为大于0的正整数。
基于第五方面及其第五方面的第一种可实现方式,在第五方面的第二种可实现方式中,所述处理器,具体用于将所述第一基因序列的碱基与所述参考基因序列中对应位置的碱基进行比对;
根据对比结果利用Smith-Waterman算法或Needleman-Wunsch对所述第一基因序列进行打分;
所述处理器还用于,若所述第一基因序列的打分结果为预期打分结果,确定所述第一基因序列与参考基因序列完全匹配。
基于第五方面及其第五方面的第一种可实现方式,在第五方面的第三种可实现方式中,所述收发器,还用于若所述第一基因序列与参考基因序列不完全匹配,发送所述第一基因序列至所述CPU,所述第一基因序列用于所述CPU按照BWA-MEM算法进行比对处理。
基于第五方面的第三种可实现方式,在第五方面的第四种可实现方式中,所述第一基因序列与参考基因序列不完全匹配包括:所述第一基因序列的至少一个基因与所述参考基因序列中对应位置的基因不同或所述第一基因序列中的空位基因与所述参考基因序列中对应位置的基因不同。
本申请第六方面提供了一种中央处理器CPU,其所述CPU包括:存储器、收发器、子处理器以及总线系统;
其中,所述存储器用于存储程序;
所述收发器,用于发送基因序列至现场可编程门阵列FPGA;
所述收发器,还用于接收所述FPGA根据预置的基因序列选取规则确定的所述基因序列中的第一基因序列;
所述收发器,还用于接收所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配确定的匹配结果;
所述子处理器用于执行所述存储器中的程序,包括如下步骤:
若所述匹配结果为所述第一基因序列与参考基因序列完全匹配,根据所述匹配结果确定对所述第一基因序列的信息进行输出处理。
所述总线系统用于连接所述存储器以及所述子处理器,以使所述存储器以及所述子处理器进行通信。
基于第六方面,在第六方面的第一种可实现方式中,所述子处理器,还用于若所述匹配结果为所述第一基因序列与参考基因序列不完全匹配,确定对所述第一基因序列按照BWA-MEM算法进行比对处理。
基于第六方面的第一种可实现方式,在第六方面的第二种可实现方式中,所述第一基因序列与参考基因序列不完全匹配包括:所述第一基因序列的至少一个基因与所述参考基因序列中对应位置的基因不同或所述第一基因序列中的空位基因与所述参考基因序列中对应位置的基因不同。
本申请的第七方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的第八方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请实施例具有以下优点:本申请通过FPGA获取中央处理器CPU发送的基因序列,并,根据预置的基因序列选取规则,确定所述基因序列中的第一基因序列,通过预置算法将第一基因序列与参考基因序列进行匹配,确定匹配结果,并将匹配结果和第一基因序列发送至CPU,以使得CPU根据匹配结果确定对第一基因序列进行输出处理。本申请实施例中,由于FPGA能够多路并行地进行基因比对,通过将需要匹配的基因序列发送至FPGA,并在FPGA中进行比对,若第一基因序列与参考基因序列完全匹配,FPGA将第一基因序列及第一基因序列的匹配结果发送至CPU,从而使得CPU直接输出第一基因序列的信息,而不需要再进行第一基因序列的比对,通过FPGA对完全匹配的基因序列进行基因比对,能加快基因比对速度。
附图说明
图1(a)为本申请一种基因序列处理方法的一个实施例示意图;
图1(b)为本申请一种基因序列处理方法的另一个实施例示意图;
图2本申请一种参考基因序列与第一基因序列的可能组成情况;
图3本申请一种基因序列处理方法的另一个实施例示意图;
图4本申请一种基因序列处理方法的另一个实施例示意图;
图5本申请一种现场可编程门阵列FPGA的一种可能的结构;
图6本申请一种中央处理器CPU的一种可能的结构;
图7本申请一种现场可编程门阵列FPGA的另一种可能的结构;
图8本申请一种中央处理器CPU的另一种可能的结构。
具体实施方式
本申请实施例提供了一种基因序列处理方法,用于在FPGA中对与参考基因序列完全匹配的第一基因序列进行基因比对后,CPU根据比对结果输出第一基因序列的信息。
在本申请实施例中,现场可编程门阵列(英文全称:field-programmable gatearray,英文缩写:FPGA)和中央处理器(英文全称:central processing unit,英文缩写:CPU)可以为网络设备中的一个器件或单元,也可以为终端设备中的一个器件或单元,具体此处不作限定。
本申请可应用于基因组分析工具(英文全称:the genome analysis toolkit,英文缩写:GATK),CPU与FPG采用分工合作的方式,首先CPU确定出参考基因序列,并将参考基因序列以及需要比对的基因序列发送至FPGA,FPGA遵循最大精确度匹配从需要匹配的基因序列中选择短序列,对短序列进行筛选,剔除其中过长或过短的基因序列,剔除完成后对剩下的短序列进行扩展后得到第一基因序列,将第一基因序列与参考基因序列进行碱基比对,若参考基因序列中也存在一段连续的短序列与第一基因序列完全相同,则说明第一基因序列与参考基因序列完全匹配,此时第一基因序列已完成基因比对过程,将第一基因序列及其比对结果发送至CPU,CPU整合后输出即可。若参考基因序列中不存在一段连续的短序列与第一基因序列完全相同,则说明第一基因序列与参考基因序列不完全匹配,将第一基因序列发送至CPU,CPU运用BWA-MEM算法对第一基因序列进行基因比对后再将比对结果输出。
下面,请参照图1(a),对本申请实施例的一种基因序列处理方法进行说明。
101、现场可编程门阵列FPGA获取中央处理器CPU发送的基因序列。
首先CPU构建索引index,为参考基因序列构建BWT(英文全称:burrows wheelertransform)数组并存储相应的基因数据,参考基因序列应用于后续的基因比对过程。在本实施例中,参考基因序列只需要构建一次,后续使用时读取即可,构建参考基因序列也可以由FPGA执行,具体此处不作限定。
CPU将需要比对的基因序列以及参考基因序列发送至FPGA,可以采用总线和接口标准(英文全称:peripheral component interface express,英文缩写:PCIE)进行发送,也可以采用其他接口协议进行发送,具体此处不做限定。
102、FPGA根据预置的基因序列选取规则,确定基因序列中的第一基因序列。
FPGA收到需要匹配的基因序列后,将该基因序列与参考基因序列进行比较,寻找该基因序列中符合最大精确匹配原则的第二基因序列。
最大精确度匹配原则即:对比待匹配的基因序列与参考基因序列,将两者相同的短序列筛选出来。例如:比对待匹配基因序列与参考基因序列,发现碱基A匹配上,将A作为短序列储存,向后查找AC匹配,再将AC储存,再向后查找AAC匹配,则将AAC储存,依次向后查找直至完成待匹配基因序列中所有碱基的匹配,后续再对待匹配基因序列逆向地向前查找,最终筛选得到待匹配基因序列与参考基因序列中,存在连续碱基匹配的所有短序列并将其存储起来。
在本实施例中,将符合最大精确度匹配原则的短序列定义为第二基因序列,从需要匹配的基因序列中确定的第二基因序列的个数为至少一个。参照图2所示,参考基因序列为AACTCGTC,需要比对的基因序列是AACGTAGC,那么根据最大精确度匹配原则,确定第二基因序列A、AC、以及AAC,向后扩展发现AACG并不符合最大精确匹配,随后再从G开始查找,发现于参考基因序列的第六个碱基G匹配,向后查找发现GT也匹配,同时将GT向前扩展发现CGT也符合最大精确度匹配原则,因此CGT也为第二基因序列。
筛选得到符合最大精确度匹配原则的第二基因序列后,因为第二基因序列过长或第二基因序列过短都会降低基因比对的精确度,因此FPGA还可以对第二基因序列进行筛选,将第二基因序列中太长或者太短的序列舍弃。在本实施例中,第二基因序列的长度小于第一长度范围则认为第二基因序列过短,第二基因序列的长度大于第二长度范围则认为第二基因序列过长。
按照最大精确度匹配原则得到第二基因序列后,将第二基因序列进行扩展得到第一基因序列,可以将第二基因序列向前扩展X1位,也可以将第二基因序列向后扩展X2位,也可以同时将第二基因序列向前或向后扩展,扩展的方式具体此处不作限定,只需要满足扩展后的第一基因序列与参考基因序列的不匹配碱基数在误差容忍度范围即可,一旦超过这个容忍度范围,FPGA舍弃第一基因序列,不对其进行后续处理。
在本实施例中,误差容忍度范围的一种可能的情况为100bp-200bp个碱基中允许2个碱基与参考基因序列不匹配。
103、FPGA通过预置算法将第一基因序列与参考基因序列进行匹配。
FPGA将第一基因序列的碱基与参考基因序列对应位置的碱基进行比对,采用Smith-Waterman(英文简称:SW)算法或Needleman-Wunsch(英文简称:NW)算法对第一基因序列中每个碱基的匹配度进行打分,确定打分结果,再根据打分结果判断第一基因序列与参考基因序列是否完全匹配。
例如,第一基因序列中的某一碱基与参考基因序列中对应位置碱基相同,得分为a;第一基因序列中的某一碱基与参考基因序列中对应位置碱基不同,打分为b,第一基因序列中若存在空位,空位打分为c,随着第一基因序列的的不断扩展,会得到不同的分数,再根据参考序列的长度,可以得到预期的完全匹配分数,例如参考序列的长度为10,完全匹配时第一基因序列的打分为10a。
104、若第一基因序列与参考基因序列完全匹配,FPGA发送第一基因序列以及第一基因序列的匹配结果至CPU。
判断打分结果是否为预期的完全匹配分数,若是,第一基因序列与参考基因序列完全匹配,FPGA将第一基因序列以及第一基因序列的匹配结果发送至CPU,CPU侧不需要再对第一基因序列进行基因比对,直接整理第一基因序列的信息,生成扩展名为sam格式的文件后输出即可。
在本实施例中,将第二基因序列扩展后得到的第一基因序列与参考基因序列进行基因比对,两者可能完全匹配,也可能不完全匹配,例如,参照图2,上述参考基因序列为AACTCGTC,需要比对的基因序列是AACGTAGC,序列GT作为第二基因序列向后扩展一位得到GTA,显然与参考基因序列不完全匹配,若GT作为第二基因序列向前扩展一位得到CGT,则与参考基因序列可以达到完全匹配。可见,第二基因序列扩展的方式会影响匹配的结果。
在本实施例中,第一基因序列的信息包括第一基因序列的名称、碱基个数以及与参考基因序列的匹配状况,第一基因序列的信息还可以包括其他内容,具体此处不作限定。
在本实施例中,CPU将需要比对的基因序列发送至FPGA,可以将完全匹配的基因序列在FPGA上完成并行处理的基因比对过程,而CPU只需要接收完全匹配的第一基因序列及其匹配结果直接输出即可,加快了基因比对速度。
在本实施例中,由于完全匹配的基因序列进行基因比对是比较简单,FPGA具有并行处理数据的能力,因此在FPGA上可以并行处理完全匹配的基因序列,但是对于不完全匹配的基因序列,基因比对过程比较复杂,若继续在FPGA上进行处理,会导致FPGA运行缓慢,因此当第一基因序列与参考基因序列不完全匹配时,需要将第一基因序列回传至CPU,重新进行基因比对,请参照图1(b),下面进行说明。
101、现场可编程门阵列FPGA获取中央处理器CPU发送的基因序列。
102、FPGA根据预置的基因序列选取规则,确定基因序列中的第一基因序列。
103、FPGA通过预置算法将第一基因序列与参考基因序列进行匹配。
104、若第一基因序列与参考基因序列完全匹配,FPGA发送第一基因序列以及第一基因序列的匹配结果至CPU。
在本实施例中,实施例步骤101至104与上述图1(a)所示实施例步骤101至104类似,具体此处不再赘述。
105、若匹配结果为第一基因序列与参考基因序列不完全匹配,FPGA发送第一基因序列至CPU。
在本实施例中,第一基因序列与参考基因序列不完全匹配包含两种可能的情况:1、第一基因序列的至少一个基因与参考基因序列中对应位置的基因不同。
确定第一基因序列与参考基因序列的完全匹配的基因短序列后,再判断该短序列在第一基因序列中的向前和/或向后第k位,与该短序列在参考基因序列中对应的向前或向后第k位是否相同,K依次取1至无穷大的正整数。若不相同,则说明第一基因序列的至少一个基因与参考基因序列中对应位置的基因不同。例如,参照图2,参考基因序列为AACTCGTC,需要比对的基因序列是AACGTAGC,经比对发现连续的短序列AAC与参考基因序列相同,向后取碱基得到短序列AACG,参考序列中对应位置的碱基即AAC的后一位为碱基T,可见碱基G与碱基T不同。同样的还可以向后再取一位发现碱基C与碱基T也不同。
2、第一基因序列中的空位基因与参考基因序列中对应位置的基因不同。
确定第一基因序列与参考基因序列的完全匹配的基因短序列后,再基于第一基因序列,将该短序列在向前和/或向后扩展一位,判断扩展后的短序列是否包含空位,若是,由于参考基因序列中不包含空位(基于参考基因序列,将该短序列在向前和/或向后扩展一位后得到的为一个具体的碱基),从而第一基因序列的空位基因与参考基因序列中对应位置的基因不同。例如,参照图2,参考基因序列为AACTCGTC,需要比对的基因序列是AAC空GTAGC经比对发现连续的短序列AAC与参考基因序列相同,向后取碱基得到短序列AAC空,参考序列中对应位置的碱基即AAC的后一位为碱基T,可见空位基因与碱基T不同。
当第一基因序列与参考基因序列不完全匹配时,FPGA发送第一基因序列以及第一基因序列的匹配结果至CPU,从而使得CPU对不完全匹配的基因按照BWA-MEM算法进行基因比对处理,输出第一基因序列的信息及第一基因序列的比对结果,该比对结果中包含了第一基因序列与参考基因序列中相同碱基以及不同碱基的位置和名称等信息。
在本实施例中,FPGA判断需要比对的基因序列是否完全匹配后,通过将不完全匹配的基因交由CPU进行基因的比对过程,可以减轻FPGA的负载压力,同时由于FPGA与CPU硬件性能上的差异,FPGA只适合比较简单的基因比对过程,通过在CPU上进行比较复杂的不完全匹配基因的比对,也能加快基因比对速度。
上面从FPGA的角度对本申请实施例进行了叙述,请参照图3,下面将从CPU的角度本申请实施例进行说明。
301、中央处理器CPU发送基因序列至现场可编程门阵列FPGA。
首先CPU构建索引index,为参考基因序列构建BWT数组并存储相应的基因数据,参考基因序列应用于后续的基因比对过程。
在本实施例中,CPU发送基因序列至现场可编程门阵列FPGA的方式与上述实施例步骤101类似,具体此处不再赘述。
302、CPU接收FPGA根据预置的基因序列选取规则确定的基因序列中的第一基因序列。
在本实施例中,FPGA根据预置的基因序列选取规则确定的基因序列中的第一基因序列的方式与上述实施例步骤102类似,具体此处不再赘述。
303、CPU接收FPGA通过预置算法将第一基因序列与参考基因序列进行匹配确定的匹配结果。
在本实施例中FPGA通过预置算法将第一基因序列与参考基因序列进行匹配的方式以及匹配结果的确定方式与实施例步骤103类似,具体此处不再赘述。
在本实施例中,实施例步骤302与实施例步骤303没有执行上的先后顺序,可以先执行实施例步骤302,也可以先执行实施例步骤303,具体此处不作限定。
304、CPU根据匹配结果确定对第一基因序列进行输出处理。
FPGA将第一基因序列以及第一基因序列的匹配结果发送至CPU,CPU不需要再对第一基因序列进行基因比对,直接整理第一基因序列的信息后,输出第一基因序列的信息即可。
在本实施例中,第一基因序列的信息包括第一基因序列的名称、碱基个数和与参考基因序列的匹配状况,第一基因序列的信息还可以包括其他内容,具体此处不作限定。
在本实施例中,CPU将需要比对的基因序列发送至FPGA,可以将完全匹配的基因序列在FPGA上完成并行处理的基因比对过程,而CPU只需要接收完全匹配的第一基因序列及其匹配结果输出即可,加快了基因比对速度。
可选的,若匹配结果为第一基因序列与参考基因序列不完全匹配,CPU确定对第一基因序列按照BWA-MEM算法进行比对处理。
在本实施例中,第一基因序列与参考基因序列不完全匹配的两种可能的情况与上述实施例步骤105类似,具体此处不再赘述。
CPU对不完全匹配的第一基因序列按照BWA-MEM算法进行基因比对处理,输出第一基因序列的信息及第一基因序列的比对结果。
在本实施例中,CPU对不完全匹配的第一基因序列按照BWA-MEM算法进行基因比对处理的具体过程为:确定第一基因序列中符合最大精确匹配原则的短序列,并对生成的短序列进行排序和过滤,筛选更加精确的短序列。对排序过滤后的短序列引用Smith-Waterman算法或Needleman-Wunsch算法进行扩展,并对各个短序列的匹配结果进行打分,生成短序列的比对结果。该比对结果中包含了第一基因序列与参考基因序列中相同碱基以及不同碱基的位置和名称等信息。
在本实施例中,通过将不完全匹配的基因交由CPU处理,可以减轻FPGA的负载压力,同时由于FPGA与CPU硬件性能上的差异,FPGA只适合比较简单的基因比对过程,通过在CPU上进行比较复杂的不完全匹配基因的比对,也能加快基因比对速度。
本申请实施例的基因比对是FPGA与CPU分工合作完成的,首先可以采用OpenCL语言完成基因比对算法的描述,分别生成在CPU上运行的主机端程序和FPGA上执行的Kernel(内核)程序。用GCC编译器对主机端程序进行编译,生成可以在CPU上执行的可执行文件,再运用Altera SDK for OpenCL工具对Kernel程序进行编译,生成可在FPGA上运行的AOCX文件。最后,在CPU上运行主机端程序,调用FPGA上的基因比对算法。请参照图4,下面将对FPGA与CPU的交互过程进行说明。
401、中央处理器CPU发送基因序列至现场可编程门阵列FPGA。
在本实施例中,实施例步骤401与上述实施例步骤301类似,具体此处不再赘述。
402、FPGA根据预置的基因序列选取规则,确定基因序列中的第一基因序列。
403、FPGA通过预置算法将第一基因序列与参考基因序列进行匹配。
404、若第一基因序列与参考基因序列完全匹配,FPGA发送第一基因序列以及第一基因序列的匹配结果至CPU。
在本实施例中,实施例步骤402至404与上述实施例步骤102至104类似,具体此处不再赘述。
405、CPU根据匹配结果确定对第一基因序列进行输出处理。
在本实施例中,实施例步骤405与上述实施例步骤304类似,具体此处不再赘述。
406、若匹配结果为第一基因序列与参考基因序列不完全匹配,FPGA发送第一基因序列至CPU。
407、CPU确定对第一基因序列按照BWA-MEM算法进行比对处理。
若匹配结果为第一基因序列与参考基因序列不完全匹配,CPU确定对第一基因序列按照BWA-MEM算法进行比对处理。比对处理的具体过程与上述实施例步骤304类似,具体此处不再赘述。
当第一基因序列与参考基因序列不完全匹配时,CPU还可以将第一基因序列的匹配结果也发送至FPGA。
在本实施例中,通过FPGA与CPU的分工合作,使得比对过程简单的完全匹配基因序列在FPGA上并行比对,对过程复杂的不完全匹配基因序列在CPU上并行比对,能加快基因比对的速度。
上面从基因序列处理方法的角度对本申请实施例进行了说明,请参照图5,下面将对本申请FPGA的结构进行介绍。
一种现场可编程门阵列FPGA,包括:
获取单元501,用于获取中央处理器CPU发送的基因序列;
确定单元502,用于根据预置的基因序列选取规则,确定所述基因序列中的第一基因序列;
匹配单元503,用于通过预置算法将所述第一基因序列与参考基因序列进行匹配;
发送单元504,若所述第一基因序列与参考基因序列完全匹配,用于发送所述第一基因序列以及所述第一基因序列的匹配结果至所述CPU,所述匹配结果用于所述CPU确定对所述第一基因序列的信息进行输出处理。
可选的,所述确定单元502,具体用于根据最大精确度匹配原则,确定所述基因序列中与参考基因序列完全匹配的第二基因序列,所述第二基因序列的基因个数为N个,所述N为大于0的正整数;
将所述第二基因序列进行扩展,得到基因个数为N+X的所述第一基因序列,所述X为大于0的正整数。
可选的,所述匹配单元503,具体用于将所述第一基因序列的碱基与所述参考基因序列中对应位置的碱基进行比对;
根据对比结果利用Smith-Waterman算法或Needleman-Wunsch对所述第一基因序列进行打分;
所述确定单元502,还用于若所述第一基因序列的打分结果为预期打分结果,确定所述第一基因序列与参考基因序列完全匹配。
可选的,所述发送单元504,还用于若所述第一基因序列与参考基因序列不完全匹配,所述FPGA发送所述第一基因序列至所述CPU,所述第一基因序列用于所述CPU确定按照BWA-MEM算法进行比对处理。
可选的,所述第一基因序列与参考基因序列不完全匹配包括:所述第一基因序列的至少一个基因与所述参考基因序列中对应位置的基因不同或所述第一基因序列中的空位基因与所述参考基因序列中对应位置的基因不同。
请参照图6,下面将对本申请CPU的结构进行介绍。
本申请还提供了一种中央处理器CPU,包括:
发送单元601,用于发送基因序列至现场可编程门阵列FPGA;
接收单元602,用于接收所述FPGA根据预置的基因序列选取规则确定的所述基因序列中的第一基因序列;
所述接收单元602,用于接收所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配确定的匹配结果;
输出处理单元603,若所述匹配结果为所述第一基因序列与参考基因序列完全匹配,用于根据所述匹配结果确定对所述第一基因序列的信息进行输出处理。
可选的,所述CPU还包括比对处理单元;
所述比对处理单元604,用于若所述匹配结果为所述第一基因序列与参考基因序列不完全匹配,确定对所述第一基因序列按照BWA-MEM算法进行比对处理。
可选的,所述第一基因序列与参考基因序列不完全匹配包括:所述第一基因序列的至少一个基因与所述参考基因序列中对应位置的基因不同或所述第一基因序列中的空位基因与所述参考基因序列中对应位置的基因不同。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部步骤。
接下来介绍本申请实施例提供的另一种可编程门阵列FPGA,请参阅图7所示,FPGA700包括:
接收器701、发射器702、处理器703和存储器704(其中网络设备700中的处理器703的数量可以一个或多个,图7中以一个处理器为例)。在本申请的一些实施例中,接收器701、发射器702、处理器703和存储器704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。
存储器704可以包括只读存储器和随机存取存储器,并向处理器703提供指令和数据。存储器704的一部分还可以包括非易失性随机存取存储器(英文全称:Non-VolatileRandom Access Memory,英文缩写:NVRAM)。存储器704存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
处理器703控制网络设备的操作,处理器703还可以称为中央处理单元(英文全称:Central Processing Unit,英文简称:CPU)。具体的应用中,网络设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器703中,或者由处理器703实现。处理器703可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器703中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器703可以是通用处理器、数字信号处理器(英文全称:digital signal processing,英文缩写:DSP)、专用集成电路(英文全称:Application Specific Integrated Circuit,英文缩写:ASIC)、现场可编程门阵列(英文全称:Field-Programmable Gate Array,英文缩写:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器704,处理器703读取存储器704中的信息,结合其硬件完成上述方法的步骤。
接收器701可用于接收输入的数字或字符信息,以及产生与网络设备的相关设置以及功能控制有关的信号输入,发射器702可包括显示屏等显示设备,发射器702可用于通过外接接口输出数字或字符信息。
本申请实施例中,处理器703,用于执行前述基因序列处理方法。
接下来介绍本申请实施例提供的另一种中央处理器CPU,请参阅图8所示,CPU 800包括:
接收器801、发射器802、子处理器803和存储器804(其中网络设备800中的子处理器803的数量可以一个或多个,图8中以一个子处理器为例)。在本申请的一些实施例中,接收器801、发射器802、子处理器803和存储器804可通过总线或其它方式连接,其中,图7中以通过总线连接为例。
存储器804可以包括只读存储器和随机存取存储器,并向子处理器803提供指令和数据。存储器804的一部分还可以包括非易失性随机存取存储器(英文全称:Non-VolatileRandom Access Memory,英文缩写:NVRAM)。存储器804存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
子处理器803控制网络设备的操作,子处理器803还可以称为中央处理单元(英文全称:Central Processing Unit,英文简称:CPU)。具体的应用中,网络设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于子处理器803中,或者由子处理器803实现。子处理器803可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过子处理器803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的子处理器803可以是通用子处理器、数字信号子处理器(英文全称:digital signalprocessing,英文缩写:DSP)、专用集成电路(英文全称:Application SpecificIntegrated Circuit,英文缩写:ASIC)、现场可编程门阵列(英文全称:Field-Programmable Gate Array,英文缩写:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用子处理器可以是微子处理器或者该子处理器也可以是任何常规的子处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码子处理器执行完成,或者用译码子处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器804,子处理器803读取存储器804中的信息,结合其硬件完成上述方法的步骤。
接收器801可用于接收输入的数字或字符信息,以及产生与网络设备的相关设置以及功能控制有关的信号输入,发射器802可包括显示屏等显示设备,发射器802可用于通过外接接口输出数字或字符信息。
本申请实施例中,子处理器803,用于执行前述基因序列处理方法。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
Claims (18)
1.一种基因序列处理方法,其特征在于,包括:
现场可编程门阵列FPGA获取CPU发送的基因序列;
所述FPGA根据预置的基因序列选取规则,确定所述基因序列中的第一基因序列;
所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配;
若所述第一基因序列与参考基因序列完全匹配,所述FPGA发送所述第一基因序列以及所述第一基因序列的匹配结果至所述CPU,所述匹配结果用于所述CPU确定对所述第一基因序列的信息进行输出处理。
2.根据权利要求1所述的方法,其特征在于,所述FPGA根据预置的基因序列选取规则,确定所述基因序列中的第一基因序列包括:
所述FPGA根据最大精确度匹配原则,确定所述基因序列中与参考基因序列完全匹配的第二基因序列,所述第二基因序列的基因个数为N个,所述N为大于0的正整数;
所述FPGA将所述第二基因序列进行扩展,得到基因个数为N+X的所述第一基因序列,所述X为大于0的正整数。
3.根据权利要求1或2所述的方法,其特征在于,所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配包括:
所述FPGA将所述第一基因序列的碱基与所述参考基因序列中对应位置的碱基进行比对;
所述FPGA根据对比结果利用Smith-Waterman算法或Needleman-Wunsch对所述第一基因序列进行打分;
所述FPGA根据对比结果利用Smith-Waterman算法或Needleman-Wunsch对所述第一基因序列进行打分之后,所述方法还包括:
若所述第一基因序列的打分结果为预期打分结果,所述FPGA确定所述第一基因序列与参考基因序列完全匹配。
4.根据权利要求1或2所述的方法,其特征在于,所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配之后,所述方法还包括:
若所述第一基因序列与参考基因序列不完全匹配,所述FPGA发送所述第一基因序列至所述CPU,所述第一基因序列用于所述CPU确定按照BWA-MEM算法进行比对处理。
5.根据权利要求4所述的方法,其特征在于,所述第一基因序列与参考基因序列不完全匹配包括:所述第一基因序列的至少一个基因与所述参考基因序列中对应位置的基因不同或所述第一基因序列中的空位基因与所述参考基因序列中对应位置的基因不同。
6.一种基因序列处理方法,其特征在于,包括:
CPU发送基因序列至现场可编程门阵列FPGA;
所述CPU接收所述FPGA根据预置的基因序列选取规则确定的所述基因序列中的第一基因序列;
所述CPU接收所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配确定的匹配结果;
若所述匹配结果为所述第一基因序列与参考基因序列完全匹配,所述CPU根据所述匹配结果确定对所述第一基因序列的信息进行输出处理。
7.根据权利要求6所述的方法,其特征在于,所述CPU接收所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配确定的匹配结果之后,所述方法还包括:
若所述匹配结果为所述第一基因序列与参考基因序列不完全匹配,所述CPU确定对所述第一基因序列按照BWA-MEM算法进行比对处理。
8.根据权利要求7所述的方法,其特征在于,所述第一基因序列与参考基因序列不完全匹配包括:所述第一基因序列的至少一个基因与所述参考基因序列中对应位置的基因不同或所述第一基因序列中的空位基因与所述参考基因序列中对应位置的基因不同。
9.一种现场可编程门阵列FPGA,其特征在于,包括:
获取单元,用于获取中央处理器CPU发送的基因序列;
确定单元,用于利用所述FPGA根据预置的基因序列选取规则,确定所述基因序列中的第一基因序列;
匹配单元,用于通过预置算法将所述第一基因序列与参考基因序列进行匹配;
发送单元,若所述第一基因序列与参考基因序列完全匹配,用于发送所述第一基因序列以及所述第一基因序列的匹配结果至所述CPU,所述匹配结果用于所述CPU确定对所述第一基因序列的信息进行输出处理。
10.一种中央处理器CPU,其特征在于,包括:
发送单元,用于发送基因序列至现场可编程门阵列FPGA;
接收单元,用于接收所述FPGA根据预置的基因序列选取规则确定的所述基因序列中的第一基因序列;
所述接收单元,用于接收所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配确定的匹配结果;
输出处理单元,若所述匹配结果为所述第一基因序列与参考基因序列完全匹配,用于根据所述匹配结果确定对所述第一基因序列的信息进行输出处理。
11.一种现场可编程门阵列FPGA,其特征在于,所述FPGA包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述收发器,用于获取中央处理器CPU发送的基因序列;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
根据预置的基因序列选取规则,确定所述基因序列中的第一基因序列;
通过预置算法将所述第一基因序列与参考基因序列进行匹配;
所述收发器,还用于若所述第一基因序列与参考基因序列完全匹配,发送所述第一基因序列以及所述第一基因序列的匹配结果至所述CPU,所述匹配结果用于所述CPU确定对所述第一基因序列的信息进行输出处理;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
12.根据权利要求11所述的FPGA,其特征在于,所述处理器,具体用于根据最大精确度匹配原则,确定所述基因序列中与参考基因序列完全匹配的第二基因序列,所述第二基因序列的基因个数为N个,所述N为大于0的正整数;
将所述第二基因序列进行扩展,得到基因个数为N+X的所述第一基因序列,所述X为大于0的正整数。
13.根据权利要求11或12所述的FPGA,其特征在于,所述处理器,具体用于将所述第一基因序列的碱基与所述参考基因序列中对应位置的碱基进行比对;
根据对比结果利用Smith-Waterman算法或Needleman-Wunsch对所述第一基因序列进行打分;
所述处理器还用于,若所述第一基因序列的打分结果为预期打分结果,确定所述第一基因序列与参考基因序列完全匹配。
14.根据权利要求11或12所述的FPGA,其特征在于,所述收发器,还用于若所述第一基因序列与参考基因序列不完全匹配,发送所述第一基因序列至所述CPU,所述第一基因序列用于所述CPU确定按照BWA-MEM算法进行比对处理。
15.根据权利要求14所述的FPGA,其特征在于,所述第一基因序列与参考基因序列不完全匹配包括:所述第一基因序列的至少一个基因与所述参考基因序列中对应位置的基因不同或所述第一基因序列中的空位基因与所述参考基因序列中对应位置的基因不同。
16.一种中央处理器CPU,其特征在于,所述CPU包括:存储器、收发器、子处理器以及总线系统;
其中,所述存储器用于存储程序;
所述收发器,用于发送基因序列至现场可编程门阵列FPGA;
所述收发器,还用于接收所述FPGA根据预置的基因序列选取规则确定的所述基因序列中的第一基因序列;
所述收发器,还用于接收所述FPGA通过预置算法将所述第一基因序列与参考基因序列进行匹配确定的匹配结果;
所述子处理器用于执行所述存储器中的程序,包括如下步骤:
若所述匹配结果为所述第一基因序列与参考基因序列完全匹配,根据所述匹配结果确定对所述第一基因序列的信息进行输出处理;
所述总线系统用于连接所述存储器以及所述子处理器,以使所述存储器以及所述子处理器进行通信。
17.根据权利要求16所述的CPU,其特征在于,所述子处理器,还用于若所述匹配结果为所述第一基因序列与参考基因序列不完全匹配,确定对所述第一基因序列按照
BWA-MEM算法进行比对处理。
18.根据权利要求17所述的CPU,其特征在于,所述第一基因序列与参考基因序列不完全匹配包括:所述第一基因序列的至少一个基因与所述参考基因序列中对应位置的基因不同或所述第一基因序列中的空位基因与所述参考基因序列中对应位置的基因不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810706544.8A CN108920902A (zh) | 2018-06-29 | 2018-06-29 | 一种基因序列处理方法及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810706544.8A CN108920902A (zh) | 2018-06-29 | 2018-06-29 | 一种基因序列处理方法及其相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108920902A true CN108920902A (zh) | 2018-11-30 |
Family
ID=64422895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810706544.8A Pending CN108920902A (zh) | 2018-06-29 | 2018-06-29 | 一种基因序列处理方法及其相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108920902A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785905A (zh) * | 2018-12-18 | 2019-05-21 | 中国科学院计算技术研究所 | 一种面向基因比对算法的加速装置 |
CN110797087A (zh) * | 2019-10-17 | 2020-02-14 | 南京医基云医疗数据研究院有限公司 | 测序序列处理方法及装置、存储介质、电子设备 |
CN112416431A (zh) * | 2020-11-23 | 2021-02-26 | 南京航空航天大学 | 一种基于编码序列表示的源代码片段成对比较方法 |
CN114334008A (zh) * | 2022-01-24 | 2022-04-12 | 广州明领基因科技有限公司 | 基于fpga的基因测序加速比对方法及装置 |
CN114694753A (zh) * | 2022-03-18 | 2022-07-01 | 深圳华大医学检验实验室 | 一种核酸序列比对方法、装置、设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222175A (zh) * | 2011-05-06 | 2011-10-19 | 西南大学 | 一种与miRNA相关的功能性分子标记的开发方法 |
US20140297196A1 (en) * | 2013-03-15 | 2014-10-02 | Pico Computing, Inc. | Hardware Acceleration of Short Read Mapping for Genomic and Other Types of Analyses |
CN106778077A (zh) * | 2016-11-10 | 2017-05-31 | 电子科技大学 | 一种将Smith‑Waterman算法在FPGA平台实现的新方法 |
CN107256335A (zh) * | 2017-06-02 | 2017-10-17 | 肖传乐 | 一种基于全局种子打分优选的三代测序序列比对方法 |
CN107480466A (zh) * | 2017-07-06 | 2017-12-15 | 北京荣之联科技股份有限公司 | 基因组数据存储方法及电子设备 |
CN107798216A (zh) * | 2016-09-07 | 2018-03-13 | 中央研究院 | 采用分治法进行高相似性序列的比对方法 |
-
2018
- 2018-06-29 CN CN201810706544.8A patent/CN108920902A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222175A (zh) * | 2011-05-06 | 2011-10-19 | 西南大学 | 一种与miRNA相关的功能性分子标记的开发方法 |
US20140297196A1 (en) * | 2013-03-15 | 2014-10-02 | Pico Computing, Inc. | Hardware Acceleration of Short Read Mapping for Genomic and Other Types of Analyses |
CN107798216A (zh) * | 2016-09-07 | 2018-03-13 | 中央研究院 | 采用分治法进行高相似性序列的比对方法 |
CN106778077A (zh) * | 2016-11-10 | 2017-05-31 | 电子科技大学 | 一种将Smith‑Waterman算法在FPGA平台实现的新方法 |
CN107256335A (zh) * | 2017-06-02 | 2017-10-17 | 肖传乐 | 一种基于全局种子打分优选的三代测序序列比对方法 |
CN107480466A (zh) * | 2017-07-06 | 2017-12-15 | 北京荣之联科技股份有限公司 | 基因组数据存储方法及电子设备 |
Non-Patent Citations (2)
Title |
---|
ERNST JOACHIM HOUGAST ET AL.: "An fpga-based systolic array to accelerate the BWA-MEM genomic mapping algorithm", 《2015 INTERNATIONAL CONFERENCE ON EMBEDDED COMPUTER SYSTEM:ARCHITECTURES,MODELING,AND SIMULATION(SAMOS)》 * |
王文迪等: "基于hash索引的高通量基因序列比对并行加速技术研究", 《计算机研究与发展》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785905A (zh) * | 2018-12-18 | 2019-05-21 | 中国科学院计算技术研究所 | 一种面向基因比对算法的加速装置 |
CN109785905B (zh) * | 2018-12-18 | 2021-07-23 | 中国科学院计算技术研究所 | 一种面向基因比对算法的加速装置 |
CN110797087A (zh) * | 2019-10-17 | 2020-02-14 | 南京医基云医疗数据研究院有限公司 | 测序序列处理方法及装置、存储介质、电子设备 |
CN110797087B (zh) * | 2019-10-17 | 2020-11-03 | 南京医基云医疗数据研究院有限公司 | 测序序列处理方法及装置、存储介质、电子设备 |
CN112416431A (zh) * | 2020-11-23 | 2021-02-26 | 南京航空航天大学 | 一种基于编码序列表示的源代码片段成对比较方法 |
CN112416431B (zh) * | 2020-11-23 | 2023-02-14 | 南京航空航天大学 | 一种基于编码序列表示的源代码片段成对比较方法 |
CN114334008A (zh) * | 2022-01-24 | 2022-04-12 | 广州明领基因科技有限公司 | 基于fpga的基因测序加速比对方法及装置 |
CN114334008B (zh) * | 2022-01-24 | 2022-08-02 | 广州明领基因科技有限公司 | 基于fpga的基因测序加速比对方法及装置 |
CN114694753A (zh) * | 2022-03-18 | 2022-07-01 | 深圳华大医学检验实验室 | 一种核酸序列比对方法、装置、设备及可读存储介质 |
CN114694753B (zh) * | 2022-03-18 | 2023-04-07 | 深圳华大医学检验实验室 | 一种核酸序列比对方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108920902A (zh) | 一种基因序列处理方法及其相关设备 | |
KR102457669B1 (ko) | 2차 및/또는 3차 프로세싱을 수행하기 위한 생물정보학 시스템, 장치, 및 방법 | |
US20210257052A1 (en) | Bioinformatics Systems, Apparatuses, and Methods for Performing Secondary and/or Tertiary Processing | |
US20240185958A1 (en) | Bioinformatics Systems, Apparatuses, and Methods Executed on an Integrated Circuit Processing Platform | |
US20210183468A1 (en) | Bioinformatics Systems, Apparatuses, and Methods for Performing Secondary and/or Tertiary Processing | |
JP7308616B2 (ja) | オンサイトまたはクラウドベースのdnaおよびrnaの処理と分析のためのゲノムインフラストラクチャ | |
US10068183B1 (en) | Bioinformatics systems, apparatuses, and methods executed on a quantum processing platform | |
EP3602297B1 (en) | Systems and methods for performing data processing operations using variable level parallelism | |
Sadasivan | Accelerated Systems for Portable DNA Sequencing | |
WO2017214320A1 (en) | Bioinformatics systems, apparatus, and methods for performing secondary and/or tertiary processing | |
US10810338B1 (en) | Method and device for generating boundary-scan interconnection lines | |
CN109977675A (zh) | 一种开源软件识别方法及装置 | |
Srivastava et al. | Semantic workflows for benchmark challenges: Enhancing comparability, reusability and reproducibility | |
WO2023071566A1 (zh) | 数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
CN111949500B (zh) | 资源匹配方法、装置、电子设备及可读存储介质 | |
RU2799750C9 (ru) | Биоинформационные системы, устройства и способы для выполнения вторичной и/или третичной обработки | |
US8561018B2 (en) | Method of generating intermediate module between higher-level module and lower level module | |
CN108664765A (zh) | 一种dna检测的方法、装置及终端设备 | |
RU2804029C2 (ru) | Геномная инфраструктура для локальной и облачной обработки и анализа днк и рнк | |
CN115373928A (zh) | 一种debug方法、控制器、系统、电子设备及存储介质 | |
Galanos et al. | An FPGA-Based Data Pre-Processing Architecture to Accelerate De-Novo Genome Assembly | |
CN117408201A (zh) | 一种信号与管脚匹配的方法 | |
NZ789137A (en) | Bioinformatics systems, apparatus, and methods for performing secondary and/or tertiary processing | |
CN116595239A (zh) | 搜索内容重排序的确定方法、装置、设备及存储介质 | |
NZ789138A (en) | Bioinformatics systems, apparatus, and methods for performing secondary and/or tertiary processing |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181130 |
|
RJ01 | Rejection of invention patent application after publication |