一种基于深层图神经网络的分子表示方法及系统

未命名 08-01 阅读:292 评论:0


1.一种基于深层图神经网络的分子表示方法及系统,用于分子表示,涉及人工智能技术领域,尤其涉及生物计算、深度学习技术领域。


背景技术:

2.目前主流的分子表示方法有三种。第一种使用化学-化学相互作用和结构相似性的信息构建特征矩阵,当需要预测时直接取出矩阵中对应的行列作为分子表示。第二种是使用分子的smiles表示法或是分子扩展连通性指纹ecfp,将分子表示为一个token序列,使用自然语言处理nlp领域的相关方法预测分子性质或做分子设计。这两种方法都有一个显著的缺陷,分子作为一种非欧数据,无法显式的表征空间拓扑性质。第三种方法基于图神经网络,以化学小分子为例,将原子视为图上结点,化学键视为边,构建分子图,利用图上的卷积和读出算法,就可以得到整张图的嵌入特征,作为分子的表示。
3.图神经网络具有过平滑问题:
4.当前的图神经网络,主要基于消息传递框架,信息的传递依赖于聚合和更新操作。一个结点,主要从周围的邻居结点获取特征表示,进而更新自身的特征表示,这导致相邻结点趋向于具有相近的表示。当网络层数加深时,随着传播次数的增加,整张图的各结点信息也将趋同,缺乏不同结点的区分度,所以,深层的图神经网络反而会导致任务性能下降。
5.采用注意力机制延缓过平滑存在的问题:
6.已有技术采用计算注意力的方式改进消息传递机制,增大自身结点在传递消息时的权重,以减少过度的消息传递,从而在一定程度上克服过平滑问题。但是,为每个结点计算注意力权重会导致大量的算力消耗,并且网络层数加深之后,虽然每次传递时的系数较低,但消息传递次数增多后依然具有过平滑问题。此类方案仅通过自适应权重来延缓过平滑问题,但网络加深后计算量爆炸且平滑问题再次显现。
7.拓展图上深层结构的重要性:
8.合理的做深神经网络,有益于性能增强,这是深度学习领域的普遍共识。在图深度学习中,一次图卷积可以聚合邻居结点的信息,想要获得更远结点的信息,就必须增加图卷积次数以增加结点感受野,但过平滑问题导致图神经网络无法做深,极大限制网络的表达能力,限制分子表示的生成质量。因此,亟待一种基于深层图神经网络的生物化学分子表示方法。
9.虽然《基于transformer和增强交互型mpnn神经网络的小分子表示学习方法》也克服过平滑的问题,但仍然存在如下技术问题:
10.1.没有很好的解决过平滑问题。过平滑导致图神经网络无法增加图卷积次数以增加结点感受野,现有的注意力改进方案只能延缓过平滑问题,加深网络后过平滑问题将重现,极大限制网络的表达能力,从而造成分子表示的生成质量不佳的问题v
11.2.网络层数较浅。只能用浅层网络抽取分子表示,结点感受野较小,从而造成信息传递融合不充分;
12.3.计算复杂度高。现有的基于注意力的方案,需要在每一个结点接收消息时,为邻居赋权重,虽然有益于性能提升,但会增加大量计算量。


技术实现要素:

13.针对上述研究的问题,本发明的目的在于提供一种基于深层图神经网络的分子表示方法及系统,解决现有技术过平滑导致图神经网络无法增加图卷积次数以增加结点感受野,现有的注意力改进方案只能延缓过平滑问题,加深网络后过平滑问题将重现,极大限制网络的表达能力,从而造成分子表示的生成质量不佳的问题。
14.为了达到上述目的,本发明采用如下技术方案:
15.一种基于深层图神经网络的分子表示方法,包括如下步骤:
16.s1.调用第三方库将分子的计算机存储数据转化为分子图,分子图包括邻接矩阵、结点和边,其中,调用第三方库包括rdkit;
17.s2.分析分子图得到分子图的结点和边的初始特征向量;
18.s3.基于图神经网络和邻接矩阵对结点和边的初始特征向量进行密集残差图卷积运算,得到新的结点和边的特征向量;
19.s4.对新的结点和边的特征向量进行池化操作,得到分子表示。
20.进一步,所述步骤s1的具体步骤为:
21.s1.1.获取分子的计算机存储数据,其中,计算机存储数据是以“.mol”、“.sdf”、“.kcf”为后缀存储起来的分子的文本文件,或一串基于smiles表示法的分子字符串;
22.s1.2.若计算机存储数据为以“.mol”、“.sdf”、“.kcf”后缀存储起来的分子的文本文件,转到步骤s1.3,若计算机存储数据为以smiles表示法存储起来的分子的文本文件,转到步骤s1.4,否则,跳过;
23.s1.3.初始化一个空的分子类,并采用开源工具包rdkit中的函数从上到下逐行扫描分子的文本文件,在分子类中依次读入原子信息和化学键信息,将原子信息和化学键信息分别存储进分子类中的结点和边,得到一个存储了结点和边的分子类,其中,原子信息包括原子位置、原子描述符、化学键类型和作为结点唯一标识的原子id,化学键信息以原子idi-原子idj关系对记录,i表示第i个原子,j表示第j个原子,且i≠j,化学键类型包括以
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“*”代表的其他键,原子描述符包括“c”、“h”、“0”;
24.s1.4.初始化一个空的分子类,采用开源工具包rdkit中的函数分析存储的一维序列分子字符串的字符中的原子、原子的边类型、支链结构和环结构,并基于原子、原子的边类型、支链结构和环结构得到原子信息和化学键信息,将原子信息和化学键信息分别存储进分子类中的结点和边,得到一个存储了结点和边的分子类,其中,一个结点存储一个原子信息,一个边存储一个化学键信息,一维序列分子字符串包含以英文字母元素符号表示的原子,
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“()”内表示碳链分支和环的断开处用数字标记,分子类中原子信息包括原子位置、原子描述符、化学键类型和作为结点唯一标识的原子id,化学键信息以原子idi-原子idj关系对记录,i表示第i个原子,j表示第j个原子,且i≠j,化学键类型包括以
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“*”代表的其他键,原子描述符包括“c”、“h”、“0”、“n”、“s”、“p”、“cl”、“si”,氢原子“h”、单键和芳香键在smiles和分子类中省略或保留;
25.s1.5.初始化一个分子图类以及一个行和列都为结点数大小的零矩阵,行列索引步骤s1.3或步骤s1.4得到的分子类中对应的原子id,根据原子idi-原子idj关系对,在零矩阵中对应的位置填入1,得到基于无向图的邻接矩阵a,邻接矩阵蕴含了分子图的拓扑结构,将分子类中存储了原子信息的结点和存储了化学键信息的边,与邻接矩阵一同存储进分子图类作为属性,得到一个存储了结点、边、邻接矩阵的分子图类,即分子图。
26.进一步,所述步骤s2的具体步骤为:
27.步骤s2.1:根据分子图中原子在元素周期表中的原子序号,为每个存储了原子信息的结点构造一个118维为长度的one-hot向量,得到的向量作为结点的初始向量,存储在分子图中,其中,118维基于最大原子序数确定的;
28.步骤s2.2:传入步骤s2.1得到的分子图,初始化一个长度为5的列表:[0:单键,1:双键,2:三键,3:芳香键,4:其他],初始化一个5维的零向量,根据化学键类型的对应数字,在对应位置赋值为1,得到一个5维的one-hot向量,并将得到的向量作为边的初始特征向量,存入分子图中。
[0029]
进一步,所述步骤s3的具体步骤为:
[0030]
步骤s3.1:图神经网络的各层网络的操作依次为图卷积、激活、密集残差连接、激活、批归一化操作,一次图卷积依次为聚合、更新操作,对第l层网络记为f
l
,下标l的取值范围为0,1,

