一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种GPU并行计算分子相似度方法、装置、系统及介质与流程

2022-05-21 02:52:08 来源:中国专利 TAG:

一种gpu并行计算分子相似度方法、装置、系统及介质
技术领域
1.本发明涉及计算机辅助药物研发技术领域,具体为一种gpu并行计算分子相似度方法、装置、系统及介质。


背景技术:

2.药物研发具有投入大、风险高、周期长的特点,通常一个药物研发周期在10年以上,研发投入在数亿美金,并且呈现逐年上升趋势。药物筛选是药物发现的关键环节,而高通量药物虚拟筛选能大大降低筛选时间和成本,对于加速药物研发具有重要意义。两个分子的三维形状和药效团(分子中具有特定性质的原子集团)的彼此匹配和定量比较是药物设计中主要方法。分子体积与形状相关,而形状决定分子的物理化学性质,而这种性质决定分子的生物活性。
3.分子形状比较是一种常见的技术:用于识别两个或多个分子之间的空间特征,在基于配体的化合物发现工作中,这是常用的一个度量。其中在3d形状相似度搜索,效果最好的算法是“基于原子中心的高斯叠加”,openeye scientific software的软件包中,rocs就应用了“基于原子中心的高斯叠加”算法进行相似度运算。但即使使用了高斯优化的技术,rocs在扫描大型化合物数据库时,也需要很长时间才能计算完成。
4.因此研发一种快速且成功率较高的分子形状比较方法成了亟需解决的难题。


技术实现要素:

