基于FPGA的基因序列组装算法计算加速方法技术

技术编号:28983436 阅读:47 留言:0更新日期:2021-06-23 09:32
本发明专利技术公开了一种基于FPGA的基因序列组装算法计算加速方法,包括CPU和FPGA的异构计算平台,该方法包括以下步骤:1)过滤阶段,在CPU主机上将查询序列Kmer化得到一系列种子,然后依次寻找所有种子在参考序列区间上的匹配位置,即命中;然后对各个命中区间中种子重叠的碱基数目进行计数,挑选数量大于阈值的位置作为候选位置;2)扩展阶段,通过优化后的Smith‑Waterman算法,以候选位置作为起点开始扩展,通过CPU对矩阵的分块加以控制;FPGA对每个分块矩阵进行运算得到部分回溯路径;3)CPU将这些回溯路径依次进行拼接从而获取完整的回溯路径。本发明专利技术采用一种优化后的Smith‑Waterman算法,能大幅提高序列比对的运行速度。

【技术实现步骤摘要】
基于FPGA的基因序列组装算法计算加速方法
本专利技术涉及基因序列比对计算技术,尤其涉及一种基于FPGA的基因序列组装算法计算加速方法。
技术介绍
近年来,随着测序技术的快速发展,基因组数据的增长速度远远超过了摩尔定律,导致现有的计算机资源无法满足人们处理这些海量数据的需求。基因组组装作为处理这些海量数据的首要环节,如何优化或者加快组装过程是目前一个热门的话题。而序列比对作为基因组组装的重要环节之一,同时也在精准医疗领域发挥着重要作用。目前的序列比对算法大都基于种子与扩展策略,该策略相较于原始的比对算法,在进行比对计算前先通过滤波的方式筛选出未来比对结果可能出现的区域,然后在这些区域的范围内进行比对计算,从而避免计算整个范围造成的大量的时间和空间的资源浪费。根据该策略,目前主要的研究方向有以下几种:过滤技术优化、种子索引技术优化、对比算法优化以及使用硬件对对比算法进行加速。尽管基因组装的计算量极大,但当前大多基因组装的应用程序工具仍然停留在基于传统CPU平台开发。然而,由于CPU作为一种通用处理器,其硬件结构并非针对基因计算算法而专门设计的,导致面对大数据时代下的海量基因组数据使用CPU执行组装算法成为了瓶颈。与传统采用CPU并行或GPU硬件加速方式相比,利用FPGA实现硬件加速不仅能够更好地减少计算时间,而且能耗更低。本专利技术通过设计一个CPU+FPGA的异构计算平台实现对序列比对的加速,本专利技术由国家级大学生创新创业训练计划资助202010497040资助。
技术实现思路
本专利技术要解决的技术问题在于针对现有技术中的缺陷,提供一种基于FPGA的基因序列组装算法计算加速方法。本专利技术解决其技术问题所采用的技术方案是:一种基于FPGA的基因序列组装算法计算加速方法,包括CPU和FPGA的异构计算平台,该方法包括以下步骤:1)过滤阶段,在CPU主机上将查询序列Kmer化得到一系列种子,然后依次寻找所有种子在参考序列区间上的匹配位置,即命中;然后对各个命中区间中种子重叠的碱基数目进行计数,挑选数量大于阈值的位置作为候选位置;2)扩展阶段,通过优化后的Smith-Waterman算法,以候选位置作为起点开始扩展,通过CPU对矩阵的分块加以控制;FPGA对每个分块矩阵进行运算得到部分回溯路径;3)CPU将这些回溯路径依次进行拼接从而获取完整的回溯路径。按上述方案,所述步骤1)中寻找所有种子在参考序列区间上的匹配位置,具体如下:1.1)使用K大小的滑动窗口得到一系列查询序列种子,并将参考序列按固定大小进行分区;1.2)寻找种子在参考序列区间对角带上的命中位置。按上述方案,所述步骤1.2)通过使用基于哈希索引的数据结构的种子指针表和种子位置表完成,具体如下:使用相同的K大小滑动窗口得到参考序列种子,将这些种子的位置按顺序记录在种子位置表中,同时种子指针表记录每种类型种子在种子位置表的存储的起始位置;通过提前构造和填充好的种子指针表和种子位置表,寻找每个查询序列种子在参考序列上匹配的位置。按上述方案,所述步骤2)中优化的Smith-Waterman算法具体如下:2.1)以步骤1)中得到的候选位置作为起点,首先向左上方进行左扩展;2.2)在CPU中确定一个T×T大小的矩阵作为分块矩阵限定每次计算的范围,将当前分块矩阵大小和其位于初始矩阵中的位置信息传送给FPGA,以此来控制FPGA使用Smith-Waterman算法对这一个分块进行打分和回溯操作并将回溯结果返回给CPU,CPU再根据接收的回溯结果移动分块矩阵,确定下一次计算的区域;2.3)如果当前分块矩阵得到的回溯路径长度为0或者到达初始矩阵的边缘,则左扩展结束,CPU将每次分块矩阵的回溯路径按照顺序进行拼接得到最终回溯路径的左半部分;2.4)从同一个起点出发开始往右下方向进行扩展,具体流程类似上述步骤2.2),同样地,当右扩展结束时就能得到最终回溯路径的右半部分,最后将左右两部分进行拼接从而得到最终完整的回溯路径;其中,FPGA采用基于脉动阵列的硬件并行算法来实现Smith-Waterman的并行化计算。本专利技术产生的有益效果是:1、针对过滤阶段,使用基于对角带种子重叠碱基数的Filter算法实现过滤,同时引入哈希索引技术加快其中种子查找匹配位置的速度。2、针对扩展阶段,考虑到现有比对算法平方级的空间复杂度,导致FPGA在有限片上内存的限制下无法处理长序列,因此采用一种优化后的Smith-Waterman算法,使用分块将空间复杂度固定在某一常数级,从而更好地适用于硬件加速,然后使用FPGA实现比对步骤,通过硬件加速的方式大幅提高序列比对的运行速度。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术实施例的方法流程图;图2是本专利技术实施例的基于FPGA的基因序列组装算法计算加速原理图;图3是本专利技术实施例的Extend算法在进行左扩展时的示意图;图4是本专利技术实施例的FPGA上实现Smith-Waterman算法的并行计算加速硬件框架示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。如图1和图2所示,一种基于FPGA的基因序列组装算法计算加速方法,包括CPU和FPGA的异构计算平台,该方法包括以下步骤:1)Filter过滤阶段,在CPU主机上将查询序列Kmer化得到一系列种子,然后依次寻找所有种子在参考序列区间上的匹配位置,即命中;然后对各个命中区间中种子重叠的碱基数目进行计数,挑选数量大于阈值的位置作为候选位置;步骤1)具体包含如下步骤:1.1)使用k大小的滑动窗口得到一系列查询序列种子,并将参考序列按固定大小B个碱基为一组进行分区;1.2)构造和填充“种子指针表”和“种子位置表”,使用相同的滑动窗口得到参考序列种子,将这些种子的位置按顺序记录在种子位置表中,同时种子指针表记录每种类型种子在种子位置表的存储的起始位置;1.3)寻找每个查询序列种子在参考序列上匹配的位置,并通过提前构造和填充好的“种子指针表”和“种子位置表”对该步骤进行加速;1.4)对每个参考序列区间中种子重叠碱基进行计数,根据阈值筛选得到候选位置。2)Extend扩展阶段,通过优化后的Smith-Waterman算法,以候选位置作为起点开始扩展,通过CPU对矩阵的分块加以控制;FPGA对每个分块矩阵进行运算得到部分回溯路径;2.1)以步骤1)中得到的候选位置作为起点,确定完整的回溯路径的整个矩阵计算范围;2.2)通过CPU确定一个T×T大小的矩阵作为分块矩阵限定每次计算的范围,控制FPGA计算这一个分块并将回溯结果并返回CPU,CPU根据回溯结果移动分块矩阵并确定本文档来自技高网...