,l,l代表网络总层数,不特指层数时简记为f,第l层网络的输入是上一层网络的输出g
l-1
=(a,v,e,h
l-1
),第1层网络的输入是步骤s2.2得到的分子图g0,第l层网络输出的分子图记为g
l
=(a,v,e,h
l
),其中,a代表邻接矩阵,v和e分别代表结点和边的集合,),其中,a代表邻接矩阵,v和e分别代表结点和边的集合,代表第l层结点和边的特征向量,将存入g0的初始特征记为h0;
[0031]
步骤s3.2:初始化一个新分子图,同时,初始化g
l
=g
l-1
,将g
l-1
的结点、边、邻接矩阵复制进g
l
作为初始化值,得到分子图g
l

[0032]
步骤s3.3:聚合操作,即将g
l
上的每一个结点的邻居结点和与邻居相邻的边的特征向当前结点汇聚,得到图的结点和边的新特征向量,公式为:
[0033][0034]
其中,代表第l层聚合函数aggregate()中学习的参数,aggregateresu l t是得到的聚合结果;
[0035]
步骤s3.4:基于步骤s3.3得到的g
l
进行更新操作,对聚合结果aggregateresult应用更新函数,更新函数采用一层线性层,得到图上结点和边的新特征向量,公式为:
[0036][0037]
其中,代表第l层更新函数update()中学习的参数,updateresult是得到的更新结果;
[0038]
步骤s3.5:基于步骤s3.4得到的更新结果updateresult进行激活操作,采用relu函数作为激活函数,对更新结果进行激活,公式为:
[0039]
activationresult=relu(updateresult)
[0040]
将得到的激活结果activationresult记为作为分子图上结点和边的新的特征向量;
[0041]
步骤s3.6:基于步骤s3.5得到的添加密集残差连接,得到更新后的
[0042]
当l=1时,公式如下:
[0043][0044]
当l>1时,公式如下:
[0045][0046]
其中,

