[发明专利]基于FPGA的基因序列组装算法计算加速方法有效
申请号: | 202011484784.1 | 申请日: | 2020-12-16 |
公开(公告)号: | CN113012760B | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 柳星;张敏杰;蔡晨冉;叶晓艺 | 申请(专利权)人: | 武汉理工大学 |
主分类号: | G16B30/20 | 分类号: | G16B30/20;G16B30/10;G16B40/00 |
代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 李丹 |
地址: | 430070 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 基因 序列 组装 算法 计算 加速 方法 | ||
1.一种基于FPGA的基因序列组装算法计算加速方法,包括CPU和FPGA的异构计算平台,其特征在于,包括以下步骤:
1)过滤阶段,在CPU主机上将查询序列Kmer化得到一系列种子,然后依次寻找所有种子在参考序列区间上的匹配位置,即命中;然后对各个命中区间中种子重叠的碱基数目进行计数,挑选数量大于阈值的位置作为候选位置;
2)扩展阶段,通过优化后的Smith-Waterman算法,以候选位置作为起点开始扩展,通过CPU对矩阵的分块加以控制;FPGA对每个分块矩阵进行运算得到部分回溯路径;
步骤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的并行化计算;
3)CPU将这些回溯路径依次进行拼接从而获取完整的回溯路径。
2.根据权利要求1所述的基于FPGA的基因序列组装算法计算加速方法,其特征在于,所述步骤1)中寻找所有种子在参考序列区间上的匹配位置,具体如下:
1.1)使用K大小的滑动窗口得到一系列查询序列种子,并将参考序列按固定大小进行分区;
1.2)寻找种子在参考序列区间对角带上的命中位置。
3.根据权利要求2所述的基于FPGA的基因序列组装算法计算加速方法,其特征在于,所述步骤1.2)通过使用基于哈希索引的数据结构的种子指针表和种子位置表完成,具体如下:
使用相同的K大小滑动窗口得到参考序列种子,将这些种子的位置按顺序记录在种子位置表中,同时种子指针表记录每种类型种子在种子位置表的存储的起始位置;
通过提前构造和填充好的种子指针表和种子位置表,寻找每个查询序列种子在参考序列上匹配的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉理工大学,未经武汉理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011484784.1/1.html,转载请声明来源钻瓜专利网。