CN108875301B - 一种基因序列比对方法、pe配置控制器及可读存储介质 - Google Patents
一种基因序列比对方法、pe配置控制器及可读存储介质 Download PDFInfo
- Publication number
- CN108875301B CN108875301B CN201810581126.0A CN201810581126A CN108875301B CN 108875301 B CN108875301 B CN 108875301B CN 201810581126 A CN201810581126 A CN 201810581126A CN 108875301 B CN108875301 B CN 108875301B
- Authority
- CN
- China
- Prior art keywords
- array
- base sequence
- sequence
- target
- length value
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 108090000623 proteins and genes Proteins 0.000 title claims abstract description 43
- 238000003491 array Methods 0.000 claims description 14
- 238000002864 sequence alignment Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241001632422 Radiola linoides Species 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 231100000915 pathological change Toxicity 0.000 description 1
- 230000036285 pathological change Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Landscapes
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明实施例公开了一种基因序列比对方法、PE配置控制器及计算机可读存储介质。其中,方法包括选取PE阵列中数量值与第一碱基序列、第二碱基序列和第三碱基序列的长度值分别相同的目标PE阵列,并根据第一碱基序列的长度值为第二类目标PE阵列和第三类目标PE阵列设置多路选择器的节点位置;依次比较当前种子序列的待扩展长度值和第一碱基序列、第二碱基序列和第三碱基序列之间的长度值大小关系,将当前种子序列发送至满足长度差值条件的目标PE阵列中进行扩展。本申请通过设置可变逻辑长度和物理长度的脉动阵列,根据种子序列的待扩展长度值选择PE数量合适的目标PE阵列进行扩展,提高了FPGA的资源利用率,提升了Smith‑Waterman序列比对算法打分阶段的处理性能。
Description
技术领域
本发明实施例涉及计算机技术与生物基因技术领域,特别是涉及一种基因序列比对方法、PE配置控制器及计算机可读存储介质。
背景技术
随着生物基因检测技术的迅速发展,通过将提取个人的基因进行基因序列的比对,可预测罹患多种疾病的可能性,锁定个人病变的基因,提前进行预防和治疗,具有重要的意义。
人类基因库目前约为30亿个碱基对,采用通用的计算机软件处理平台完成个人基因序列比对需要较长时间(几天),比对耗时太长,基因序列比对效率低下,已经不能满足用户对基因比对结果的快速,实时获取需求。为了提高基因比对效率,基因序列比对对计算平台的计算性能需求越来越高,将GPU、FPGA等各种高性能加速器逐渐应用其中。
FPGA(Field-Programmable Gate Array,现场可编程门阵列),它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,是一种新型的异构计算平台加速器件,由可编程的逻辑块和互联网络组成,可在不同逻辑下执行多个线程,实现流水线并行处理,具有较强的并行处理能力。FPGA在大数据处理领域具有诸多优势,如采用流水线方式实现并行计算、低功耗、动态可重构等。
Smith-Waterman序列比对算法为基因序列比对算法中比较经典和常用的一种寻找序列最优相似比较的算法。主要包括打分和回溯两个阶段。在FPGA板卡上实现Smith-Waterman算法时,现有技术通常将每个并行处理通道中的PE(Process Element,处理单元)数量设置为一个相同的固定值。当并行处理不同待扩展长度的种子序列时,待扩展长度较短的种子序列完成扩展后,需要延迟等待待扩展长度较长的种子序列扩展处理完毕。这种情况下,一些PE处在延迟等待的状态,导致PE的利用率很差,FPGA的资源利用率较低。
发明内容
本发明实施例的目的是提供一种基因序列比对方法、PE配置控制器及计算机可读存储介质,提高了FPGA的资源利用率,提升了Smith-Waterman序列比对算法打分阶段的处理性能。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种基因序列比对方法,基于FPGA板卡,包括:
获取待测基因,所述待测基因包括第一碱基序列、第二碱基序列和第三碱基序列,且所述第二碱基序列的长度值大于所述第一碱基序列的长度值,小于所述第三碱基序列的长度值;
选取PE阵列中数量值与第一碱基序列、第二碱基序列和第三碱基序列的长度值分别相同的目标PE阵列,并根据所述第一碱基序列的长度值为第二类目标PE阵列和第三类目标PE阵列设置多路选择器的节点位置;
依次比较当前种子序列的待扩展长度值和第一碱基序列、第二碱基序列和第三碱基序列之间的长度值大小关系,将所述当前种子序列发送至满足长度差值条件的目标PE阵列中进行扩展;
其中,第一类目标PE阵列中的PE数量值与所述第一碱基序列的长度值相同;所述第二类目标PE阵列中的PE数量值与所述第二碱基序列的长度值相同;所述第三类目标PE阵列中的PE数量值与所述第三碱基序列的长度值相同。
可选的,所述将所述当前种子序列发送至满足长度差值条件的目标PE阵列中进行扩展包括:
当所述当前种子序列的待扩展长度值小于所述第一碱基序列的长度值,将所述当前种子序列发送至所述第一类目标PE阵列中进行扩展;
当所述当前种子序列的待扩展长度值大于所述第一碱基序列的长度值,且小于所述第二碱基序列的长度值,将所述当前种子序列发送至所述第二类目标PE阵列中进行扩展;
当所述当前种子序列的待扩展长度值大于所述第二碱基序列的长度值,且小于所述第三碱基序列的长度值,将所述当前种子序列发送至所述第三类目标PE阵列中进行扩展。
可选的,还包括:
判断是否存在未分配种子序列的空闲目标PE阵列;
若是,则根据空闲目标PE阵列的PE数量值,选取符合所述长度差值条件的待分配种子序列,发送至所述空闲目标PE阵列中进行扩展。
可选的,所述根据所述第一碱基序列的长度值为第二类目标PE阵列和第三类目标PE阵列设置多路选择器的节点位置包括:
为所述第二类目标PE阵列设置第一多路选择器,所述第一多路选择器的节点位置分别设置在第k*m1,k=1,2,3…个PE之后,m1为所述第一类目标PE阵列的PE数量值;
为所述第三类目标PE阵列设置第二多路选择器,所述第二多路选择器的节点位置分别设置在第k*m1,k=1,2,3…个PE之后,和第k*m2,k=1,2,3…个PE之后,m2为所述第二类目标PE阵列的PE数量值。
可选的,所述第一类目标PE阵列的个数为多个,所述第二类目标PE阵列的个数为多个;所述第三类目标PE阵列的个数为多个。
本发明实施例另一方面提供了一种PE配置控制器,包括:
多路选择器设置模块,用于选取PE阵列中数量值与待测基因的第一碱基序列、第二碱基序列和第三碱基序列的长度值分别相同的目标PE阵列,并根据所述第一碱基序列的长度值为第二类目标PE阵列和第三类目标PE阵列设置多路选择器的节点位置;其中,第一类目标PE阵列中的PE数量值与所述第一碱基序列的长度值相同;所述第二类目标PE阵列中的PE数量值与所述第二碱基序列的长度值相同;所述第三类目标PE阵列中的PE数量值与所述第三碱基序列的长度值相同;所述第二碱基序列的长度值大于所述第一碱基序列的长度值,小于所述第三碱基序列的长度值;
PE阵列分配模块,用于比较当前种子序列的待扩展长度值和第一碱基序列、第二碱基序列和第三碱基序列之间的长度值大小关系,将所述当前种子序列发送至满足长度差值条件的目标PE阵列中进行扩展。
可选的,所述PE阵列分配模块包括:
第一分配子模块,用于当所述当前种子序列的待扩展长度值小于所述第一碱基序列的长度值,将所述当前种子序列发送至所述第一类目标PE阵列中进行扩展;
第二分配子模块,用于当所述当前种子序列的待扩展长度值大于所述第一碱基序列的长度值,且小于所述第二碱基序列的长度值,将所述当前种子序列发送至所述第二类目标PE阵列中进行扩展;
第三分配子模块,用于当所述当前种子序列的待扩展长度值大于所述第二碱基序列的长度值,且小于所述第三碱基序列的长度值,将所述当前种子序列发送至所述第三类目标PE阵列中进行扩展。
可选的,还包括空间PE阵列检测模块,具体包括:
判断子模块,用于判断是否存在未分配种子序列的空闲目标PE阵列;
分配子模块,用于当存在未分配种子序列的目标PE阵列,则根据空闲目标PE阵列的PE数量值,选取符合所述长度差值条件的待分配种子序列,发送至所述空闲目标PE阵列中进行扩展。
可选的,所述多路选择器设置模块包括:
第一配置子模块,用于为所述第二类目标PE阵列设置第一多路选择器,所述第一多路选择器的节点位置分别设置在第k*m1,k=1,2,3…个PE之后,m1为所述第一类目标PE阵列的PE数量值;
第二配置子模块,用于为所述第三类目标PE阵列设置第二多路选择器,所述第二多路选择器的节点位置分别设置在第k*m1,k=1,2,3…个PE之后,和第k*m2,k=1,2,3…个PE之后,m2为所述第二类目标PE阵列的PE数量值。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有基因序列比对程序,所述基因序列比对程序被处理器执行时实现如前任一项所述基因序列比对方法的步骤。
本申请提供的技术方案的优点在于,通过设置可变逻辑长度和物理长度的脉动阵列,根据种子序列的待扩展长度值选择PE数量合适的目标PE阵列进行扩展,能够实现最多的PE同时处于运行状态,直至所有种子序列扩展完成,使得各个PE阵列的处理负载均衡,减少了PE数量,提高了PE的利用率,批次处理不同待扩展长度的种子序列时,最小化了待扩展长度较短的种子序列的延迟等待,提高了FPGA的资源利用率,提升了Smith-Waterman序列比对算法打分阶段的处理性能。
此外,本发明实施例还针对基因序列比对方法提供了相应的实现PE配置控制器及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置、设备及计算机可读存储介质具有相应的优点。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基因序列比对方法的流程示意图;
图2为本发明实施例提供的一种可变逻辑和物理长度脉动阵列的结构示意图;
图3为本发明实施例提供的另一种基因序列比对方法的流程示意图;
图4为本发明实施例提供的PE配置控制器的一种具体实施方式结构图;
图5为本发明实施例提供的PE配置控制器的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先请参见图1,图1为本发明实施例提供的一种基因序列比对方法的流程示意图,基于FPGA板卡,本发明实施例可包括以下内容:
S101:获取待测基因。
待测基因中包括第一碱基序列、第二碱基序列和第三碱基序列,第一碱基序列、第二碱基序列和第三碱基序列为基因中的一些常用碱基,且第二碱基序列的长度值大于第一碱基序列的长度值,小于第三碱基序列的长度值。为了便于后续描述方便,第一碱基序列的长度值为m1、第二碱基序列的长度值为m2和第三碱基序列的长度值为m3,m1<m2<m3。
S102:选取PE阵列中数量值与第一碱基序列、第二碱基序列和第三碱基序列的长度值分别相同的目标PE阵列,并根据第一碱基序列的长度值为第二类目标PE阵列和第三类目标PE阵列设置多路选择器的节点位置。
根据FPGA板卡的PE资源情况,从中选择用于进行序列比对的PE阵列,可根据常用碱基的长度值进行选取,具体的,可选取PE阵列中PE数量值为m1的阵列作为第一类目标PE阵列,即第一类目标PE阵列中的PE数量值与第一碱基序列的长度值相同;选取PE阵列中PE数量值为m2的阵列作为第二类目标PE阵列;选取PE阵列中PE数量值为m3的阵列作为第三类目标PE阵列。第一类目标PE阵列、第二类目标PE阵列和第三类目标PE阵列可能为1个,也可能为多个,具体的个数由FPGA板卡的PE资源决定。例如,FPGA板卡中可包含N1个第一类目标PE阵列,N2个第二类目标PE阵列,N3个第三类目标PE阵列,N1、N2、N3不为0。
在通常采用的脉动阵列中插入多路选择器及一些逻辑控制,为多路选择器选择正确的结束点,可使待扩展长度较短的种子序列不需要遍历所有的PE,最小化等待延迟。这种可变逻辑长度脉动阵列以最小的资源消耗适应处理不同待扩展长度的种子序列。
种子序列为序列比对中的一段精确匹配,为等待扩展的序列。
在为各类目标PE阵列进行多路选择器的节点设置时,可根据下述方法:
针对第二类目标PE阵列,在为第二类目标PE阵列设置第一多路选择器,第一多路选择器的节点位置可分别设置在第k*m1个PE之后,k=1,2,3…。举例来说,当m2=8,m1=3,那么第一多路选择器的节点位置有两个,分别设置在第二类目标PE阵列的第三个PE之后、第六个PE之后。
针对第三类目标PE阵列,在为第三类目标PE阵列设置第二多路选择器,第二多路选择器的节点位置可分别设置在第k*m1,k=1,2,3…个PE之后,和第k*m2,k=1,2,3…个PE之后。举例来说,当m3=14,m2=8,m1=3,那么第二多路选择器的节点位置有5个,分别设置在第三类目标PE阵列的第3个PE之后、第6个PE之后、第8个之后、第9个之后、第12个之后。
S103:依次比较当前种子序列的待扩展长度值和第一碱基序列、第二碱基序列和第三碱基序列之间的长度值大小关系,将当前种子序列发送至满足长度差值条件的目标PE阵列中进行扩展。
利用多个不同数量的PE组合一起批次处理,可将脉动序列设置为可变物理长度脉动阵列。待扩展长度较长的种子序列由PE数量较多的阵列处理,待扩展长度较短的种子序列由PE数量较少的阵列处理。这样的处理方式不仅能够提高PE利用率,还能减少资源消耗,使FPGA可以放置更多的PE阵列。
在为每个种子序列选择用于扩展的PE阵列时,可依次比较每个种子序列的待扩展长度和常用碱基序列的长度,为其选择合适的PE阵列,长度差值条件可为种子序列的待扩展长度值和长度碱基长度值的大小关系,一种具体的实施方式可为:
当当前种子序列的待扩展长度值小于第一碱基序列的长度值,将当前种子序列发送至第一类目标PE阵列中进行扩展;
当当前种子序列的待扩展长度值大于第一碱基序列的长度值,且小于第二碱基序列的长度值,将当前种子序列发送至第二类目标PE阵列中进行扩展;
当当前种子序列的待扩展长度值大于第二碱基序列的长度值,且小于第三碱基序列的长度值,将当前种子序列发送至第三类目标PE阵列中进行扩展。
举例来说,当前种子序列的待扩展长度为m,
若m<m1,则将当前种子序列发送至第一类目标PE阵列中进行扩展,即将待扩展长度m满足m<m1的种子序列送入第一类目标PE阵列。
若m1<m<m2,将当前种子序列发送至第二类目标PE阵列中进行扩展;即将待扩展长度m满足m1<m<m2的种子序列送入第二类目标PE阵列。
若m2<m<m3,将当前种子序列发送至第三类目标PE阵列中进行扩展;即将待扩展长度m满足m2<m<m3的种子序列送入第三类目标PE阵列。
依次按照上述方法,为每个种子序列进行分配,直至处理完成所有种子序列。
本申请提供的脉动序列综合考虑可变逻辑长度脉动阵列和可变物理长度脉动阵列设计,设置得到可变逻辑和物理长度脉动阵列,请参阅图2所示的结构,这种结构可批次处理不同待扩展长度的种子序列,最优的配置是在FPGA板卡PE资源固定,PE数量不变的情况下,能够使最多的PE同时处于运行的状态,直至所有种子序列处理完毕。
在本发明实施例提供的技术方案中,通过设置可变逻辑长度和物理长度的脉动阵列,根据种子序列的待扩展长度值选择PE数量合适的目标PE阵列进行扩展,能够实现最多的PE同时处于运行状态,直至所有种子序列扩展完成,使得各个PE阵列的处理负载均衡,减少了PE数量,提高了PE的利用率,批次处理不同待扩展长度的种子序列时,最小化了待扩展长度较短的种子序列的延迟等待,提高了FPGA的资源利用率,提升了Smith-Waterman序列比对算法打分阶段的处理性能。
为了进一步提高PE的利用率,基于上述实施例,本申请还提供了另外一个实施例,请参见图3,具体的可包括以下内容:
S104:判断是否存在未分配种子序列的空闲目标PE阵列,若是,则执行S105。
S105:根据空闲目标PE阵列的PE数量值,选取符合长度差值条件的待分配种子序列,发送至空闲目标PE阵列中进行扩展。
空闲目标PE阵列为指没有执行任务的PE阵列,或者是已经执行完当前任务的PE阵列,也即没有处于工作状态的PE阵列。
举例来说,若第三类目标PE阵列中PE阵列还有剩余,对未分配种子序列进行扩展时,可选择待扩展长度m满足m2<m<m3的种子序列送入阵列中进行扩展。
若第二类目标PE阵列中PE阵列还有剩余,可选择待扩展长度m满足m1<m<m2的种子序列送入阵列中进行扩展。
若第一类目标PE阵列中PE阵列还有剩余,可选择待扩展长度m满足m<m1的种子序列送入阵列中进行扩展。
若某一阵列完成送入种子序列的扩展,则或者直接结束或者通过多路选择器的选择节点结束。之后可按照上述描述的方法S103-S105再次选择相应满足条件的种子序列送入PE阵列进行扩展,直至完成所有种子序列的扩展。
由上可知,本发明实施例及时检测有剩余的PE阵列,并为其分配满足条件的种子序列,有效的提高了PE阵列的利用率,从而提高FPGA的资源利用率。
本发明实施例还针对基因序列比对方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的PE配置控制器进行介绍,下文描述的PE配置控制器与上文描述的基因序列比对方法可相互对应参照。
请参见图4,图4为本发明实施例提供的PE配置控制器在一种具体实施方式下的结构图,具体可包括:
多路选择器设置模块401,用于选取PE阵列中数量值与待测基因的第一碱基序列、第二碱基序列和第三碱基序列的长度值分别相同的目标PE阵列,并根据第一碱基序列的长度值为第二类目标PE阵列和第三类目标PE阵列设置多路选择器的节点位置;其中,第一类目标PE阵列中的PE数量值与第一碱基序列的长度值相同;第二类目标PE阵列中的PE数量值与第二碱基序列的长度值相同;第三类目标PE阵列中的PE数量值与第三碱基序列的长度值相同;第二碱基序列的长度值大于第一碱基序列的长度值,小于第三碱基序列的长度值。
PE阵列分配模块402,用于比较当前种子序列的待扩展长度值和第一碱基序列、第二碱基序列和第三碱基序列之间的长度值大小关系,将当前种子序列发送至满足长度差值条件的目标PE阵列中进行扩展。
可选的,在一种具体的实施方式中,所述PE阵列分配模块402还可包括:
第一分配子模块,用于当所述当前种子序列的待扩展长度值小于所述第一碱基序列的长度值,将所述当前种子序列发送至所述第一类目标PE阵列中进行扩展;
第二分配子模块,用于当所述当前种子序列的待扩展长度值大于所述第一碱基序列的长度值,且小于所述第二碱基序列的长度值,将所述当前种子序列发送至所述第二类目标PE阵列中进行扩展;
第三分配子模块,用于当所述当前种子序列的待扩展长度值大于所述第二碱基序列的长度值,且小于所述第三碱基序列的长度值,将所述当前种子序列发送至所述第三类目标PE阵列中进行扩展。
此外,在一种具体的实施方式中,所述多路选择器设置模块402例如还可包括:
第一配置子模块,用于为所述第二类目标PE阵列设置第一多路选择器,所述第一多路选择器的节点位置分别设置在第k*m1,k=1,2,3…个PE之后,m1为所述第一类目标PE阵列的PE数量值;
第二配置子模块,用于为所述第三类目标PE阵列设置第二多路选择器,所述第二多路选择器的节点位置分别设置在第k*m1,k=1,2,3…个PE之后,和第k*m2,k=1,2,3…个PE之后,m2为所述第二类目标PE阵列的PE数量值。
可选的,在本实施例的一些实施方式中,请参阅图5,所述PE配置控制器例如还可以包括空间PE阵列检测模块403,具体可包括:
判断子模块,用于判断是否存在未分配种子序列的空闲目标PE阵列;
分配子模块,用于当存在未分配种子序列的目标PE阵列,则根据空闲目标PE阵列的PE数量值,选取符合所述长度差值条件的待分配种子序列,发送至所述空闲目标PE阵列中进行扩展。
本发明实施例所述PE配置控制器的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例提高了FPGA的资源利用率,提升了Smith-Waterman序列比对算法打分阶段的处理性能。
本发明实施例还提供了一种计算机可读存储介质,存储有基因序列比对程序,所述基因序列比对程序被处理器执行时如上任意一实施例所述基因序列比对方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例提高了FPGA的资源利用率,提升了Smith-Waterman序列比对算法打分阶段的处理性能。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种基因序列比对方法、PE配置控制器及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种基因序列比对方法,其特征在于,基于FPGA板卡,包括:
获取待测基因,所述待测基因包括第一碱基序列、第二碱基序列和第三碱基序列,且所述第二碱基序列的长度值大于所述第一碱基序列的长度值,小于所述第三碱基序列的长度值;
选取PE阵列中数量值与第一碱基序列、第二碱基序列和第三碱基序列的长度值分别相同的目标PE阵列,并根据所述第一碱基序列的长度值为第二类目标PE阵列和第三类目标PE阵列设置多路选择器的节点位置;
依次比较当前种子序列的待扩展长度值和第一碱基序列、第二碱基序列和第三碱基序列之间的长度值大小关系,将所述当前种子序列发送至满足长度差值条件的目标PE阵列中进行扩展;
其中,第一类目标PE阵列中的PE数量值与所述第一碱基序列的长度值相同;所述第二类目标PE阵列中的PE数量值与所述第二碱基序列的长度值相同;所述第三类目标PE阵列中的PE数量值与所述第三碱基序列的长度值相同;所述将所述当前种子序列发送至满足长度差值条件的目标PE阵列中进行扩展包括:
当所述当前种子序列的待扩展长度值小于所述第一碱基序列的长度值,将所述当前种子序列发送至所述第一类目标PE阵列中进行扩展;
当所述当前种子序列的待扩展长度值大于所述第一碱基序列的长度值,且小于所述第二碱基序列的长度值,将所述当前种子序列发送至所述第二类目标PE阵列中进行扩展;
当所述当前种子序列的待扩展长度值大于所述第二碱基序列的长度值,且小于所述第三碱基序列的长度值,将所述当前种子序列发送至所述第三类目标PE阵列中进行扩展。
2.根据权利要求1所述的基因序列比对方法,其特征在于,还包括:
判断是否存在未分配种子序列的空闲目标PE阵列;
若是,则根据空闲目标PE阵列的PE数量值,选取符合所述长度差值条件的待分配种子序列,发送至所述空闲目标PE阵列中进行扩展。
3.根据权利要求1或2所述的基因序列比对方法,其特征在于,所述根据所述第一碱基序列的长度值为第二类目标PE阵列和第三类目标PE阵列设置多路选择器的节点位置包括:
为所述第二类目标PE阵列设置第一多路选择器,所述第一多路选择器的节点位置分别设置在第k*m1,k=1,2,3…个PE之后,m1为所述第一类目标PE阵列的PE数量值;
为所述第三类目标PE阵列设置第二多路选择器,所述第二多路选择器的节点位置分别设置在第k*m1,k=1,2,3…个PE之后,和第k*m2,k=1,2,3…个PE之后,m2为所述第二类目标PE阵列的PE数量值。
4.根据权利要求3所述的基因序列比对方法,其特征在于,所述第一类目标PE阵列的个数为多个,所述第二类目标PE阵列的个数为多个;所述第三类目标PE阵列的个数为多个。
5.一种PE配置控制器,其特征在于,包括:
多路选择器设置模块,用于选取PE阵列中数量值与待测基因的第一碱基序列、第二碱基序列和第三碱基序列的长度值分别相同的目标PE阵列,并根据所述第一碱基序列的长度值为第二类目标PE阵列和第三类目标PE阵列设置多路选择器的节点位置;其中,第一类目标PE阵列中的PE数量值与所述第一碱基序列的长度值相同;所述第二类目标PE阵列中的PE数量值与所述第二碱基序列的长度值相同;所述第三类目标PE阵列中的PE数量值与所述第三碱基序列的长度值相同;所述第二碱基序列的长度值大于所述第一碱基序列的长度值,小于所述第三碱基序列的长度值;
PE阵列分配模块,用于比较当前种子序列的待扩展长度值和第一碱基序列、第二碱基序列和第三碱基序列之间的长度值大小关系,将所述当前种子序列发送至满足长度差值条件的目标PE阵列中进行扩展;
其中,所述PE阵列分配模块包括:
第一分配子模块,用于当所述当前种子序列的待扩展长度值小于所述第一碱基序列的长度值,将所述当前种子序列发送至所述第一类目标PE阵列中进行扩展;
第二分配子模块,用于当所述当前种子序列的待扩展长度值大于所述第一碱基序列的长度值,且小于所述第二碱基序列的长度值,将所述当前种子序列发送至所述第二类目标PE阵列中进行扩展;
第三分配子模块,用于当所述当前种子序列的待扩展长度值大于所述第二碱基序列的长度值,且小于所述第三碱基序列的长度值,将所述当前种子序列发送至所述第三类目标PE阵列中进行扩展。
6.根据权利要求5所述的PE配置控制器,其特征在于,还包括空间PE阵列检测模块,具体包括:
判断子模块,用于判断是否存在未分配种子序列的空闲目标PE阵列;
分配子模块,用于当存在未分配种子序列的目标PE阵列,则根据空闲目标PE阵列的PE数量值,选取符合所述长度差值条件的待分配种子序列,发送至所述空闲目标PE阵列中进行扩展。
7.根据权利要求5或6所述的PE配置控制器,其特征在于,所述多路选择器设置模块包括:
第一配置子模块,用于为所述第二类目标PE阵列设置第一多路选择器,所述第一多路选择器的节点位置分别设置在第k*m1,k=1,2,3…个PE之后,m1为所述第一类目标PE阵列的PE数量值;
第二配置子模块,用于为所述第三类目标PE阵列设置第二多路选择器,所述第二多路选择器的节点位置分别设置在第k*m1,k=1,2,3…个PE之后,和第k*m2,k=1,2,3…个PE之后,m2为所述第二类目标PE阵列的PE数量值。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基因序列比对程序,所述基因序列比对程序被处理器执行时实现如权利要求1至4任一项所述基因序列比对方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810581126.0A CN108875301B (zh) | 2018-06-07 | 2018-06-07 | 一种基因序列比对方法、pe配置控制器及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810581126.0A CN108875301B (zh) | 2018-06-07 | 2018-06-07 | 一种基因序列比对方法、pe配置控制器及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108875301A CN108875301A (zh) | 2018-11-23 |
CN108875301B true CN108875301B (zh) | 2021-10-22 |
Family
ID=64337274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810581126.0A Active CN108875301B (zh) | 2018-06-07 | 2018-06-07 | 一种基因序列比对方法、pe配置控制器及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108875301B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110473593A (zh) * | 2019-07-25 | 2019-11-19 | 深圳大学 | 一种基于FPGA的Smith-Waterman算法实现方法及装置 |
CN115910197B (zh) * | 2021-12-29 | 2024-03-22 | 上海智峪生物科技有限公司 | 基因序列处理方法、装置、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6983274B2 (en) * | 2002-09-23 | 2006-01-03 | Aaron Thomas Patzer | Multiple alignment genome sequence matching processor |
CN104239732A (zh) * | 2014-09-24 | 2014-12-24 | 湖南大学 | 一种运行于多核计算机平台的并行通用序列的比对方法 |
CN106778077A (zh) * | 2016-11-10 | 2017-05-31 | 电子科技大学 | 一种将Smith‑Waterman算法在FPGA平台实现的新方法 |
CN107267646A (zh) * | 2017-08-02 | 2017-10-20 | 广东国盛医学科技有限公司 | 一种基于下一代测序的多基因融合检测方法 |
CN107451427A (zh) * | 2017-07-27 | 2017-12-08 | 江苏微锐超算科技有限公司 | 一种可重构基因比对的计算系统及加速平台 |
CN107992721A (zh) * | 2017-11-10 | 2018-05-04 | 深圳裕策生物科技有限公司 | 用于检测目标区域基因融合的方法、装置和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120239706A1 (en) * | 2011-03-18 | 2012-09-20 | Los Alamos National Security, Llc | Computer-facilitated parallel information alignment and analysis |
US10443090B2 (en) * | 2014-11-25 | 2019-10-15 | Electronics And Telecommunications Research Institute | Method and apparatus for detecting translocation |
US20170270245A1 (en) * | 2016-01-11 | 2017-09-21 | Edico Genome, Corp. | Bioinformatics systems, apparatuses, and methods for performing secondary and/or tertiary processing |
-
2018
- 2018-06-07 CN CN201810581126.0A patent/CN108875301B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6983274B2 (en) * | 2002-09-23 | 2006-01-03 | Aaron Thomas Patzer | Multiple alignment genome sequence matching processor |
CN104239732A (zh) * | 2014-09-24 | 2014-12-24 | 湖南大学 | 一种运行于多核计算机平台的并行通用序列的比对方法 |
CN106778077A (zh) * | 2016-11-10 | 2017-05-31 | 电子科技大学 | 一种将Smith‑Waterman算法在FPGA平台实现的新方法 |
CN107451427A (zh) * | 2017-07-27 | 2017-12-08 | 江苏微锐超算科技有限公司 | 一种可重构基因比对的计算系统及加速平台 |
CN107267646A (zh) * | 2017-08-02 | 2017-10-20 | 广东国盛医学科技有限公司 | 一种基于下一代测序的多基因融合检测方法 |
CN107992721A (zh) * | 2017-11-10 | 2018-05-04 | 深圳裕策生物科技有限公司 | 用于检测目标区域基因融合的方法、装置和存储介质 |
Non-Patent Citations (1)
Title |
---|
基于异构系统的生物序列比对并行处理研究进展;朱香元等;《计算机科学》;20151130;第42卷(第11期);第390-395,399页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108875301A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3477556A1 (en) | Method and apparatus for performing operations in convolutional neural network | |
Houtgast et al. | An FPGA-based systolic array to accelerate the BWA-MEM genomic mapping algorithm | |
US9311157B2 (en) | Method and apparatus for dynamic resource allocation of processing units on a resource allocation plane having a time axis and a processing unit axis | |
WO2021088688A1 (zh) | 一种卷积加速运算方法、装置、存储介质及终端设备 | |
CN108875301B (zh) | 一种基因序列比对方法、pe配置控制器及可读存储介质 | |
CN109409514A (zh) | 卷积神经网络的定点运算方法、装置、设备和存储介质 | |
US20110295862A1 (en) | Early return of partial sort results in a database system | |
RU2016136985A (ru) | Архитектура с параллельными процессорами обработки дерева принятия решений | |
Jain et al. | An adaptive parallel algorithm for computing connected components | |
WO2017173968A1 (zh) | 用于基因分析的资源分配方法和装置 | |
CN111142938A (zh) | 一种异构芯片的任务处理方法、任务处理装置及电子设备 | |
CN108776897A (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN106528288A (zh) | 一种资源管理方法、装置和系统 | |
CN106339802A (zh) | 任务分配的方法和装置、电子设备 | |
CN105488134A (zh) | 大数据处理方法及大数据处理装置 | |
CN112241316A (zh) | 一种分布式调度应用的方法以及装置 | |
CN109800078B (zh) | 一种任务处理方法、任务分发终端及任务执行终端 | |
CN116684420A (zh) | 集群资源调度方法、装置、集群系统和可读存储介质 | |
CN106254470B (zh) | 分布式作业分片分配方法和装置 | |
CN106855825B (zh) | 一种任务处理方法及其装置 | |
US10101965B1 (en) | Method and apparatus for high speed streaming sorter | |
CN111985634B (zh) | 神经网络的运算方法、装置、计算机设备及存储介质 | |
CN107918676B (zh) | 结构化查询的资源优化方法及数据库查询系统 | |
CN116820709B (zh) | 任务链的运行方法、装置、终端及计算机存储介质 | |
US10592439B2 (en) | Arbitrating circuitry and method |
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 |