代表省略递推的公式,密集性体现在蕴含先前所有网络层的输出特征h1至h
l-1
,残差体现在蕴含第l层网络运算之前的特征h
l-1
;此外,该式还体现了初始连接,蕴含原始输入h0;h
l-1
为上一层网络经过批归一化操作得到的结果;
[0047]
步骤s3.7:基于步骤s3.6得到的进行再次激活,得到公式为:
[0048][0049]
其中,relu()为激活函数;
[0050]
步骤s3.8:基于步骤s3.6得到的进行批归一化操作,得到h
l
,公式为:
[0051][0052]
其中,batchnorm()为批归一化操作函数;
[0053]
步骤s3.9:当l<l时,将h
l
存入g
l
=(a,v,e,h
l
),用于后续网络层的步骤,执行l=l+1,并转到步骤s3.1;当l=l时,将h
l
存入g
l
=(a,v,e,h
l
),输出最后一层的分子图g
l
,得到新的结点和边的特征向量;进一步,所述步骤s4的具体步骤为:
[0054]
步骤s4.1:若做结点级和边级任务,直接输出最终图作为最终表示;
[0055]
步骤s4.2:若做图级任务,对最终图采用池化策略进行读出,输出特征向量作为分子表示。
[0056]
一种基于深层图神经网络的分子表示系统,包括:
[0057]
转化模块:调用第三方库将分子的计算机存储数据转化为分子图,分子图包括邻接矩阵、结点和边,其中,调用第三方库包括rdkit;
[0058]
分析模块:分析分子图得到分子图的结点和边的初始特征向量;
[0059]
密集残差图卷积运算模块:基于图神经网络和邻接矩阵对结点和边的初始特征向量进行密集残差图卷积运算,得到新的结点和边的特征向量;
[0060]
分子表示模块:对新的结点和边的特征向量进行池化操作,得到分子表示。
[0061]
进一步,所述转化模块的具体实现步骤为:
[0062]
s1.1.获取分子的计算机存储数据,其中,计算机存储数据是以“.mol”、“.sdf”、“.kcf”为后缀存储起来的分子的文本文件,或一串基于smiles表示法的分子字符串;
[0063]
s1.2.若计算机存储数据为以“.mol”、“.sdf”、“.kcf”后缀存储起来的分子的文本文件,转到步骤s1.3,若计算机存储数据为以smiles表示法存储起来的分子的文本文件,转到步骤s1.4,否则,跳过;
[0064]
s1.3.初始化一个空的分子类,并采用开源工具包rdkit中的函数从上到下逐行扫描分子的文本文件,在分子类中依次读入原子信息和化学键信息,将原子信息和化学键信息分别存储进分子类中的结点和边,得到一个存储了结点和边的分子类,其中,原子信息包括原子位置、原子描述符、化学键类型和作为结点唯一标识的原子id,化学键信息以原子idi-原子idj关系对记录,i表示第i个原子,j表示第j个原子,且i≠j,化学键类型包括以
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“*”代表的其他键,原子描述符包括“c”、“h”、“o”;
[0065]
s1.4.初始化一个空的分子类,采用开源工具包rdkit中的函数分析存储的一维序列分子字符串的字符中的原子、原子的边类型、支链结构和环结构,并基于原子、原子的边类型、支链结构和环结构得到原子信息和化学键信息,将原子信息和化学键信息分别存储进分子类中的结点和边,得到一个存储了结点和边的分子类,其中,一个结点存储一个原子信息,一个边存储一个化学键信息,一维序列分子字符串包含以英文字母元素符号表示的原子,
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“()”内表示碳链分支和环的断开处用数字标记,分子类中原子信息包括原子位置、原子描述符、化学键类型和作为结点唯一标识的原子id,化学键信息以原子idi-原子idj关系对记录,i表示第i个原子,j表示第j个原子,且i≠j,化学键类型包括以
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“*”代表的其他键,原子描述符包括“c”、“h”、“0”、“n”、“s”、“p”、“ci”、“si”,氢原子“h”、单键和芳香键在smiles和分子类中省略或保留;
[0066]
s1.5.初始化一个分子图类以及一个行和列都为结点数大小的零矩阵,行列索引步骤s1.3或步骤s1.4得到的分子类中对应的原子id,根据原子idi-原子idj关系对,在零矩阵中对应的位置填入1,得到基于无向图的邻接矩阵a,邻接矩阵蕴含了分子图的拓扑结构,将分子类中存储了原子信息的结点和存储了化学键信息的边,与邻接矩阵一同存储进分子图类作为属性,得到一个存储了结点、边、邻接矩阵的分子图类,即分子图。
[0067]
进一步,所述分析模块的具体实现步骤为:
[0068]
步骤s2.1:根据分子图中原子在元素周期表中的原子序号,为每个存储了原子信息的结点构造一个118维为长度的one-hot向量,得到的向量作为结点的初始向量,存储在分子图中,其中,118维基于最大原子序数确定的;
[0069]
步骤s2.2:传入步骤s2.1得到的分子图,初始化一个长度为5的列表:[0:单键,1:双键,2:三键,3:芳香键,4:其他],初始化一个5维的零向量,根据化学键类型的对应数字,在对应位置赋值为1,得到一个5维的one-hot向量,并将得到的向量作为边的初始特征向量,存入分子图中。
[0070]
进一步,所述密集残差图卷积运算模块的具体实现步骤为:
[0071]
步骤s3.1:图神经网络的各层网络的操作依次为图卷积、激活、密集残差连接、激活、批归一化操作,一次图卷积依次为聚合、更新操作,对第l层网络记为f
l
,下标l的取值范围为0,1,

,l,l代表网络总层数,不特指层数时简记为f,第l层网络的输入是上一层网络
的输出g
l-1
=(a,v,e,h
l-1
),第1层网络的输入是步骤s2.2得到的分子图g0,第l层网络输出的分子图记为g
l
=(a,v,e,h
l
),其中,a代表邻接矩阵,v和e分别代表结点和边的集合,),其中,a代表邻接矩阵,v和e分别代表结点和边的集合,代表第l层结点和边的特征向量,将存入g0的初始特征记为h0;
[0072]
步骤s3.2:初始化一个新分子图,同时,初始化g
l
=g
l-1
,将g
l-1
的结点、边、邻接矩阵复制进g
l
作为初始化值,得到分子图g
l

[0073]
步骤s3.3:聚合操作,即将g
l
上的每一个结点的邻居结点和与邻居相邻的边的特征向当前结点汇聚,得到图的结点和边的新特征向量,公式为:
[0074][0075]
其中,代表第l层聚合函数aggregate()中学习的参数,aggregateresult是得到的聚合结果;
[0076]
步骤s3.4:基于步骤s3.3得到的g
l
进行更新操作,对聚合结果aggregateresult应用更新函数,更新函数采用一层线性层,得到图上结点和边的新特征向量,公式为:
[0077][0078]
其中,代表第l层更新函数update()中学习的参数,updateresult是得到的更新结果;
[0079]
步骤s3.5:基于步骤s3.4得到的更新结果updateresult进行激活操作,采用relu函数作为激活函数,对更新结果进行激活,公式为:
[0080]
activationresult=relu(updateresult)
[0081]
将得到的激活结果activationresult记为作为分子图上结点和边的新的特征向量;
[0082]
步骤s3.6:基于步骤s3.5得到的添加密集残差连接,得到更新后的
[0083]
当l=1时,公式如下:
[0084][0085]
当l>1时,公式如下:
[0086][0087]
其中,