【技术保护点】
1.一种基于FPGA的基因序列组装算法计算加速方法,包括CPU和FPGA的异构计算平台,其特征在于,包括以下步骤:/n1)过滤阶段,在CPU主机上将查询序列Kmer化得到一系列种子,然后依次寻找所有种子在参考序列区间上的匹配位置,即命中;然后对各个命中区间中种子重叠的碱基数目进行计数,挑选数量大于阈值的位置作为候选位置;/n2)扩展阶段,通过优化后的Smith-Waterman算法,以候选位置作为起点开始扩展,通过CPU对矩阵的分块加以控制;FPGA对每个分块矩阵进行运算得到部分回溯路径;/n3)CPU将这些回溯路径依次进行拼接从而获取完整的回溯路径。/n

【技术特征摘要】
1.一种基于FPGA的基因序列组装算法计算加速方法,包括CPU和FPGA的异构计算平台,其特征在于,包括以下步骤:
1)过滤阶段,在CPU主机上将查询序列Kmer化得到一系列种子,然后依次寻找所有种子在参考序列区间上的匹配位置,即命中;然后对各个命中区间中种子重叠的碱基数目进行计数,挑选数量大于阈值的位置作为候选位置;
2)扩展阶段,通过优化后的Smith-Waterman算法,以候选位置作为起点开始扩展,通过CPU对矩阵的分块加以控制;FPGA对每个分块矩阵进行运算得到部分回溯路径;
3)CPU将这些回溯路径依次进行拼接从而获取完整的回溯路径。


2.根据权利要求1所述的基于FPGA的基因序列组装算法计算加速方法,其特征在于,所述步骤1)中寻找所有种子在参考序列区间上的匹配位置,具体如下:
1.1)使用K大小的滑动窗口得到一系列查询序列种子,并将参考序列按固定大小进行分区;
1.2)寻找种子在参考序列区间对角带上的命中位置。


3.根据权利要求2所述的基于FPGA的基因序列组装算法计算加速方法,其特征在于,所述步骤1.2)通过使用基于哈希索引的数据结构的种子指针表和种子位置表完成,具体如下:
使用相同的K大小滑动窗口得到参考序列种子,将这些种子的位置按顺序记录在种子位置表中...

【专利技术属性】
技术研发人员:柳星张敏杰蔡晨冉叶晓艺
申请(专利权)人:武汉理工大学
类型:发明
国别省市:湖北;42

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

1