5.本发明的发明目的在于提供一种gpu并行计算分子相似度方法、装置、系统及介质,用于提高3d高斯叠加相似度的计算速度,缩短大规模化合物相似度搜索需要的时间,同时在加入预处理提高搜索的成功率和效率。
6.本发明解决上述技术问题所采取的技术方案如下:
7.一种gpu并行计算分子相似度方法,包括以下步骤:
8.输入查询化合物;
9.计算查询化合物的质心;
10.基于质心对查询化合物进行平移和/或旋转变换;
11.通过gpu进行并行计算,将变换前后的查询化合物均作为起始搜索点与分子库中的分子化合物进行比对;
12.根据比对的计算结果进行过滤,输出与查询化合物相似的分子化合物。
13.在一个实施例中,所述输入查询化合物包括:
14.输入查询化合物的三维结构信息,所述三维结构信息包括查询化合物中每个原子的类型及其坐标数值;
15.通过高斯函数表示查询化合物的体积。
16.在一个实施例中,所述计算查询化合物的质心包括以下步骤:
17.基于查询化合物的三维结构信息,计算查询化合物的质心;
18.并且进行svd分解,计算3d旋转矩阵。
19.在一个实施例中,所述基于质心对查询化合物进行平移和/或旋转变换包括以下步骤:
20.对查询化合物进行平移和/或旋转变换;
21.通过一组四元组数据记录查询化合物的平移和/或旋转变换。
22.在一个实施例中,所述通过gpu进行并行计算,将变换前后的查询化合物均作为起始搜索点与分子库中的分子化合物进行比对包括以下步骤:
23.将查询化合物的高斯函数和记录化合物位移的四元组加载进gpu内存;
24.gpu的多个算点运行最优化算法,计算查询化合物与分子库内分子化合物之间的3d高斯叠加。
25.在一个实施例中,所述最优化算法为bfgs和梯度下降法。
26.本发明的另一实施例还提供了一种gpu并行计算分子相似度装置,所述装置包括:
27.分子输入模块,用于输入查询化合物;
28.质心计算模块,用于计算查询化合物的质心;
29.分子变换模块,用于基于质心对查询化合物进行平移和/或旋转变换;
30.分子比对模块,用于通过gpu进行并行计算,将变换前后的查询化合物均作为起始搜索点与分子库中的分子化合物进行比对;
31.结果输出模块,用于根据比对的计算结果进行过滤,输出与查询化合物相似的分子化合物。
32.本发明的另一实施例还提供了一种gpu并行计算分子相似度系统,所述系统包括至少一个处理器;以及,
33.与所述至少一个处理器通信连接的存储器;其中,
34.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的gpu并行计算分子相似度方法。
35.本发明的另一实施例还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的gpu并行计算分子相似度方法。
36.有益效果:本发明一种gpu并行计算分子相似度方法、装置、系统及介质利用gpu并行计算优势,在gpu上实现3d相似度的高斯叠加计算,与基于cpu实现相比,在速度获得了一个数量级的提升,缩短了虚拟筛选中,3d相似度的查询时间。在计算高斯叠加的过程中,我们计算重叠函数及其梯度变换坐标,优化分子重叠,进行并行计算,同时为了能更快的找到全局最优叠加,对化合物进行平移和旋转变换,作为起始搜索点。使得在gpu进行计算能更好的找到全局最优;最终的计算结果按照用户感兴趣的相似度阈值生成,与现有技术相比较在计算速度上有显著的提升。
37.发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
38.下面结合附图对本发明进行详细的描述,以使得本发明的上述优点更加明确。
39.图1是本发明一种gpu并行计算分子相似度方法的流程图。
40.图2本发明一种gpu并行计算分子相似度装置的实施例的功能模块示意图;
41.图3本发明一种gpu并行计算分子相似度设备的实施例的硬件结构示意图。
具体实施方式
42.为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
43.如图1-2所示,一种gpu并行计算分子相似度方法,包括以下步骤:
44.s100、输入查询化合物;
45.从数据库中提取或自定义构建,输入需要查询的化合物,基于查询的化合物提取特征点,生成检索式子。
46.s200、计算查询化合物的质心;
47.在计算查询化合物与库内的化合物之间的3d高斯叠加时,为了保证计算的准确度和提高计算速度,会对查询化合物进行调整,为了方便计算和比对,选取查询化合物的质心为标定点。
48.s300、基于质心对查询化合物进行平移和/或旋转变换;
49.基于质心对查询化合物进行位移变换,为了计算高斯叠加时更快的找到全局最优叠加。
50.s400、通过gpu进行并行计算,将变换前后的查询化合物均作为起始搜索点与分子库中的分子化合物进行比对;
51.gpu的核心擅长完成具有简单的控制逻辑的任务,重在计算,重在并行。相比于cpu,gpu拥有大量的算力。查询化合物在与分子库的分子化合物进行比对时,利用gpu的并行计算的优势,将变换前后的查询化合物均作为起始搜索点与分子库中的分子化合物进行比对,极大的提高了计算查询化合物与库内的化合物之间的3d高斯叠加的效率,缩短了检索时间;且利用gpu的并行计算和对查询化合物进行平移和/或旋转变换,提高了在计算3d高斯叠加的成功率。
52.s500、根据比对的计算结果进行过滤,输出与查询化合物相似的分子化合物。根据查询化合物与分子库的分子化合物的比对结果,根据3d高斯叠加计算tanimoto3d相似度,从分子库中输出与查询化合物相近似的分子化合物。
53.在一个实施例中,所述输入查询化合物包括:
54.输入查询化合物的三维结构信息,所述三维结构信息包括查询化合物中每个原子的类型及其坐标数值;根据查询化合物中各原子的类型得到相应的范德华半径,将三维结构信息转换为一组代表查询化合物中各原子的高斯球,每个高斯球的半径与相应原子的范德华半径相同,且每个高斯球的位置与相应原子的坐标相同;
55.通过高斯函数表示查询化合物的体积。
56.在一个实施例中,所述计算查询化合物的质心包括以下步骤:
57.基于查询化合物的三维结构信息,计算查询化合物的质心;
58.并且进行svd分解,计算3d旋转矩阵。
59.相较于原子中心,质心在后续对查询化合物的变换中具有重要地位,基于分子的三维结构信息,计算查询化合物的质心。为了减少其他数据的干扰且数据计算的体量,在找出查询化合物的质心后,通过svd分解,计算3d旋转矩阵。
60.在一个实施例中,所述基于质心对查询化合物进行平移和/或旋转变换包括以下步骤:
61.对查询化合物进行平移和/或旋转变换;
62.通过一组四元组数据记录查询化合物的平移和/或旋转变换。
63.在三维空间中,任何一个坐标系可以有一个4*4的转换矩阵表示,其中左上角3*3的矩阵表示旋转矩阵,第四列前三个表示x,y,z坐标。
64.四元组最普通的表示形式为:q=s xi yj zk s,x,y,z∈r。对于一个任意的向量,我们可以用它的长度,它的方向来表示它,类似与向量的旋转,我们也可以用一个四元组表示四元组的旋转q=[cosθ,sinθv]。
[0065]
在计算查询化合物与库内的化合物之间的3d高斯叠加时,为了需求最优解,往往会对查询化合物进行调整,本实施例中采用gpu进行并行计算,充分利用gpu算力高和并行计算的优势,在检索时先将查询化合物进行位移变换,并通过一组四元组记录查询化合物的旋转矢量;并利用gpu并行计算额优势,以变换前后的查询化合物均作为搜索起点与分子库内的分子化合物进行比对,提高提高搜索的成功率和效率。
[0066]
在一个实施例中,所述通过gpu进行并行计算,将变换前后的查询化合物均作为起始搜索点与分子库中的分子化合物进行比对包括以下步骤:
[0067]
将查询化合物的高斯函数和记录化合物位移的四元组加载进gpu内存;
[0068]
为了提高搜索的成功率和效率,利用gpu算力高和并行计算的优势,变换前后的查询化合物均作为搜索起点。
[0069]
gpu的多个算点运行最优化算法,计算查询化合物与分子库内分子化合物之间的3d高斯叠加。
[0070]
以变换前后的查询化合物均作为搜索起点,同时进行计算与库内的化合物之间的3d高斯叠加,计算重叠函数及其梯度变换坐标,优化分子重叠。
[0071]
并行计算的优势,主要体现在两个发面,一方面为查询化合物可以与分子库中多个不同你那个的化合物进行重叠比对,提高效率。另一方面为可以以查询化合物的不同形态与分子库汇总同一化合物进行重叠比对,加快了寻找最优解的速度的同时提高了正确率。
[0072]
在一个实施例中,所述最优化算法为bfgs和梯度下降法。
[0073]
在计算高斯叠加的过程中,我们计算重叠函数及其梯度变换坐标,优化分子重叠,使用了支持并行计算的bfgs算法。牛顿法是一种在实数域和复数域上近似求解方程的方法。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x)=0的根。牛顿法最大的特点就在于它的收敛速度很快。
[0074]
梯度下降法是最早最简单,也是最为常用的最优化方法。梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解。一般情况下,其解不保证是全局最优解,梯度下降法的速度也未必是最快的。梯度下降法的优化思想是用当前位置负梯度方向作为
搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为是”最速下降法“。最速下降法越接近目标值,步长越小,前进越慢。
[0075]
综上的技术方案,利用gpu并行计算优势,在gpu上实现3d相似度的高斯叠加计算,与基于cpu实现相比,在速度获得了一个数量级的提升,缩短了虚拟筛选中,3d相似度的查询时间。在计算高斯叠加的过程中,我们计算重叠函数及其梯度变换坐标,优化分子重叠,使用了支持并行计算的bfgs算法,同时为了是bfgs能更快的找到全局最优叠加,对化合物进行平移和旋转变换,作为bfgs的起始搜索点。使得在gpu进行计算能更好的找到全局最优;最终的计算结果按照用户感兴趣的相似度阈值生成。实践结果证明采用该并行gpu实现的方法与openeye rocs cpu实现相比较,在计算速度上有巨大的提升。
[0076]
本发明的另一实施例还提供了一种gpu并行计算分子相似度装置,所述装置包括:
[0077]
分子输入模块,用于输入查询化合物;
[0078]
质心计算模块,用于计算查询化合物的质心;
[0079]
分子变换模块,用于基于质心对查询化合物进行平移和/或旋转变换;
[0080]
分子比对模块,用于通过gpu进行并行计算,将变换前后的查询化合物均作为起始搜索点与分子库中的分子化合物进行比对;
[0081]
结果输出模块,用于根据比对的计算结果进行过滤,输出与查询化合物相似的分子化合物。
[0082]
本发明另一实施例提供一种三维模型的生成系统,如图3所示,系统50包括:
[0083]
一个或多个处理器510以及存储器520,图3中以一个处理器510为例进行介绍,处理器510和存储器520可以通过总线或者其他方式连接,图3中以通过总线连接为例。
[0084]
处理器510用于完成系统50的各种控制逻辑,其可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acorn riscmachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器510还可以是任何传统处理器、微处理器或状态机。处理器510也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp和/或任何其它这种配置。
[0085]
存储器520作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的gpu并行计算分子相似度方法对应的程序指令。处理器510通过运行存储在存储器520中的非易失性软件程序、指令以及单元,从而执行系统50的各种功能应用以及数据处理,即实现上述方法实施例中的gpu并行计算分子相似度方法。
[0086]
存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据系统50使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件或其他非易失性固态存储器件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至系统50。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0087]
一个或者多个单元存储在存储器520中,当被一个或者多个处理器510执行时,执行上述任意方法实施例中的gpu并行计算分子相似度方法,例如,执行以上描述的图1中的
方法步骤s100至步骤s400。
[0088]
本发明实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图1中的方法步骤s100至步骤s500。
[0089]
作为示例,非易失性存储介质能够包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦rom(eeprom)或闪速存储器。易失性存储器能够包括作为外部高速缓存存储器的随机存取存储器(ram)。通过说明丽非限制,ram可以以诸如同步ram(sram)、动态ram、(dram)、同步dram(sdram)、双数据速率sdram(ddr sdram)、增强型sdram(esdram)、synchlink dram(sldram)以及直接rambus(兰巴斯)ram(drram)之类的许多形式得到。本文中所描述的操作环境的所公开的存储器组件或存储器旨在包括这些和/或任何其他适合类型的存储器中的一个或多个。
[0090]
本发明的另一种实施例提供了一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使处理器执行上述方法实施例的gpu并行计算分子相似度方法。例如,执行以上描述的图1中的方法步骤s100至步骤s400。
[0091]
综上,本发明公开了一种gpu并行计算分子相似度方法、装置、系统及介质,方法对骨骼模型进行轻量化的同时,还将骨骼模型与皮肤模型进行绑定,并提供骨骼微调、动作微调、皮肤微调等工具,创作出自然、流畅的三维虚拟对象,严格控制数据的体积和传输量,极大地减少加载等待时间和程序的预算量,并最后将文件转存为一个通用性文件,适用于不同的三维模型运用平台,通用性较强。
[0092]
以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0093][0094]
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存在于计算机可读存储介质中,如rom/ram、碱碟、光盘等,包括若干指今用以使得一台计算机电子设备(可以是个人计算机,服务器,或者网络电子设备等)执行各个实施例或者实施例的某些部分的方法。
[0095]
除了其他之外,诸如"能够"、"能"、"可能"或"可以"之类的条件语言除非另外具体地陈述或者在如所使用的上下文内以其他方式理解,否则一般地旨在传达特定实施方式能包括(然而其他实施方式不包括)特定特征、元件和/或操作。因此,这样的条件语言一般地还旨在暗示特征、元件和/或操作对于一个或多个实施方式无论如何都是需要的或者一个或多个实施方式必须包括用于在有或没有输入或提示的情况下判定这些特征、元件和/或操作是否被包括或者将在任何特定实施方式中被执行的逻辑。
[0096]
已经在本文中在本说明书和附图中描述的内容包括能够提供一种gpu并行计算分子相似度方法、装置、系统及介质的示例。当然,不能够出于描述本公开的各种特征的目的
来描述元件和/或方法的每个可以想象的组合,但是可以认识到,所公开的特征的许多另外的组合和置换是可能的。因此,显而易见的是,在不脱离本公开的范围或精神的情况下能够对本公开做出各种修改。此外,或在替代方案中,本公开的其他实施例从对本说明书和附图的考虑以及如本文中所呈现的本公开的实践中可能是显而易见的。意图是,本说明书和附图中所提出的示例在所有方面被认为是说明性的而非限制性的。尽管在本文中采用了特定术语,但是它们在通用和描述性意义上被使用并且不用于限制的目的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献