代表省略递推的公式,密集性体现在蕴含先前所有网络层的输出特征h1至h
l-1
,残差体现在蕴含第l层网络运算之前的特征h
l-1
;此外,该式还体现了初始连接,蕴含原始输入h0;h
l-1
为上一层网络经过批归一化操作得到的结果;
[0088]
步骤s3.7:基于步骤s3.6得到的进行再次激活,得到公式为:
[0089]
[0090]
其中,relu()为激活函数;
[0091]
步骤s3.8:基于步骤s3.6得到的进行批归一化操作,得到h
l
,公式为:
[0092][0093]
其中,batchnorm()为批归一化操作函数;
[0094]
步骤s3.9:当l<l时,将h
l
存入g
l
=(a,v,e,h
l
),用于后续网络层的步骤,执行l=l+1,并转到步骤s3.1;当l=l时,将h
l
存入g
l
=(a,v,e,h
l
),输出最后一层的分子图g
l
,得到新的结点和边的特征向量;进一步,所述分子表示模块的具体实现步骤为:
[0095]
步骤s4.1:若做结点级和边级任务,直接输出最终图作为最终表示;
[0096]
步骤s4.2:若做图级任务,对最终图采用池化策略进行读出,输出特征向量作为分子表示。
[0097]
本发明同现有技术相比,其有益效果表现在:
[0098]
一、本发明可以为分子的空间结构的显式建模:
[0099]
图作为一种异构非欧数据,基于相似度的表示方法和基于序列的表示方法未能包含显式拓扑信息。而采用分子图的设计,将原子建模为点,分子建模为边,在图上进行信息传递,更为符合分子自身的结构,丰富了分子的空间表示信息,为得到一个质量更好的分子表示提供保障;
[0100]
二、本发明中分子图初始连接,保留初始图信息,有助于克服过平滑问题:
[0101]
以往图神经网络做深时,性能反而下降,一个主要的原因是,聚合次数过多导致相邻结点趋向于具有相近的表示,因此,保留最初的初始图g0是很有必要的,为每层网络的输入提供区分度和初始类别信息,有助于克服过平滑问题;
[0102]
三、本发明中图残差连接,有助于加深图网络:
[0103]
当网络层数加深时,可能会产生信息消失或梯度消失现象,图上的残差连接有助于稳定深层图卷积的梯度,将先前的网络的输出送进后面的网络,也可以简化学习的难度;
[0104]
四、本发明中图密集连接,有助于提高信息利用率,丰富图信息表示:
[0105]
网络层数越深,过拟合的风险也越大,网络的冗余性也随之增加,增加密集连接,网络在计算时可以参考各级的计算输出,提高了冗余信息的利用率,丰富结果的表示,即能用于深层网络抽取分子表示,结点感受野较大,使得信息传递融合充分;
[0106]
五、在药物的atc分类任务上,现有的最先进技术基于cnn-text方法,利用分子smiles的字符串序列为分子建模,本发明的方法可在atc的第1级和第2级分类任务上高出cnn-text方法2.2%和8.3%;
[0107]
六、本发明计算复杂度低,即对硬件性能要求低。
附图说明
[0108]
图1为本发明的流程示意图;
[0109]
图2为本发明中得到分子图的流程示意图。
具体实施方式
[0110]
下面将结合附图及具体实施方式对本发明作进一步的描述。
[0111]
一种基于深层图神经网络的分子表示方法,包括如下步骤:
[0112]
s1.调用第三方库将分子的计算机存储数据转化为分子图,分子图包括邻接矩阵、结点和边,其中,调用第三方库包括rdkit;即对生物化学分子的计算机存储数据,进行转化建图操作,得到一个分子图拓扑结构,也可以简称为分子图。分子图上具有原子信息和化学键信息转化而来的结点和边,也具有记录拓扑结构的邻接矩阵。具体步骤为:
[0113]
s1.1.获取分子的计算机存储数据,其中,计算机存储数据是以“.mol”、“.sdf”、“.kcf”为后缀存储起来的分子的文本文件,或一串基于smiles表示法的分子字符串;
[0114]
s1.2.若计算机存储数据为以“.mol”、“.sdf”、“.kcf”后缀存储起来的分子的文本文件,转到步骤s1.3,若计算机存储数据为以smiles表示法存储起来的分子的文本文件,转到步骤s1.4,否则,跳过;
[0115]
s1.3.调用molfrommolfile()方法,传入分子的文本文件路径参数,初始化一个空的分子类,并采用开源工具包rdkit中的函数从上到下逐行扫描分子的文本文件,在分子类中依次读入原子信息和化学键信息,将原子信息和化学键信息分别存储进分子类中的结点和边,得到一个存储了结点和边的分子类,其中,原子信息包括原子位置、原子描述符、化学键类型和作为结点唯一标识的原子id,化学键信息以原子idi-原子idj关系对记录,i表示第i个原子,j表示第j个原子,且i≠j,化学键类型包括以
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“*”代表的其他键,原子描述符包括“c”、“h”、“o”;
[0116]
s1.4.调用molfromsmiles()方法,传入基于smiles表示法的一维序列分子字符串,初始化一个空的分子类,采用开源工具包rdkit中的函数分析存储的一维序列分子字符串的字符中的原子、原子的边类型、支链结构和环结构,并基于原子、原子的边类型、支链结构和环结构得到原子信息和化学键信息,将原子信息和化学键信息分别存储进分子类中的结点和边,得到一个存储了结点和边的分子类,其中,一个结点存储一个原子信息,一个边存储一个化学键信息,一维序列分子字符串包含以英文字母元素符号表示的原子,
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“()”内表示碳链分支和环的断开处用数字标记,分子类中原子信息包括原子位置、原子描述符、化学键类型和作为结点唯一标识的原子id,化学键信息以原子idi-原子idj关系对记录,i表示第i个原子,j表示第j个原子,且i≠j,化学键类型包括以
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“*”代表的其他键,原子描述符包括“c”、“h”、“o”、“n”、“s”、“p”、“cl”、“si”,氢原子“h”、单键和芳香键在smiles和分子类中省略或保留;
[0117]
s1.5.调用moltobigraph()方法,传入步骤s1.3或步骤s1.4得到的分子类,初始化一个分子图类以及一个行和列都为结点数大小的零矩阵,行列索引步骤s1.3或步骤s1.4得到的分子类中对应的原子id,根据原子idi-原子idj关系对,在零矩阵中对应的位置填入1,得到基于无向图的邻接矩阵a,邻接矩阵蕴含了分子图的拓扑结构,将分子类中存储了原子信息的结点和存储了化学键信息的边,与邻接矩阵一同存储进分子图类作为属性,得到一个存储了结点、边、邻接矩阵的分子图类,即分子图。
[0118]
s2.分析分子图得到分子图的结点和边的初始特征向量;即对得到的分子图,分析其对应的原子信息,得到结点和边的初始特征向量,分子图拓扑蕴含着分子的空间信息,结点和边的特征向量蕴含着原子和化学键的化学特征信息。具体步骤为:
[0119]
步骤s2.1:根据分子图中原子在元素周期表中的原子序号,为每个存储了原子信
息的结点构造一个118维为长度的one-hot向量,得到的向量作为结点的初始向量,存储在分子图中,其中,118维基于最大原子序数确定的;
[0120]
步骤s2.2:传入步骤s2.1得到的分子图,初始化一个长度为5的列表:[0:单键,1:双键,2:三键,3:芳香键,4:其他],初始化一个5维的零向量,根据化学键类型的对应数字,在对应位置赋值为1,得到一个5维的one-hot向量,并将得到的向量作为边的初始特征向量,存入分子图中。
[0121]
s3.基于图神经网络和邻接矩阵对结点和边的初始特征向量进行密集残差图卷积运算,得到新的结点和边的特征向量;即对得到的分子图和初始特征向量,至少进行一次密集残差图卷积运算,得到新的结点和边的特征向量。初始特征向量和每次密集残差图卷积运算的特征都将得到保留,为顺序在后的密集残差图卷积运算提供依赖。具体步骤为:
[0122]
步骤s3.1:图神经网络的各层网络的操作依次为图卷积、激活、密集残差连接、激活、批归一化操作,一次图卷积依次为聚合、更新操作,对第l层网络记为fl,下标l的取值范围为0,1,

