1.本技术涉及计算模拟技术领域,尤其涉及一种确定相邻分子的方法、装置、设计方法和电子设备。
背景技术:
2.随着计算机技术和基础学科理论的快速发展,分子模拟的计算效率和精度都获得极大提高,使得分子模拟在多学科领域得到广泛应用。其中,确定相邻分子是分子模拟中的重要部分。
3.相关技术为了确定各分子之间是否相邻,可以通过计算各分子的所有原子之间的距离,并且根据所有原子之间的距离确定各分子之间是否相邻。但是,在分子体系的模拟中,可能存在几十万或更多的分子,导致需要消耗大量计算资源。
技术实现要素:
4.为解决或部分解决相关技术中存在的问题,本技术提供一种确定相邻分子的方法、装置、设计方法和电子设备,能够降低确定相邻分子所消耗的计算资源,并且提升响应速度。
5.本技术的第一个方面提供了一种确定相邻分子的方法,上述方法包括:确定m个分子的分子模型中两两分子模型之间的第一距离;如果确定n个分子的分子模型中两两分子模型之间的第一距离大于第一距离阈值,则从m个分子中的除n个分子之外的q个目标分子中确定相邻分子,其中,m、n和q是大于零的整数,并且m大于或者等于n。
6.本技术的第二个方面提供了一种设计方法,该设计方法包括:根据如上述的方法确定相邻分子;基于相邻分子进行药物设计或者材料设计。
7.本技术的第三方面提供了一种确定相邻分子的装置,包括:第一距离确定模块和第一相邻分子确定模块。其中,第一距离确定模块用于确定m个分子的分子模型中两两分子模型之间的第一距离;第一相邻分子确定模块用于如果确定n个分子的分子模型中两两分子模型之间的第一距离大于第一距离阈值,则从m个分子中的除n个分子之外的q个目标分子中确定相邻分子,其中,m、n和q是大于零的整数,并且m大于或者等于n。
8.本技术的第四方面提供了一种电子设备,包括:处理器;存储器,其上存储有可执行代码,当上述可执行代码被处理器执行时,使得处理器执行上述方法。
9.本技术的第五方面还提供了一种计算机可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行上述方法。
10.本技术的第六方面还提供了一种计算机程序产品,包括可执行代码,可执行代码被处理器执行时实现上述方法。
11.本技术提供的确定相邻分子的方法、装置、设计方法和电子设备,先确定与多个分子中的两两分子的分子模型之间的第一距离,这样便于通过该第一距离快速确定空间中明显不相邻的分子,使得无需计算这些明显不相邻的分子中各原子的原子坐标之间的距离。
本技术的技术方案有效减少了相关技术中因需要计算各分子的所有原子的原子坐标之间的距离,造成消耗大量计算资源的问题,有效提升计算资源利用率和响应速度,降低能耗。
12.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
13.通过结合附图对本技术示例性实施方式进行更详细地描述,本技术的上述以及其它目的、特征和优势将变得更加明显,其中,在本技术示例性实施方式中,相同的参考标号通常代表相同部件。
14.图1示意性示出了相关技术中的确定相邻分子的过程示意图;
15.图2示意性示出了根据本技术实施例的确定相邻分子的过程示意图;
16.图3示意性示出了根据本技术实施例的确定相邻分子的方法的流程图;
17.图4a至图4c示意性示出了根据本技术实施例的分子模型的示意图;
18.图5示意性示出了根据本技术实施例的球形分子模型的示意图;
19.图6示意性示出了根据本技术实施例的分子中心坐标的示意图;
20.图7示意性示出了根据本技术实施例的第一距离的示意图;
21.图8示意性示出了根据本技术实施例的第二距离的示意图;
22.图9示意性示出了根据本技术实施例的第三距离的示意图;
23.图10示意性示出了根据本技术实施例的一种设计方法的流程图;
24.图11示意性示出了根据本技术实施例的一种确定相邻分子的装置的结构框图;
25.图12示意性示出了根据本技术实施例的一种设计装置的结构框图;
26.图13示意性示出了实现本技术实施例的一种确定相邻分子的方法的电子设备的方框图。
具体实施方式
27.下面将参照附图更详细地描述本技术的实施方式。虽然附图中显示了本技术的实施方式,然而应该理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本技术更加透彻和完整,并且能够将本技术的范围完整地传达给本领域的技术人员。
28.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
29.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
30.应当理解,尽管在本技术可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更
多个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
31.在对本技术的技术方案进行描述之前,先对本技术涉及的本领域的部分技术术语进行说明。
32.分子模拟,是指利用理论方法和计算机技术,模拟分子或分子体系的结构和物理化学性质。
33.相邻分子,是指当第一个分子中至少部分原子与第二分子中至少部分原子之间符合相邻距离阈值,则第一个分子和第二个分子之间可以互相称为相邻分子。
34.坐标系(frame),是描述物体位置和姿态的参考,因此也被称为参考系或参照系。例如,坐标系可以是在进行仿真模拟时创建的坐标系,如笛卡尔坐标系(cartesian coordinates)。
35.坐标,是用于表示对象在特定坐标系下的绝对位置,在数学上坐标的实质是有序对数。
36.在分子体系的模拟过程中,可以计算一个分子的相邻分子,涉及分子体系中每两个分子间是否为相邻分子的计算过程和判断过程。相关技术中为了实现确定相邻分子,可以通过计算每两个分子间的所有原子两两之间的距离是否存在符合相邻分子间的距离阈值,确定两个分子是否为相邻分子。
37.具体地,相关技术在确定相邻分子的过程中,需要计算分子体系中所有分子间的所有原子两两之间的原子距离。然后,将该原子距离与相邻分子的距离阈值进行比较,来判断某两个分子之间是否相邻。上述方法涉及的计算方法虽然简单,但是计算量大,效率较低,导致浪费大量计算资源。
38.申请人对上述问题进行了大量研究和分析,发现相关技术中存在如下问题:在分子体系中,假设两个分子在指定坐标系中的位置相距较远,明显不是相邻分子时,相关技术仍需计算这两个分子间所有原子两两之间的距离,并且将该距离分别与距离阈值之间进行比较。该计算过程不但计算量大,计算成本高,并且属于无用计算,这就导致极大地浪费了计算资源。
39.图1示意性示出了相关技术中的确定相邻分子的过程示意图。
40.如图1所示,示出了两个分子10,为了便于说明相关技术中确定相邻分子的过程,将图1中左边的分子表示为第一分子,将图1中右边的分子表示为第二分子。其中,为了简便直观,以圆球来表示原子11和分子10。
41.相关技术中无论第一分子和第二分子之间相距多远,在确定相邻分子时,都需要计算这两个分子中任意两个原子之间的距离,以确定第一分子和第二分子之间是否相邻(即两者互为相邻分子)。图1中仅示出了第一分子中的两个原子(加粗圆圈所示)与第二分子中各原子之间的距离i1、i2计算过程。相关技术中需要分别计算第一分子中每个原子和第二分子中每个原子之间的距离,如存在第一分子中的任一个原子和第二分子中的任一原子之间的距离小于距离阈值,则判定第一分子和第二分子为相邻分子,如第一分子中的任一个原子和第二分子中的任一原子之间的距离均大于距离阈值,则判定第一分子和第二分子为非相邻分子。
42.在分子体系的仿真模拟过程中,可能涉及到几十万个分子10,甚至上百万个分子
10或更多分子10,每个分子10由多个原子11构成。但是,其中多数分子10在空间中的位置均相距较远,计算这些相距较远的分子10的原子11之间的距离,属于无用计算,导致大量的计算资源被浪费。
43.针对上述问题,亟待开发出一种能够快速确定相邻分子的技术方案,并且能够降低计算量,提高计算效率和计算资源的有效利用率。本技术实施例的技术方案能够有效节约计算资源,并且加快分子体系的仿真、模拟进程。
44.图2示意性示出了根据本技术实施例的确定相邻分子的过程示意图。
45.如图2所示,本实施例中,在确定相邻分子的过程中,首先确定各分子10之间的距离i3。具体地,可以先确定各分子10的几何中心坐标,如中心或者重心等,接着基于各分子的几何中心坐标之间的距离和各分子模型的尺寸确定各分子10之间的大致距离。在确定各分子10之间的大致距离后,就可以排除掉相距较远的分子10被作为相邻分子进行测算/计算的过程,可有效节约计算资源,加快含有多个分子的分子体系中相邻分子的判定效率。
46.具体地,在计算两个分子10的所有原子11之间的距离之前,首先计算两个分子10之间的距离i3,如果距离i3大于距离阈值,则可以确定这两个分子10之间不可能相邻,无需再继续计算这两个分子10的所有原子之间的距离。这样就极大程度地降低了计算原子间距离的次数,有效节约了计算资源。
47.以下将通过图3至图11对本技术实施例的一种确定相邻分子的方法、装置和设计方法进行详细描述。
48.图3示意性示出了根据本技术实施例的确定相邻分子的方法的流程图。
49.如图3所示,该实施例提供了一种确定相邻分子的方法,该方法包括操作s310~操作s320,具体如下:
50.在操作s310中,确定m个分子的分子模型中两两分子模型之间的第一距离。
51.其中,m可以是用户在进行分子体系仿真模拟时设定的个数,如m可以是大于零的整数,m的单位可以是个、十个、百个、千个、万个、十万个、百万个或者其他计数单位等。
52.分子可以为无机分子或者有机分子,每个分子由至少两个原子构成,在此不做限定。例如,分子可以为医药成分的分子,分子也可以是建筑材料的分子,分子也可以是航空、航天材料的分子等。
53.在某些实施例中,上述方法在确定m个分子的分子模型中两两分子模型之间的第一距离之前,还可以包括:确定m个分子模型各自的分子中心坐标,以基于m个分子中心坐标确定m个分子的分子模型中两两分子模型之间的第一距离。
54.例如,对于每个分子体系,可以含m个分子的分子模型。具体地,可以构建以几何中心坐标为分子中心坐标,并且具有指定尺寸的分子模型。其中,分子包括p个原子,几何中心坐标是p个原子中至少部分原子各自在指定坐标系中的原子坐标的加权平均几何坐标,p是大于零的整数。
55.需要说明的是,分子模型的构建过程不是每次确定相邻分子都需要执行的操作。例如,可以采用历史时段构建的分子模型。例如,可以直接输入分子模型,在此不做限定。
56.其中,指定坐标系可以是笛卡尔坐标系、极坐标系等。每个分子可以包括多个原子,每个原子在该指定坐标系中都有原子坐标,以表示每个原子的空间位置。需要说明的是,不同坐标系下的坐标之间可以进行转换。例如,极坐标系下更容易表达某个角度范围内
的空间点的坐标,在需要对某个角度范围内的对象进行处理时,可以先转换至极坐标系下进行处理,在处理完成后再转换至笛卡尔坐标系下进行后续处理。此外,在确定相邻分子的过程中可以采用同一坐标系,特别是空间坐标系。例如,分子中心坐标、原子坐标、几何中心坐标和球心坐标中的部分或者全部是在同一坐标系下的坐标。应当能够理解的是,分子中心坐标、原子坐标、几何中心坐标和球心坐标中的部分或者全部也可以是在不同坐标系下的坐标,但是各坐标系下的坐标之间可以相互转换。
57.在确定几何中心坐标的过程中,一个分子内的各原子的权重可以相同或不同。例如,分子中各区域的原子的权重都相同,或者,原子密集区域的原子的权重更大,或者,原子密集区域的原子的权重更小,或者,原子质量越大的原子的权重越大。
58.例如,分子中心坐标可以是该分子的所有原子在该指定坐标系下的平均坐标(即所有原子的中心坐标)作为该分子的分子中心坐标。
59.又例如,分子中心坐标可以是该分子中的相距最远的两个原子在该指定坐标系下的平均坐标(即相距最远的两个原子的中心坐标)。
60.又例如,以分子中的相距最远的两个第一原子之间的连线方向作为第一方向,在垂直于第一方向的第二方向上寻找相距最远的两个第二原子。分子中心坐标可以是该第一原子和该第二原子在该指定坐标系下的平均坐标(即两个第一原子和两个第二原子之间的中心坐标)。
61.在某些实施例中,上述方法在确定m个分子的分子模型中两两分子模型之间的第一距离之前,还包括:确定m个分子模型各自的尺寸,以基于m个分子中心坐标和m个尺寸确定m个分子的分子模型中两两分子模型之间的第一距离,其中,尺寸包括p个原子中的指定原子的原子坐标与分子中心坐标之间的距离,其中,指定原子包括在预设角度范围内的距离分子中心坐标最远的指定个数原子、距离分子中心坐标最远的原子中至少一种。
62.例如,分子模型的尺寸可以用于指示该分子模型在指定坐标系下占据的空间大小。具体地,为了使得分子模型能够尽可能的包括所有原子模型,尺寸可以根据分子模型中相距最远的原子模型之间的距离来确定。如将该距离作为分子模型在某个方向的最大尺寸等,具体可以为边长、直径等。这样便于实现:基于分子中心坐标和尺寸确定两个分子模型的边界之间的第一距离。
63.在某些实施例中,对于m个分子中任意两个分子,确定m个分子的分子模型中两两分子模型之间的第一距离可以包括如下任意一种操作。
64.例如,确定与任意两个分子对应的分子模型的外轮廓之间的距离。
65.例如,确定与任意两个分子对应的分子模型的分子中心坐标之间的距离。
66.例如,确定与任意两个分子中一个分子对应的分子模型的外轮廓,和与另一个分子对应的分子模型的分子中心坐标之间的距离。
67.在本实施例中,可以基于两个分子的分子中心坐标来计算这两个分子之间的距离。例如,分子中心坐标1为(x1,y1),分子中心坐标2为(x2,y2),则距离d可以如式(1)所示。
68.d=[(x2-x1)2+(y2-y1)2]
1/2
ꢀꢀꢀꢀꢀꢀꢀ
式(1)
[0069]
需要说明的是,在计算原子坐标之间的距离或者计算原子坐标与分子中心坐标之间的距离时,同样可以采用式(1)的公式进行计算。
[0070]
此外,为了降低各分子的尺寸不同对确定的相邻分子结果准确率的影响,可以在
距离中去除分子尺寸的因素。例如,在基于两个分子的分子中心坐标确定了这两个分子中心之间的距离之后,可以利用第一距离减去两个分子各自所占的距离。
[0071]
以球形模型表示分子时,可以从距离d中减去一个或者两个球形模型的球半径。以立方体模型表示分子时,可以从距离d中减去一个或者两个立方体模型的一半边长。
[0072]
在操作s320中,如果确定n个分子的分子模型中两两分子模型之间的第一距离大于第一距离阈值,则从m个分子中的除n个分子之外的q个目标分子中确定相邻分子,其中,m、n和q是大于零的整数,并且m大于或者等于n。
[0073]
在本实施例中,如果两个分子之间的第一距离大于预设的第一距离阈值,则可以确定这两个分子之间不相邻,无需计算这两个分子中各原子之间的距离。其中,第一距离阈值可以是根据专家经验或者仿真模拟得到的。
[0074]
需要说明的是,在排除了不可能相邻的分子的基础上,可以采用多种方式来从剩余的分子中确定相邻分子。
[0075]
在某些实施例中,对于q个目标分子中的每一个,从m个分子中的除n个分子之外的q个目标分子中确定相邻分子可以包括如下操作。
[0076]
首先,确定当前目标分子中至少部分原子各自的原子坐标与非当前目标分子中至少部分原子各自的原子坐标之间的第四距离,其中,非当前目标分子是q个目标分子中除当前目标分子之外的分子。
[0077]
然后,如果任一第四距离小于第四距离阈值,则可以确定当前目标分子和非当前目标分子之间相邻。
[0078]
例如,分别计算所有q个目标分子中的不同分子的原子之间的距离(可以通过对原子坐标的计算来确定),并且根据原子坐标之间的距离来判断原子所属的分子之间是否相邻。
[0079]
此外,也可以采用相关技术中确定两个分子是否相邻的计算方法,在此不做限定。
[0080]
在某些实施例中,上述方法还可以包括如下操作,基于相邻分子进行药物设计或者材料设计中至少一种。具体地,在从大量分子中确定了相邻分子之后,便于至少基于相邻分子来模拟分子或分子体系的结构和物理化学性质,提升新材料或材料新功能开发的效率。
[0081]
本技术实施例提供的确定相邻分子的方法,可以对空间中相距较远的分子进行快速计算和过滤,大幅度减少了非相邻分子的原子之间的距离计算过程。本技术实施例在不降低确定相邻分子的准确度的基础上,有效提升确定相邻分子的响应速度和降低计算资源消耗。
[0082]
以下对分子模型的构建过程进行示例性说明。
[0083]
确定m个分子中两两分子的分子中心坐标之间的距离可以包括如下操作:首先,以加权平均几何坐标为中心构建具有指定尺寸的分子模型,其中,指定尺寸与p个原子中的部分原子的原子坐标与分子中心坐标之间的距离相关。然后,对于m个分子中任意两个分子,确定与任意两个分子对应的加权平均几何坐标之间的距离。其中,上述部分原子可以是分子中相距较远的原子。例如,上述部分原子可以是分子中相距最远的指定原子,指定个数可以是两个、三个、五个等,如距离最大的五个原子(top 5原子)。此外,也可以以分子中心坐标为原点,将空间划分为多个子空间,然后分别获取各空间中距离原点最远的原子。
[0084]
在某些实施例中,分子模型包括球形模型、具有直边的立体几何模型中任意一种,其中,球形模型以分子中心坐标为球心,以尺寸为半径。
[0085]
图4a至图4c示意性示出了根据本技术实施例的分子模型的示意图。
[0086]
如图4a所示,分子模型可以是球形,球形模型的构建过程比较便捷,只需要确定球形的球心的坐标和球半径即可。例如,可以以分子中心坐标作为球心的坐标,可以以分子中相距最远的两个原子之间的距离作为球半径或者球直径。
[0087]
在某些实施例中,与任意两个分子对应的分子模型的外轮廓之间的距离可以包括:对于球形模型,与任意两个分子对应的分子模型的分子中心坐标之间的距离减去与任意两个分子对应的分子模型各自的半径,其中,球形模型以分子中心坐标为球心,以尺寸为球半径。
[0088]
如图4b所示,分子模型可以是六面体。例如,六面体的中心可以是分子中心坐标,六面体的至少两个顶点可以是分子中相距最远的两个原子。六面体的其它顶点可以是在第一平面中的原子坐标,第一平面与相距最远的两个原子所在的连线相交,如相互垂直。
[0089]
如图4c所示,分子模型可以是八面体。例如,八面体的中心可以是分子中心坐标,以分子中心坐标为原点,将空间分为八个子空间,然后确定各子空间中与原点相距最远的原子,并且将这些原子作为八面体的各定点。
[0090]
需要说明的是,以上构建分子模型的方法仅为示例性说明,在此不做限定。例如,分子模型还可以是具有更多面的立体模型,如足球形多面体等。此外,分子模型也可以是直边和曲边共同构建的立体模型,如圆柱形等。
[0091]
在某些实施例中,指定尺寸包括p个原子中的指定原子的原子坐标与分子中心坐标之间的距离,其中,指定原子包括在预设角度范围内的距离分子中心坐标最远的指定个数原子、距离分子中心坐标最远的原子中至少一种。
[0092]
其中,预设角度范围可以是指在极坐标系下的角度范围。例如,角度范围可以通过第一角度范围和第二角度范围进行表示,第一角度范围是在水平面内的角度范围,第二角度范围是在垂直于水平面的平面内的角度范围。需要说明的是,在极坐标系下与预设角度范围对应的空间,可以转换为在笛卡尔坐标系下的坐标范围。预设角度范围可以是连续的,也可以是非连续的,如第一角度范围可以包括0
°‑
360
°
,或者,0
°‑
30
°
、60
°‑
90
°
、120
°‑
150
°
、180
°‑
210
°
、240
°‑
270
°
、300
°‑
330
°
。
[0093]
指定个数是可以调整的,如1个、2个、3个、5个、10个或者更多个。分子体系中可能存在长链分子,当指定个数为1,利用分子中心坐标确定相邻分子时,可能导致得到大量疑似的相邻分子(也称为候选相邻分子,由于分子间距离阈值和分子内距离分子中心坐标最远的原子与分子中心坐标之间的距离相关,该分子间距离阈值设置的越大,则得到的疑似的相邻分子越多)。这可能造成需要计算过多的实际非相邻分子内原子之间的距离,使得响应速度变低。为了提升响应速度,可以尝试选取多个距离分子中心坐标远的原子,并且以该多个原子与分子中心坐标之间的距离的加权均值来确定尺寸,如球半径、立方体边长的一半等。这样可以在不会明显降低确定相邻分子的准确率的基础上,显著提高响应速度,并且减少计算资源的消耗。
[0094]
图5示意性示出了根据本技术实施例的球形分子模型的示意图。
[0095]
如图5所示,以球形模型为例进行示例性说明。球形空间中可以包括至少部分原
子,球形模型的球心是分子中心坐标所在的点。
[0096]
图6示意性示出了根据本技术实施例的分子中心坐标的示意图。
[0097]
如图6所示,坐标系具有x轴、y轴和z轴,空间中任意一个点可以采用坐标(x,y,z)进行表示。坐标系的原点坐标(0,0,0),图6中具有六个原子,则分子中心坐标o可以表示为((x1+x2+x3+x4+x5+x6)/6,(y1+y2+y3+y4+y5+y6)/6,(z1+z2+z3+z4+z5+z6)/6)。
[0098]
图7示意性示出了根据本技术实施例的第一距离的示意图。
[0099]
如图7所示,示出了两个球形模型之间的距离的计算原理示意图。在确定了第一分子的分子中心坐标o1和第二分子的分子中心坐标o2之后,可以采用式(1)计算出o1和o2之间的距离d。然后可以利用距离d减去第一分子的球形模型的球半径和第二分子的球形模型的球半径,得到两个球形模型之间的距离i1。
[0100]
以下对确定相邻分子的过程进行示例性说明。
[0101]
在某些实施例中,对于q个目标分子中的每个当前目标分子,从m个分子中的除n个分子之外的q个目标分子中确定相邻分子可以包括如下操作。
[0102]
重复以下操作直至遍历完所有非当前目标分子,其中,非当前目标分子是q个目标分子中除当前目标分子之外的分子:首先,确定当前目标分子中的至少部分原子的原子坐标与非当前目标分子的分子模型的外轮廓之间的第二距离。然后,如果任一第二距离小于第二距离阈值,则确定非当前目标分子是当前目标分子的候选相邻分子。
[0103]
本实施例中,在计算上述q个目标分子中不同分子的所有原子之间的原子距离之前,还计算了当前目标分子中原子和非当前目标分子的外轮廓之间的距离,这样有助于进一步减少需要计算的原子与原子之间的距离。
[0104]
在某些实施例中,上述方法还可以包括如下操作:如果确定针对当前目标分子中所有的第二距离都大于或者等于第二距离阈值,则确定当前目标分子和所有非当前目标分子之间非相邻。
[0105]
例如,如果当前目标分子中所有原子与非当前目标分子的外轮廓之间的距离大于第二距离阈值,则表明当前目标分子和非当前目标分子之间不可能相邻,无需再计算这两个分子中各原子之间的距离。
[0106]
需要说明的是,第一距离阈值和第二距离阈值可以相同或不同。
[0107]
图8示意性示出了根据本技术实施例的第二距离的示意图。
[0108]
如图8所示,以球形模型为例进行示例性说明。当前目标分子中包括多个原子,可以分别计算各原子与非当前目标分子的外轮廓之间的距离i2。具体地,可以计算当前原子坐标与非当前目标分子的几何中心坐标之间的距离,然后,利用该距离减去非当前目标分子的球形模型的球半径,即可得到距离i2。
[0109]
在某些实施例中,对于针对当前目标分子的每个候选相邻分子,上述方法还可以包括如下操作。
[0110]
首先,确定当前目标分子中至少部分原子各自的原子坐标与候选相邻分子中至少部分原子各自的原子坐标之间的第三距离。其中,当前目标分子中至少部分原子可以是当前目标分子中与非当前目标分子的分子模型的外轮廓之间的第二距离小于第二距离阈值的原子。此外,当前目标分子中至少部分原子还可以是距离当前目标分子的分子中心坐标较远的分子。
[0111]
然后,如果任一第三距离小于第三距离阈值,则确定候选相邻分子和当前目标分子之间相邻。
[0112]
在某些实施例中,上述方法还可以包括:如果所有的第三距离大于或者等于第三距离阈值,则确定当前目标分子与候选相邻分子之间非相邻。其中,第三距离阈值可以与第一距离阈值、第二距离阈值相同或不同,在此不做限定。
[0113]
图9示意性示出了根据本技术实施例的第三距离的示意图。
[0114]
如图9所示,当前目标分子中原子与非当前目标分子中原子之间的距离可以通过各自的坐标进行计算。例如,在指定坐标系中,可以利用式(1)计算与当前目标分子中原子对应的原子坐标和与非当前目标分子中原子对应的原子坐标之间的距离。
[0115]
需要说明的是,第三距离的计算方法可以和第四距离的计算方法相同,在此不再对第四距离的具体计算过程进行详述。第四距离阈值可以和第一距离阈值、第二距离阈值、第三距离阈值相同或不同。
[0116]
在一个具体实施例中,可以大体通过如下四个步骤来实现确定相邻分子。
[0117]
首先,计算分子中心坐标。具体地,根据分子的每个原子指定坐标系中的原子坐标,计算该分子的所有原子在指定坐标系中的平均坐标作为该分子中心坐标;计算模拟体系中所有分子的分子中心坐标。
[0118]
然后,计算分子中的原子与中心的最大距离。需要说明的是,前面两个步骤不是必要步骤,如分子中心坐标和分子中原子坐标与分子中心坐标之间的最大距离可以是由用户输入的,在此不做限定。
[0119]
具体地,可以计算一个分子中所有的原子坐标与该分子的分子中心坐标之间的距离,得到所有原子中与分子中心的最大距离。重复以上操作可以计算分子模拟体系中所有分子的原子与分子中心的最大距离。
[0120]
接着,可以构建分子模型和原子模型,如分别为每个分子构建一个球形模型。例如,以指定坐标系中每个分子的分子中心坐标为球心,原子坐标与分子中心坐标之间的最大距离为球半径,构建球形模型。
[0121]
然后,可以计算每个分子的相邻分子。
[0122]
具体地,以下以分子a和分子b为球形模型为例进行示例性说明。在计算分子a和分子b之间是否相邻时,可以先判断与两个分子对应的球形模型之间的距离是否满足相邻分子的距离阈值。例如,可以判断两个分子的分子中心坐标之间的距离减去两个分子的球半径之和是否小于相邻分子的距离阈值。
[0123]
如果两个球形模型之间的距离大于或者等于相邻分子的距离阈值,则可确定两个分子之间不相邻。因此,无需再计算分子a和分子b之间的所有原子两两之间的距离。本实施例中可以快速确定空间中位置相对较远且明显不相邻的分子,有效提升确定相邻分子的速度,并且提升计算资源利用率。
[0124]
此外,如果与分子a和分子b对应的球形模型之间的距离小于相邻分子的距离阈值,则可以进一步判断分子a中的每个原子与分子b之间的距离是否满足相邻分子的距离阈值。例如,计算分子a的每个原子的原子坐标与分子b的外轮廓之间的距离是否小于相邻分子的距离阈值。其中,分子a的每个原子的原子坐标与分子b的外轮廓之间的距离可以通过如下方式确定:计算分子a的每个原子的原子坐标与分子b的分子中心坐标间的距离,并且
减去分子b的球形模型的球半径。
[0125]
如果分子a的每个原子的原子坐标与分子b的外轮廓之间的距离均大于或者等于相邻分子的距离阈值,则可以确定分子a和分子b之间不相邻。
[0126]
如果分子a中存在至少一个原子与分子b的球形模型的外轮廓之间的距离小于相邻分子距离阈值,则可以计算该至少一个原子与分子b中的至少一个原子之间的距离是否存在小于相邻分子距离阈值,这样就可以准确的确定分子a和分子b之间是否相邻。
[0127]
例如,如果分子b中存在至少一个原子与分子a中至少一个原子间的距离小于相邻分子距离阈值,则可以确定分子a与分子b之间相邻。
[0128]
例如,分子a中有多个原子与分子b的球形模型之间的距离均小于相邻分子的距离阈值,则可以遍历分子a中的该多个原子各自与分子b的各原子之间的距离。具体地,可以先计算分子a中一个原子与分子b中各原子之间的多个距离。如果该多个距离均大于或者等于相邻分子距离阈值,则按照上述方法计算分子a中的该多个原子中下一原子与分子b中各原子之间的距离。如果分子a中该多个原子与分子b中所有原子之间的距离均大于或者等于距离阈值,则可以确定分子a与分子b之间不相邻。
[0129]
在本实施例中,将分子模拟体系中的每个分子构建为一个球形模型,通过判断两个球形模型之间的距离,可快速确定空间中明显不是相邻分子的两个分子。此外,通过计算分子a的每个原子与分子b的外轮廓之间的距离,可快速确定分子a中相对分子b在空间中距离较远的原子,并且进行过滤。该过程可以避免直接计算分子a和分子b间所有原子两两之间的原子距离。上述方法将极大地降低分子模拟过程中相邻分子的计算量,有效减少计算资源,提高计算效率,降低计算成本。将上述方法应用于诸如药物设计和新材料开发中时,可以有效提升药物设计和新材料研发的速度。
[0130]
通过上述方法确定两个分子之间是否相邻,避免了直接计算两个分子间所有原子两两之间的距离。通过该方法可以快速计算分子模拟体系中所有分子两两间是否为相邻分子,并且消耗更少的计算资源。
[0131]
本技术的另一方面还提供了一种设计方法。
[0132]
图10示意性示出了根据本技术实施例的一种设计方法的流程图。
[0133]
如图10所示,上述设计方法包括操作s1010~操作s1020。
[0134]
在操作s1010,确定相邻分子。
[0135]
在操作s1020,基于相邻分子进行药物设计或者材料设计。
[0136]
需要说明的是,确定相邻分子的过程可以参考如上所示的相关内容,在此不再详述。
[0137]
本技术的另一方面还提供了一种确定相邻分子的装置。
[0138]
图11示意性示出了根据本技术实施例的一种确定相邻分子的装置的结构框图。
[0139]
如图11所示,该确定相邻分子的装置1100可以包括:第一距离确定模块1110和第一相邻分子确定模块1120。
[0140]
其中,第一距离确定模块1110用于确定m个分子的分子模型中两两分子模型之间的第一距离。
[0141]
第一相邻分子确定模块1120用于如果确定n个分子的分子模型中两两分子模型之间的第一距离大于第一距离阈值,则从m个分子中的除n个分子之外的q个目标分子中确定
相邻分子,其中,m、n和q是大于零的整数,并且m大于或者等于n。
[0142]
在某些实施例中,上述装置1100还包括:分子中心坐标确定模块,用于在确定m个分子的分子模型中两两分子模型之间的第一距离之前,确定m个分子模型各自的分子中心坐标,以基于m个分子中心坐标确定m个分子的分子模型中两两分子模型之间的第一距离。其中,分子包括p个原子,几何中心坐标是p个原子中至少部分原子各自在指定坐标系中的原子坐标的加权平均几何坐标,p是大于零的整数。
[0143]
在某些实施例中,上述装置1100还包括:尺寸确定模块,用于在确定m个分子的分子模型中两两分子模型之间的第一距离之前,确定m个分子模型各自的尺寸,以基于m个分子中心坐标和m个尺寸确定m个分子的分子模型中两两分子模型之间的第一距离。其中,尺寸包括p个原子中的指定原子的原子坐标与分子中心坐标之间的距离,其中,指定原子包括在预设角度范围内的距离分子中心坐标最远的指定个数原子、距离分子中心坐标最远的原子中至少一种。
[0144]
在某些实施例中,第一距离确定模块1110包括:第一分子距离确定单元、第二分子距离确定单元或者第三分子距离确定单元中任意一个单元。其中,第一分子距离确定单元用于对于m个分子中任意两个分子,确定与任意两个分子对应的分子模型的外轮廓之间的距离。第二分子距离确定单元用于对于m个分子中任意两个分子,确定与任意两个分子对应的分子模型的分子中心坐标之间的距离。第三分子距离确定单元用于对于m个分子中任意两个分子,确定与任意两个分子中一个分子对应的分子模型的外轮廓,和与另一个分子对应的分子模型的分子中心坐标之间的距离。
[0145]
在某些实施例中,分子模型包括球形模型、具有直边的立体几何模型中任意一种。与任意两个分子对应的分子模型的外轮廓之间的距离包括:对于球形模型,与任意两个分子对应的分子模型的几何中心坐标之间的距离减去与任意两个分子对应的分子模型各自的半径,其中,球形模型以分子中心坐标为球心坐标,以尺寸为半径。
[0146]
在某些实施例中,第一相邻分子确定模块1120包括:第二距离确定单元、第二相邻分子确定单元和遍历单元。
[0147]
其中,第二距离确定单元用于确定当前目标分子中的至少部分原子的原子坐标与非当前目标分子的分子模型的外轮廓之间的第二距离。其中,非当前目标分子是q个目标分子中除当前目标分子之外的分子。
[0148]
第二相邻分子确定单元用于如果第二距离小于第二距离阈值,则确定非当前目标分子是当前目标分子的候选相邻分子。
[0149]
遍历单元用于重复执行第二距离确定单元和候选相邻分子确定单元直至遍历完所有非当前目标分子。
[0150]
在某些实施例中,上述装置1100还包括:第二非相邻分子确定模块。其中,第二非相邻分子确定模块用于如果确定针对当前目标分子的所有的第二距离都大于或者等于第二距离阈值,则确定当前目标分子和所有非当前目标分子之间非相邻。
[0151]
在某些实施例中,上述装置1100还包括:第三距离确定模块和第三相邻分子确定模块。其中,第三距离确定模块用于对于针对当前目标分子的每个候选相邻分子,确定当前目标分子中至少部分原子各自的原子坐标与候选相邻分子中至少部分原子各自的原子坐标之间的第三距离。
[0152]
第三相邻分子确定模块用于如果第三距离小于第三距离阈值,则确定候选相邻分子和当前目标分子之间相邻。
[0153]
在某些实施例中,当前目标分子中至少部分原子是当前目标分子中与非当前目标分子的分子模型的外轮廓之间的第二距离小于第二距离阈值的原子。
[0154]
在某些实施例中,上述装置1100还包括:第三非相邻分子确定模块。其中,第三非相邻分子确定模块用于如果第三距离大于或者等于第三距离阈值,则确定当前目标分子与候选相邻分子之间非相邻。
[0155]
在某些实施例中,第一相邻分子确定模块1120还包括:第四距离确定单元和第四相邻分子确定单元。
[0156]
其中,第四距离确定单元用于对于q个目标分子中的每一个,确定当前目标分子中至少部分原子各自的原子坐标与非当前目标分子中至少部分原子各自的原子坐标之间的第四距离,其中,非当前目标分子是q个目标分子中除当前目标分子之外的分子。
[0157]
第四相邻分子确定单元用于如果第四距离小于第四距离阈值,则确定当前目标分子和非当前目标分子之间相邻。
[0158]
本技术的另一方面还提供了一种设计装置。
[0159]
图12示意性示出了根据本技术实施例的一种设计装置的结构框图。
[0160]
如图12所示,该设计装置1200可以包括:相邻分子确定模块1210和设计模块1220。
[0161]
其中,相邻分子确定模块1210用于利用如上的确定相邻分子的装置1100确定相邻分子。
[0162]
设计模块1220用于基于相邻分子进行药物设计或者材料设计。
[0163]
关于上述实施例中的确定相邻分子的装置1100、设计装置1200,其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
[0164]
本技术的另一方面还提供了一种电子设备。
[0165]
图13示意性示出了实现本技术实施例的一种确定相邻分子的方法的电子设备的方框图。
[0166]
参见图13,电子设备1300包括存储器1310和处理器1320。
[0167]
处理器1320可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0168]
存储器1310可以包括各种类型的存储单元,例如系统内存、只读存储器(rom)和永久存储装置。其中,rom可以存储处理器1320或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者
易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1310可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(例如dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1310可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、min sd卡、micro-sd卡等)、磁性软盘等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
[0169]
存储器1310上存储有可执行代码,当可执行代码被处理器1320处理时,可以使处理器1320执行上文述及的方法中的部分或全部。
[0170]
此外,根据本技术的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本技术的上述方法中部分或全部步骤的计算机程序代码指令。
[0171]
或者,本技术还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被电子设备(或服务器等)的处理器执行时,使处理器执行根据本技术的上述方法的各个步骤的部分或全部。
[0172]
以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。
技术特征:
1.一种确定相邻分子的方法,其特征在于,所述方法包括:确定m个分子的分子模型中两两分子模型之间的第一距离;如果确定n个分子的分子模型中两两分子模型之间的第一距离大于第一距离阈值,则从所述m个分子中的除所述n个分子之外的q个目标分子中确定相邻分子,其中,m、n和q是大于零的整数,并且m大于或者等于n。2.根据权利要求1所述的方法,其特征在于,还包括:在所述确定m个分子的分子模型中两两分子模型之间的第一距离之前,确定所述m个分子模型各自的分子中心坐标,以基于m个分子中心坐标确定所述m个分子的分子模型中两两分子模型之间的第一距离,其中,所述分子包括p个原子,所述分子中心坐标是所述p个原子中至少部分原子各自在指定坐标系中的原子坐标的加权平均几何坐标,p是大于零的整数。3.根据权利要求2所述的方法,其特征在于,还包括:在所述确定m个分子的分子模型中两两分子模型之间的第一距离之前,确定所述m个分子模型各自的尺寸,以基于m个分子中心坐标和m个尺寸确定所述m个分子的分子模型中两两分子模型之间的第一距离,其中,所述尺寸包括所述p个原子中的指定原子的原子坐标与所述分子中心坐标之间的距离,其中,所述指定原子包括在预设角度范围内的距离所述分子中心坐标最远的指定个数原子、距离所述分子中心坐标最远的原子中至少一种。4.根据权利要求3所述的方法,其特征在于,所述确定m个分子的分子模型中两两分子模型之间的第一距离包括:对于所述m个分子中任意两个分子,确定与所述任意两个分子对应的分子模型的外轮廓之间的距离;或者确定与所述任意两个分子对应的分子模型的分子中心坐标之间的距离;或者确定与所述任意两个分子中一个分子对应的分子模型的外轮廓,和与另一个分子对应的分子模型的分子中心坐标之间的距离。5.根据权利要求4所述的方法,其特征在于,所述分子模型包括球形模型、具有直边的立体几何模型中任意一种;所述与所述任意两个分子对应的分子模型的外轮廓之间的距离包括:对于球形模型,与所述任意两个分子对应的分子模型的几何中心坐标之间的距离减去与所述任意两个分子对应的分子模型各自的半径,其中,所述球形模型以所述分子中心坐标为球心坐标,以所述尺寸为半径。6.根据权利要求1至5任一项所述的方法,其特征在于,所述从所述m个分子中的除所述n个分子之外的q个目标分子中确定相邻分子包括:对于所述q个目标分子中的每个当前目标分子,重复以下操作直至遍历完所有非当前目标分子,其中,所述非当前目标分子是所述q个目标分子中除所述当前目标分子之外的分子:确定所述当前目标分子中的至少部分原子的原子坐标与所述非当前目标分子的分子模型的外轮廓之间的第二距离;如果所述第二距离小于第二距离阈值,则确定所述非当前目标分子是所述当前目标分子的候选相邻分子。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:如果确定针对所述当前目标分子的所有的第二距离都大于或者等于所述第二距离阈值,则确定所述当前目标分子和所有非当前目标分子之间非相邻。8.根据权利要求6所述的方法,其特征在于,所述方法还包括:对于针对所述当前目标分子的每个候选相邻分子,确定所述当前目标分子中至少部分原子各自的原子坐标与所述候选相邻分子中至少部分原子各自的原子坐标之间的第三距离;如果所述第三距离小于第三距离阈值,则确定所述候选相邻分子和所述当前目标分子之间相邻。9.根据权利要求8所述的方法,其特征在于,所述当前目标分子中至少部分原子是所述当前目标分子中与所述非当前目标分子的分子模型的外轮廓之间的第二距离小于所述第二距离阈值的原子。10.根据权利要求8所述的方法,其特征在于,所述方法还包括:如果所述第三距离大于或者等于所述第三距离阈值,则确定所述当前目标分子与所述候选相邻分子之间非相邻。11.根据权利要求1至5任一项所述的方法,其特征在于,所述从所述m个分子中的除所述n个分子之外的q个目标分子中确定相邻分子包括:对于所述q个目标分子中的每一个,确定当前目标分子中至少部分原子各自的原子坐标与非当前目标分子中至少部分原子各自的原子坐标之间的第四距离,其中,所述非当前目标分子是所述q个目标分子中除所述当前目标分子之外的分子;如果所述第四距离小于第四距离阈值,则确定所述当前目标分子和所述非当前目标分子之间相邻。12.一种设计方法,其特征在于,所述方法包括:根据权利要求1至11中任一项所述的方法,确定相邻分子;基于所述相邻分子进行药物设计或者材料设计。13.一种确定相邻分子的装置,其特征在于,包括:第一距离确定模块,用于确定m个分子的分子模型中两两分子模型之间的第一距离;第一相邻分子确定模块,用于如果确定n个分子的分子模型中两两分子模型之间的第一距离大于第一距离阈值,则从所述m个分子中的除所述n个分子之外的q个目标分子中确定相邻分子,其中,m、n和q是大于零的整数,并且m大于或者等于n。14.一种设计装置,其特征在于,包括:相邻分子确定模块,用于根据权利要求13所述的确定相邻分子的装置确定相邻分子;设计模块,用于基于所述相邻分子进行药物设计或者材料设计。15.一种电子设备,其特征在于,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-12中任一项所述的方法。16.一种计算机可读存储介质,其特征在于,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-12中任一项所述的方法。
17.一种计算机程序产品,其特征在于,包括可执行代码,所述可执行代码被处理器执行时实现根据权利要求1-12中任一项所述的方法。
技术总结
本申请涉及了一种确定相邻分子的方法、装置、设计方法和电子设备。该方法包括:确定M个分子的分子模型中两两分子模型之间的第一距离;如果确定N个分子的分子模型中两两分子模型之间的第一距离大于第一距离阈值,则从M个分子中的除N个分子之外的Q个目标分子中确定相邻分子,其中,M、N和Q是大于零的整数,并且M大于或者等于N。本申请提供的方案,能够降低确定相邻分子所消耗的计算资源,并且提升响应速度。度。度。
技术研发人员:胡康明 林晓露
受保护的技术使用者:深圳晶泰科技有限公司
技术研发日:2021.12.03
技术公布日:2022/3/8