全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210449861.2 (22)申请日 2022.04.26 (71)申请人 南京邮电大 学 地址 210023 江苏省南京市 鼓楼区新模范 马路66号 (72)发明人 吴建盛 朱翔宇 丁季 唐诗迪  胡海峰  (74)专利代理 机构 南京苏科专利代理有限责任 公司 32102 专利代理师 姚姣阳 (51)Int.Cl. G16C 20/50(2019.01) G16C 20/90(2019.01) G16C 20/70(2019.01) G16C 10/00(2019.01)G06F 9/50(2006.01) (54)发明名称 基于GPU加速的分子对接方法和装置 (57)摘要 本发明公开了一种基于GPU加速的分子对接 方法及装置, 包括: CP U端进行数据准备以及设置 OpenCL环境, 其中数据准备包括对接盒子及对接 盒子的参数准备, 随后将数据传输到GPU端; GPU 端计算对接盒子中格点处原子和受体的原子的 相互作用力并生成网格缓存表; CPU端生成配体 的多个随机分子构象并传到GP U端, GPU端利用蒙 特卡罗的迭代局部搜索算法优化随机分子构象 并打分, 得到构象并传输至回CPU端; CPU端将构 象进行优化和排序; 依次对配体库中所有配体进 行上述优化步骤; 使用打分函数ΔvinaRF20对CPU 端中的分子构象进行打分并排序。 本发明通过 ΔvinaRF20对构象重新 打分并排序, 提高了输 出构 象的准确性; 提出了一种基于OpenCL的AutoDock   Vina异构并行加速 结构, 降低了对接时间和药物 研发成本。 权利要求书3页 说明书17页 附图4页 CN 114783545 A 2022.07.22 CN 114783545 A 1.一种基于GPU加速的分子对接方法, 用于将受体和配体库中的配体进行分子对接, 其 特征在于, 包括如下步骤: S1、 CPU端进行数据准备以及设置OpenCL环境, 其中, 数据准备包括对接盒子及对接盒 子的参数准备, 并将准备完成的数据传输 到GPU端; S2、 所述对接盒子中包括若干个格点, GPU端的内核函数一用于计算所述格点和所述受 体中的原子之间的相互作用力, 并生成网格缓存表; S3、 CPU端生成配体的多个随机分子构象并传到GPU端, GPU端的内核函数二利用蒙特卡 罗的迭代局部搜索算法优化随机 分子构象并打分, 得到多个构象, 并将多个构象传输至CPU 端; S4、 CPU端将S3输出的多个构象进行优化和排序, 得到分子构象; S5、 重复S3和S4, 直至所述配 体库中所有配 体均完成S3和S4; S6、 使用ΔvinaRF20对CPU端中的所有分子构象进行打分并排序, 保留排名靠前的若干个 分子构象, 实现药物的虚拟筛 选。 2.根据权利要求1所述的基于GPU加速的分子对接方法, 其特征在于, S1中数据准备包 括: S11、 读取文件, 包括: 读取受体文件, 所述受体文件的格式为.pdbqt; 读取对接盒子参数文件, 所述对接盒子参数文件 包括: 所述受体文件的路径; 所述配体库的路径, 所述配 体库包括若干个所述配 体; 所述对接盒子的大小, 分别为size_x、 size_y、 size_z; 所述对接盒子的中心位 点的三维坐标,分别为center_x、 center_y、 center_z; 线程数的大小为thread; S12、 所述OpenCL环境的设置, 包括: 查询平台, 使用所述OpenCL中的clGetPaltformIDs()函数获取可用的OpenCL环境的数 量, 并初始化 一个可用的OpenCL环境; 查询设备, 使用所述OpenCL中的clGetDeviceIDs()函数获取平台中设备的数量, 并初 始化一个可用的设备; 创建上下文, 所述上下文中包括内存、 程序以及内核对象, 使用clCreateContext()函 数对初始化后的设备创建上 下文, 用于设备与程序以及设备与设备之间的通信; 创建命令队列, 使用cl_queue_pr operties()的属性值创建命令队列, 所述命令队列能 够操作所述上 下文中的多个对象; 创建程序对象, 使用clCreateProgramWithSource()函数对OpenCL环境中的源代码创 建程序对象, 使用clBui ldProgram()函数为指定的设备创建程序对象; 创建内核对象, 使用clCreate Kernel()函数创建两个内核对象; 设置内核参数, 使用clSetKernelArg()函数对所述内核对象设置内核参数, 便于执行 所述内核对象; 执行内核, 使用clEnqueueNDRangeKernel()函数调用所述命令队列, 使得所述内核对 象在设备进行排队;权 利 要 求 书 1/3 页 2 CN 114783545 A 2S13、 生成分子内能量表, 用于计算所述分子构象的分子内能量; S14、 根据随机数种子生成随机数查找 表。 3.根据权利要求1所述的基于GPU加速的分子对接方法, 其特 征在于, S2具体包括: 将所述对接盒子划分成多个格子, 所述格点位于所述格子的顶角处, 划分后所述格子 的大小为l* m*n, 得到所述格点的量化坐标, 所述内核函数一中包括与若干个所述格点相对 应的若干个线程; 将所述量化坐标转换为受体中的真实坐标; 以所述格点为中心建立正方体, 所述正方体内包含所述受体的原子, 假设所述格点处 存在原子, 计算所述格点处原子与受体原子的相互作用力, 将所述相互作用力进 行存储, 得 到所述网格缓存表, 并将所述网格缓存表存放在全局内存中, 供 所述GPU线程共享。 4.根据权利要求3所述的基于GPU加速的分子对接方法, 其特征在于: 所述正方体的大 小为 所述格点与所述配体原子之间的距离小于 时, 计算所述格点 处 原子与所述受体原子的相互作用力, 所述格点处原子的类型共有17种。 5.根据权利要求2所述的基于GPU加速的分子对接方法, 其特 征在于, S3具体包括: S31、 随机分子构象的表示方式如下: 随机分子构象在搜索空间中的三维坐标, Positi on=(a,b,c); 分子构象的四元 数, orientati on=(R0,R1,R2,R3); 分子构象中可旋转键的扭转角度, torsi on=(t0,t1,t2); S32、 每个随机分子构象对应一个线程, 每个线程中均进行蒙特卡罗的迭代局部搜索算 法, 线程数为80 00; S33、 将内核函数二中每 个线程得到的分子构象均传到 CPU端。 6.根据权利要求5所述的基于GPU加速的分子对接方法, 其特 征在于, S32包括: S321、 对随机分子构象进行扰动; S322、 对随机分子构象进行BFGS, 包括: a、 将海森矩阵初始化 为单位矩阵; b、 对随机分子构象进行三维空间的转换, 得到随机分子构象中每 个原子的空间坐标; c、 使用打分函数计算随机分子构象的能量, 随机分子构象的能量包含分子间能量与分 子内能量, 通过 所述网格缓存表计算分子间能量, 通过分子内能量表计算分子内能量; d、 计算构象中每个原子的空间坐标的导数, 将其转换成随机分子构象在搜索空间中的 三维坐标、 四元 数、 所有可旋转键的扭转角度的导数; e、 使用Armijo ‑Goldstein准则进行黄金搜索得到新的分子构象, 初始化步长alpha= 1, 计算新的分子构象能量并计算分子构象在搜索空间中的三维坐标、 四元数、 所有可旋转 键的扭转角度的导数, 使用更新前后的分子构象的能量判断步长是否需要更新, 若需要更 新则alpha=alpha/2, 继续进行 下一轮黄金搜索, 否则结束搜索; f、 判断更新后分子构象的导数 是否满足‖ 导数‖ ≥1e‑5,若满足条件则更新海 森矩阵; g、 判断e、 f循环次数 是否达到10次, 若满足则输出为BFGS最终得到的分子构象; S323、 使用接受准则判断是否 接收所述S32 2得到的分子构象; S324、 判断S322和S323 的循环次数是否达到设定值, 循环次数达到设定值后输出本线 程的分子构象。权 利 要 求 书 2/3 页 3 CN 114783545 A 3

.PDF文档 专利 基于GPU加速的分子对接方法和装置

文档预览
中文文档 25 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共25页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于GPU加速的分子对接方法和装置 第 1 页 专利 基于GPU加速的分子对接方法和装置 第 2 页 专利 基于GPU加速的分子对接方法和装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 07:15:20上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。