,l,l代表网络总层数,不特指层数时简记为f,第l层网络的输入是上一层网络的输出g
l-1
=(a,v,e,h
l-1
),第1层网络的输入是步骤s2.2得到的分子图g0,第l层网络输出的分子图记为g
l
=(a,v,e,h
l
),其中,a代表邻接矩阵,v和e分别代表结点和边的集合,),其中,a代表邻接矩阵,v和e分别代表结点和边的集合,代表第l层结点和边的特征向量,将存入g0的初始特征记为h0;
[0123]
步骤s3.2:初始化一个新分子图,同时,初始化g
l
=g
l-1
,将g
l-1
的结点、边、邻接矩阵复制进g
l
作为初始化值,得到分子图g
l

[0124]
步骤s3.3:聚合操作,即将g
l
上的每一个结点的邻居结点和与邻居相邻的边的特征向当前结点汇聚,得到图的结点和边的新特征向量,公式为:
[0125][0126]
其中,代表第l层聚合函数aggregate()中学习的参数,aggregateresult是得到的聚合结果;
[0127]
步骤s3.4:基于步骤s3.3得到的g
l
进行更新操作,对聚合结果aggregateresult应用更新函数,更新函数采用一层线性层,得到图上结点和边的新特征向量,公式为:
[0128][0129]
其中,代表第l层更新函数update()中学习的参数,updateresult是得到的更新结果;
[0130]
步骤s3.5:基于步骤s3.4得到的更新结果updateresult进行激活操作,采用relu函数作为激活函数,对更新结果进行激活,公式为:
[0131]
activationresult=relu(updateresult)
[0132]
将得到的激活结果activationresult记为作为分子图上结点和边的新的特征向量;
[0133]
步骤s3.6:基于步骤s3.5得到的添加密集残差连接,得到更新后的
[0134]
当l=1时,公式如下:
[0135][0136]
当l>1时,公式如下:
[0137][0138]
其中,

