[发明专利]一种将Smith‑Waterman算法在FPGA平台实现的新方法在审
申请号: | 201611025162.6 | 申请日: | 2016-11-10 |
公开(公告)号: | CN106778077A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 陈观君;王忆文;黄柯 | 申请(专利权)人: | 电子科技大学;四川云合创智科技有限公司 |
主分类号: | G06F19/22 | 分类号: | G06F19/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 smith waterman 算法 fpga 平台 实现 新方法 | ||
技术领域
本发明涉及生物信息计算领域,特别涉及一种将Smith-Waterman算法在FPGA平台实现的新方法。
背景技术
生物信息学是生物学、医学、数学、计算机科学等多个学科的前沿交叉学科,具有重要的理论和应用价值。生物信息序列通常指的是通过基因测序技术得到的DNA、RNA序列,这些序列包含了该物种的遗传信息,通过对生物信息序列的分析处理得到的信息在医学疾病研究、生物进化研究等领域都具有重要的意义。
生物信息序列的处理流程中最为重要的是序列比对,同时也是耗时较久的一个流程,这是因为通常待比对物种基因碱基数量庞大,比如人类全基因组的总碱基个数大约是30亿,采用存储介质存储后,目标序列和参考序列所占用空间将达到数百GB,另一方面对这数量级别的数据进行计算处理将会耗费大量的计算资源和耗费大量的时间。
生物信息序列比对最基本的是双序列比对,两条由A,C,G,T四种基本碱基构成的DNA序列通过比对算法得到待比对序列相对于参考序列的比对结果。双序列比对算法一般有3种:动态规划算法(Dynamic Programming)、和词法和点矩阵法,本发明使用动态规划算法。
用于生物序列比对的动态规划算法主要为两种:适用于局部比对的Smith-Waterman算法和适用于全局比对的Needleman-Wunsch算法。本发明基于S-W算法提出一种针对短序列比对在FPGA平台实现的新方法。
当前国内外对于利用硬件平台实现序列比对主要集中在S-W算法的实现技术。主要的硬件计算平台有ASIC(Application Specific Integrated Circuits),FPGA(Field Programmable Gate Arrays),GPU(Graphics Processors Units),和CPU(Central Processing Unit)等。相比于ASIC的最佳性能,制约ASIC的更是它投入研发的高额费用和它研发周期过长带来的时间成本,而市场竞争激烈需求瞬息万变,ASIC较难立住脚跟。GPU平台虽有高吞吐量,但是其存储资源受限。CPU较为常规,并且现有的生物序列比对多利用计算机集群搭配业界序列比对软件来处理,实现起来最为简单,但是由于其串行执行命令效率也最低。相比于前面的平台,虽然FPGA时钟频率一般在兆赫兹级别,但是FPGA拥有大量的逻辑资源,非常适合并行计算,并且集成了FPGA芯片的开发板外围设备齐全,特别是存储外设。这些特点使得FPGA非常适合S-W算法在其实现。
基于S-W算法的特点,现有在FPGA上实现的方法都是基于一种脉动式阵列,但规模有大有小,实现的方法也各有差异,但在各自支持的目标序列都得到了加速效果。本发明在公认的脉动式阵列基础上采用了优化的删减策略和优化的分块动态规划策略。
发明内容
本发明提供一种将S-W算法在FPGA平台上实现的新方法。该方法改进之处在于:包括以下步骤:
上位机将需要比对的目标序列、参考序列以及目标序列的相关信息从存储介质输入到FPGA器件并数字量化表示单个碱基;根据目标序列相关信息计算出所需参数,同时对目标序列和参考序列添加头部辅助碱基;准备就绪后PE阵列控制器的全局计数器开始计数并为PE阵列提供启动计算/停止计算信号,同时目标/参考序列补给模块开始协同为PE阵列提供碱基;在基于优化的S-W动态规划删减策略和优化的动态规划分块策略下,PE脉动阵列开始对目标序列和参考序列进行打分,打分的同时记录每个相似矩阵元素的回溯方向和记录相似矩阵最后一列的最大分值坐标;一组矩阵的回溯方向交替存进2个RAM中的一个,打分结束后基于优化的回溯策略进行回溯得到比对结果,并通过PCIE接口传到上层上位机。
本发明提供的新型S-W实现方法中,所说的目标序列、参考序列指的是生物信息学中需要比对的短序列(read,100-150bp)和参考基因序列,序列中每个碱基使用3位表示,碱基A、C、G和T分别用000、001、010、011表示,无效碱基使用111表示,序列相关信息包括目标序列ID、待比对目标序列长度、是否为精确匹配、在参考基因序列的地址,这些信息由上位机通过PCIE接口传到FPGA板卡的DDR存储器件中,待需要进行动态规划时信息提供给本发明的处理核心。
本发明提供的新型S-W实现方法中,需要根据输入中需要比对的序列长度,计算出实际需要动态规划的序列长度和PE阵列控制器全局计数器的计数范围。实际进行动态规划的序列长度和输入序列长度的差值作为头部辅助碱基的个数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学;四川云合创智科技有限公司,未经电子科技大学;四川云合创智科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611025162.6/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用