代表省略递推的公式,密集性体现在蕴含先前所有网络层的输出特征h1至h
l-1
,残差体现在蕴含第l层网络运算之前的特征h
l-1
;此外,该式还体现了初始连接,蕴含原始输入h0;h
l-1
为上一层网络经过批归一化操作得到的结果;
[0139]
步骤s3.7:基于步骤s3.6得到的进行再次激活,得到公式为:
[0140][0141]
其中,relu()为激活函数;
[0142]
步骤s3.8:基于步骤s3.6得到的进行批归一化操作,得到h
l
,公式为:
[0143][0144]
其中,batchnorm()为批归一化操作函数;
[0145]
步骤s3.9:当l<l时,将h
l
存入g
l
=(a,v,e,h
l
),用于后续网络层的步骤,执行l=l+1,并转到步骤s3.1;当l=l时,将h
l
存入g
l
=(a,v,e,h
l
),输出最后一层的分子图g
l
,得到新的结点和边的特征向量。
[0146]
s4.对新的结点和边的特征向量进行池化操作,得到分子表示。具体步骤为:
[0147]
步骤s4.1:若做结点级任务,直接输出最终图作为最终表示;
[0148]
步骤s4.2:若做图级任务,对最终图采用池化策略进行读出,输出一个任意长度特征向量作为分子表示。
[0149]
最后得到的分子表示,用于训练预测模型或直接用于输入训练好的预测模型进行预测。
[0150]
本发明直接运用于预测化合物、组合物或混合物的性质或分子设计(例如药物)。针对图神经网络加深网络层数却会降低表示性能的缺陷,该技术通过引入密集残差计算、初始连接、跳跃连接、稠密连接,可以加强为生物分子(例如蛋白质、氨基酸)和化学分子(例如纯净物、组合物、混合物、聚合物)生成更加良好的隐空间稠密表示,提高预测化合物或药物分子设计的准确性。
[0151]
以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。

技术特征:
1.一种基于深层图神经网络的分子表示方法,其特征在于,包括如下步骤:s1.调用第三方库将分子的计算机存储数据转化为分子图,分子图包括邻接矩阵、结点和边,其中,调用第三方库包括rdkit;s2.分析分子图得到分子图的结点和边的初始特征向量;s3.基于图神经网络和邻接矩阵对结点和边的初始特征向量进行密集残差图卷积运算,得到新的结点和边的特征向量;s4.对新的结点和边的特征向量进行池化操作,得到分子表示。2.根据权利要求1所述的一种基于深层图神经网络的分子表示方法,其特征在于:所述步骤s1的具体步骤为:s1.1.获取分子的计算机存储数据,其中,计算机存储数据是以“.mol”、“.sdf”、“.kcf”为后缀存储起来的分子的文本文件,或一串基于smiles表示法的分子字符串;s1.2.若计算机存储数据为以“.mol”、“.sdf”、“.kcf”后缀存储起来的分子的文本文件,转到步骤s1.3,若计算机存储数据为以smiles表示法存储起来的分子的文本文件,转到步骤s1.4,否则,跳过;s1.3.初始化一个空的分子类,并采用开源工具包rdkit中的函数从上到下逐行扫描分子的文本文件,在分子类中依次读入原子信息和化学键信息,将原子信息和化学键信息分别存储进分子类中的结点和边,得到一个存储了结点和边的分子类,其中,原子信息包括原子位置、原子描述符、化学键类型和作为结点唯一标识的原子id,化学键信息以原子idi-原子idj关系对记录,i表示第i个原子,j表示第j个原子,且i≠j,化学键类型包括以
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“*”代表的其他键,原子描述符包括“c”、“h”、“0”;s1.4.初始化一个空的分子类,采用开源工具包rdkit中的函数分析存储的一维序列分子字符串的字符中的原子、原子的边类型、支链结构和环结构,并基于原子、原子的边类型、支链结构和环结构得到原子信息和化学键信息,将原子信息和化学键信息分别存储进分子类中的结点和边,得到一个存储了结点和边的分子类,其中,一个结点存储一个原子信息,一个边存储一个化学键信息,一维序列分子字符串包含以英文字母元素符号表示的原子,
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“()”内表示碳链分支和环的断开处用数字标记,分子类中原子信息包括原子位置、原子描述符、化学键类型和作为结点唯一标识的原子id,化学键信息以原子idi-原子idj关系对记录,i表示第i个原子,j表示第j个原子,且i≠j,化学键类型包括以
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“*”代表的其他键,原子描述符包括“c”、“h”、“0”、“n”、“s”、“p”、“cl”、“si”,氢原子“h”、单键和芳香键在smiles和分子类中省略或保留;s1.5.初始化一个分子图类以及一个行和列都为结点数大小的零矩阵,行列索引步骤s1.3或步骤s1.4得到的分子类中对应的原子id,根据原子idi-原子idj关系对,在零矩阵中对应的位置填入1,得到基于无向图的邻接矩阵a,邻接矩阵蕴含了分子图的拓扑结构,将分子类中存储了原子信息的结点和存储了化学键信息的边,与邻接矩阵一同存储进分子图类作为属性,得到一个存储了结点、边、邻接矩阵的分子图类,即分子图。3.根据权利要求2所述的一种基于深层图神经网络的分子表示方法,其特征在于:所述步骤s2的具体步骤为:
步骤s2.1:根据分子图中原子在元素周期表中的原子序号,为每个存储了原子信息的结点构造一个118维为长度的one-hot向量,得到的向量作为结点的初始向量,存储在分子图中,其中,118维基于最大原子序数确定的;步骤s2.2:传入步骤s2.1得到的分子图,初始化一个长度为5的列表:[0:单键,1:双键,2:三键,3:芳香键,4:其他],初始化一个5维的零向量,根据化学键类型的对应数字,在对应位置赋值为1,得到一个5维的one-hot向量,并将得到的向量作为边的初始特征向量,存入分子图中。4.根据权利要求3所述的一种基于深层图神经网络的分子表示方法,其特征在于:所述步骤s3的具体步骤为:步骤s3.1:图神经网络的各层网络的操作依次为图卷积、激活、密集残差连接、激活、批归一化操作,一次图卷积依次为聚合、更新操作,对第l层网络记为f
l
,下标l的取值范围为0,1,

,l,l代表网络总层数,不特指层数时简记为f,第l层网络的输入是上一层网络的输出g
l-1
=(a,v,e,h
l-1
),第1层网络的输入是步骤s2.2得到的分子图g0,第l层网络输出的分子图记为g
l
=(a,v,e,h
l
),其中,a代表邻接矩阵,v和e分别代表结点和边的集合,),其中,a代表邻接矩阵,v和e分别代表结点和边的集合,代表第l层结点和边的特征向量,将存入g0的初始特征记为h0;步骤s3.2:初始化一个新分子图,同时,初始化g
l
=g
l-1
,将g
l-1
的结点、边、邻接矩阵复制进g
l
作为初始化值,得到分子图g
l
;步骤s3.3:聚合操作,即将g
l
上的每一个结点的邻居结点和与邻居相邻的边的特征向当前结点汇聚,得到图的结点和边的新特征向量,公式为:其中,代表第l层聚合函数aggregate()中学习的参数,aggregateresult是得到的聚合结果;步骤s3.4:基于步骤s3.3得到的g
l
进行更新操作,对聚合结果aggregateresult应用更新函数,更新函数采用一层线性层,得到图上结点和边的新特征向量,公式为:其中,代表第l层更新函数update()中学习的参数,updateresult是得到的更新结果;步骤s3.5:基于步骤s3.4得到的更新结果updateresult进行激活操作,采用relu函数作为激活函数,对更新结果进行激活,公式为:activationresult=relu(\pdateresult)将得到的激活结果activationresult记为作为分子图上结点和边的新的特征向量;步骤s3.6:基于步骤s3.5得到的添加密集残差连接,得到更新后的当l=1时,公式如下:
当l>1时,公式如下:其中,

代表省略递推的公式,密集性体现在蕴含先前所有网络层的输出特征h1至h
i-1
,残差体现在蕴含第l层网络运算之前的特征h
l-1
;此外,该式还体现了初始连接,蕴含原始输入h0;h
l-1
为上一层网络经过批归一化操作得到的结果;步骤s3.7:基于步骤s3.6得到的进行再次激活,得到公式为:其中,relu()为激活函数;步骤s3.8:基于步骤s3.6得到的进行批归一化操作,得到h
l
,公式为:其中,batchnorm()为批归一化操作函数;步骤s3.9:当l<l时,将h
l
存入g
l
=(a,v,e,h
l
),用于后续网络层的步骤,执行l=l+1,并转到步骤s3.1;当l=l时,将h
l
存入g
l
=(a,v,e,h
l
),输出最后一层的分子图g
l
,得到新的结点和边的特征向量。5.根据权利要求4所述的一种基于深层图神经网络的分子表示方法,其特征在于:所述步骤s4的具体步骤为:步骤s4.1:若做结点级和边级任务,直接输出最终图作为最终表示;步骤s4.2:若做图级任务,对最终图采用池化策略进行读出,输出特征向量作为分子表示。6.一种基于深层图神经网络的分子表示系统,其特征在于,包括:转化模块:调用第三方库将分子的计算机存储数据转化为分子图,分子图包括邻接矩阵、结点和边,其中,调用第三方库包括rdkit;分析模块:分析分子图得到分子图的结点和边的初始特征向量;密集残差图卷积运算模块:基于图神经网络和邻接矩阵对结点和边的初始特征向量进行密集残差图卷积运算,得到新的结点和边的特征向量;分子表示模块:对新的结点和边的特征向量进行池化操作,得到分子表示。7.根据权利要求6所述的一种基于深层图神经网络的分子表示系统,其特征在于:所述转化模块的具体实现步骤为:s1.1.获取分子的计算机存储数据,其中,计算机存储数据是以“.mol”、“.sdf”、“.kcf”为后缀存储起来的分子的文本文件,或一串基于smiles表示法的分子字符串;s1.2.若计算机存储数据为以“.mol”、“.sdf”、“.kcf”后缀存储起来的分子的文本文件,转到步骤s1.3,若计算机存储数据为以smiles表示法存储起来的分子的文本文件,转到步骤s1.4,否则,跳过;s1.3.初始化一个空的分子类,并采用开源工具包rdkit中的函数从上到下逐行扫描分子的文本文件,在分子类中依次读入原子信息和化学键信息,将原子信息和化学键信息分别存储进分子类中的结点和边,得到一个存储了结点和边的分子类,其中,原子信息包括原
子位置、原子描述符、化学键类型和作为结点唯一标识的原子id,化学键信息以原子idi-原子idj关系对记录,i表示第i个原子,j表示第j个原子,且i≠j,化学键类型包括以
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“*”代表的其他键,原子描述符包括“c”、“h”、“0”;s1.4.初始化一个空的分子类,采用开源工具包rdkit中的函数分析存储的一维序列分子字符串的字符中的原子、原子的边类型、支链结构和环结构,并基于原子、原子的边类型、支链结构和环结构得到原子信息和化学键信息,将原子信息和化学键信息分别存储进分子类中的结点和边,得到一个存储了结点和边的分子类,其中,一个结点存储一个原子信息,一个边存储一个化学键信息,一维序列分子字符串包含以英文字母元素符号表示的原子,
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“()”内表示碳链分支和环的断开处用数字标记,分子类中原子信息包括原子位置、原子描述符、化学键类型和作为结点唯一标识的原子id,化学键信息以原子idi-原子idj关系对记录,i表示第i个原子,j表示第j个原子,且i≠j,化学键类型包括以
“‑”
表示的单键,“=”表示的双键,“#”表示的三键,“:”表示的芳香键,“*”代表的其他键,原子描述符包括“c”、“h”、“0”、“n”、“s”、“p”、“cl”、“si”,氢原子“h”、单键和芳香键在smiles和分子类中省略或保留;s1.5.初始化一个分子图类以及一个行和列都为结点数大小的零矩阵,行列索引步骤s1.3或步骤s1.4得到的分子类中对应的原子id,根据原子idi-原子idj关系对,在零矩阵中对应的位置填入1,得到基于无向图的邻接矩阵a,邻接矩阵蕴含了分子图的拓扑结构,将分子类中存储了原子信息的结点和存储了化学键信息的边,与邻接矩阵一同存储进分子图类作为属性,得到一个存储了结点、边、邻接矩阵的分子图类,即分子图。8.根据权利要求7所述的一种基于深层图神经网络的分子表示系统,其特征在于:所述分析模块的具体实现步骤为:步骤s2.1:根据分子图中原子在元素周期表中的原子序号,为每个存储了原子信息的结点构造一个118维为长度的one-hot向量,得到的向量作为结点的初始向量,存储在分子图中,其中,118维基于最大原子序数确定的;步骤s2.2:传入步骤s2.1得到的分子图,初始化一个长度为5的列表:[0:单键,1:双键,2:三键,3:芳香键,4:其他],初始化一个5维的零向量,根据化学键类型的对应数字,在对应位置赋值为1,得到一个5维的one-hot向量,并将得到的向量作为边的初始特征向量,存入分子图中。9.根据权利要求8所述的一种基于深层图神经网络的分子表示系统,其特征在于:所述密集残差图卷积运算模块的具体实现步骤为:步骤s3.1:图神经网络的各层网络的操作依次为图卷积、激活、密集残差连接、激活、批归一化操作,一次图卷积依次为聚合、更新操作,对第l层网络记为f
l
,下标l的取值范围为0,1,

,l,l代表网络总层数,不特指层数时简记为f,第l层网络的输入是上一层网络的输出g
l-1
=(a,v,e,h
l-1
),第1层网络的输入是步骤s2.2得到的分子图g0,第l层网络输出的分子图记为g
l
=(a,v,e,h
l
),其中,a代表邻接矩阵,v和e分别代表结点和边的集合,),其中,a代表邻接矩阵,v和e分别代表结点和边的集合,代表第l层结点和边的特征向量,将存入g0的初始特征记为h0;
步骤s3.2:初始化一个新分子图,同时,初始化g
l
=g
l-1
,将g
l-1
的结点、边、邻接矩阵复制进g
l
作为初始化值,得到分子图g
l
;步骤s3.3:聚合操作,即将g
l
上的每一个结点的邻居结点和与邻居相邻的边的特征向当前结点汇聚,得到图的结点和边的新特征向量,公式为:其中,代表第l层聚合函数aggregate()中学习的参数,aggregateresult是得到的聚合结果;步骤s3.4:基于步骤s3.3得到的g
l
进行更新操作,对聚合结果aggregateresult应用更新函数,更新函数采用一层线性层,得到图上结点和边的新特征向量,公式为:其中,代表第l层更新函数update()中学习的参数,updateresult是得到的更新结果;步骤s3.5:基于步骤s3.4得到的更新结果updateresult进行激活操作,采用relu函数作为激活函数,对更新结果进行激活,公式为:activationresult=relu(updateresult)将得到的激活结果作为分子图上结点和边的新的特征向量;步骤s3.6:基于步骤s3.5得到的添加密集残差连接,得到更新后的当l=1时,公式如下:当l>1时,公式如下:其中,

代表省略递推的公式,密集性体现在蕴含先前所有网络层的输出特征h1至h
l-1
,残差体现在蕴含第l层网络运算之前的特征h
l-1
;此外,该式还体现了初始连接,蕴含原始输入h0;h
l-1
为上一层网络经过批归一化操作得到的结果;步骤s3.7:基于步骤s3.6得到的进行再次激活,得到公式为:其中,relu()为激活函数;步骤s3.8:基于步骤s3.6得到的进行批归一化操作,得到h
l
,公式为:其中,batchnorm()为批归一化操作函数;步骤s3.9:当l<l时,将h
l
存入g
l
=(a,v,e,h
l
),用于后续网络层的步骤,执行l=l+1,并转到步骤s3.1;当l=l时,将h
l
存入g
l
=(a,v,e,h
l
),输出最后一层的分子图g
l
,得到新的结点和边的特征向量;10.根据权利要求9所述的一种基于深层图神经网络的分子表示系统,其特征在于:所
述分子表示模块的具体实现步骤为:步骤s4.1:若做结点级和边级任务,直接输出最终图作为最终表示;步骤s4.2:若做图级任务,对最终图采用池化策略进行读出,输出特征向量作为分子表示。

技术总结
本发明公开了一种基于深层图神经网络的分子表示方法及系统,涉及人工智能技术领域,尤其涉及生物计算、深度学习技术领域,解决现有技术过平滑导致图神经网络无法增加图卷积次数以增加结点感受野的问题。本发明调用第三方库将分子的计算机存储数据转化为分子图,分子图包括邻接矩阵、结点和边;分析分子图得到分子图的结点和边的初始特征向量;基于图神经网络和邻接矩阵对结点和边的初始特征向量进行密集残差图卷积运算,得到新的结点和边的特征向量;对新的结点和边的特征向量进行池化操作,得到分子表示。本发明用于分子表示。本发明用于分子表示。本发明用于分子表示。


技术研发人员:魏骁勇 田奇 杨震群 曹溢 黄文禹 严丽巧
受保护的技术使用者:四川大学
技术研发日:2022.12.06
技术公布日:2023/7/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