Molecule Property Prediction based on Spatial Graph Embedding | 基于空间图嵌入的分子性质预测 | Graph | GNN

本文主要是介绍Molecule Property Prediction based on Spatial Graph Embedding | 基于空间图嵌入的分子性质预测 | Graph | GNN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章在2019.8发表在JCIM上,化学二区

1 Introduction

1.1 背景

目前深度学习方法 过度依赖手工设计的特征,这可能会限制模型 潜在表征 的搜索空间,那么如何设计卷积方法 来提高分子性质预测的性能 是需要解决问题。

1.2 本文工作

本文提出了一种 卷积空间图嵌入层(C-SGEL),使卷积运算能够应用于 分子图数据,将多个嵌入层堆叠起来 构造 卷积空间图嵌入网络(C-SGEN),用于从分子图中学习特征。此外,使用分子指纹来提高特征的泛化性能,并设计了一个结合 图形特征和指纹的复合模型 来预测分子性质。

2 模型介绍

2.1 模型结构

①在本文模型中,每个分子分别用无向图和分子指纹来表示。具体实现了a图表示层、b图嵌入层、c卷积空间图嵌入层 和 d图聚集层 四个过程。此外,结合这四个过程,提出了卷积空间图嵌入网络(C-SGEN),将CNN应用于分子图数据。此外,使用skip connection解决卷积过程中的梯度消失问题,在每个 卷积空间图嵌入层 C-SGEL 之后,引入跳过连接来连接每个C-SGEL的输出,它可以充分利用分子信息,揭示分子中原子之间的关系。
②同时,使用DNN处理的分子指纹。
③最后,将分子图和指纹表示连接在一起,使用全连接层预测分子特性。
模型结构图如下:’

在这里插入图片描述

2.2 分子图的表示

每个分子图G由 邻接矩阵A初始节点矩阵X 表示。
邻接矩阵A 表示原子之间的连接信息,若两个原子之间有边相连,则Aij =1,否则,Aij = 0,同时,邻接矩阵也考虑了原子的自连接。
初始节点矩阵X 表示n个节点的集合,即 X = { x1, x2, … , xn },每个节点是一个m维向量,即 xi = { xi1, xi2, … , xim }。原子的特征描述如下:
在这里插入图片描述

xij 是第j个特征的值,m是特征维度
通过DeepChem软件包提取一个分子的所有特征,并编码到one-hot中。

(e.g)分子的初始特征矩阵。提取异丙醇的简单原子属性,不同颜色对应于不同原子。
在这里插入图片描述

每个原子由77维的向量构成,one-hot编码,这些向量构成了矩阵X。
选择顺序:矩阵中原子的顺序对模型的性能至关重要。选择原子的度作为原子顺序的标准。由于分子图属于无向图,因此分子中每个原子的度数是其相邻原子的数量。在本文中,分子中的初始特征矩阵按原子 度减少 的顺序排序。

不考虑氢原子,所以图中只有四个原子

2.3 图嵌入层

在得到分子的图表示之后,使用图嵌入层 得到 空间图形矩阵
①由于one-hot表示比较稀疏,可能导致维度灾难,因此要首先对原子特征矩阵进行降维,X0 是初始矩阵,XF 是降维后得到的矩阵:
在这里插入图片描述

②随后,计算原子的空间图形矩阵 XS ,它包含原子与其相邻原子之间的连接信息,其中XFi 表示 XF 的第i行。XF 与 XS 均作为 C-SGEL的输入。XS 的计算如下:
在这里插入图片描述

维度灾难:通常是指在涉及到向量的计算的问题中,随着维数的增加,计算量呈指数倍增长的一种现象。

①W是可学习的权重矩阵,b是可学习的偏差 XF : n × d1 X0:n × d0 W:d0 × d1 b:n × d1 d1

是转换后的维度,d0 是转换前的维度,d1<d0

②XS :n×n×d
实际上,XS 是考虑到与其他原子之间的空间连接的每个原子的特征。若两个原子之间有连接,那么这个位置就用原子的特征表示,否则就用0向量表示。
为了对分子图数据进行规则卷积运算,实现端到端的学习,需要确定分子的邻接矩阵和特征矩阵的大小。本文将邻接矩阵初始化为零,并将原子数设置为数据集中总原子数的平均值。

e.g)以异丙醇为例,分子的初始 空间 图矩阵如下,其中A是邻接矩阵,XF 是降维后的分子特征矩阵,XS 是空间图矩阵。
在这里插入图片描述

X1S :代表第一层,这一层就代表了 自己 与 自己的邻居 的特征的矩阵 (一层 是 一个原子的 初始空间图矩阵)
XS :n×n×d,对应邻接矩阵A,若两个原子之间有连接,也就是A中为1的位置,那么在XS 中这个位置就用原子的特征表示(坐标是(i,j),用原子j的特征表示),否则就用0向量表示。(所有 原子的 初始空间图矩阵)

2.4 卷积空间图嵌入层(C-SGEL)

假设卷积核大小k=3,为了保持原子特征维度,第一个卷积层的kernel、padding、stride大小分别为3、1、1,本层结构如下:
在这里插入图片描述
C-SGEL 主要用来处理 空间图矩阵XSi 与 特征向量 XFi 。
① 首先,对于每个原子,对原子空间图矩阵XSi 卷积得到 Xik ,k是1D卷积的通道数,是一个超参数,它决定了后续1D卷积的核大小。
② 更新原子的特征向量:将原子i的特征向量xif 与Xik 拼起来,输入到两个1D卷积中,这样,每个原子表示的更新都考虑了 原子本身的信息 与 邻居的信息。
③ 拼接:更新后的原子特征向量与初始原子特征向量连接,这样就可以学习相邻原子的信息,并专注于自己本身的信息。
④ 堆叠多个 卷积空间图嵌入层(C-SGEL)以获得 卷积空间图嵌入网络(C-SGEN),如图1的椭圆部分。每个C-SGEL(每一层)可以从直接相邻原子中提取信息,因此C-SGEN(整个网络)可以提取原子的多阶邻域信息,通过重复C-SGEL计算得到更新的原子表示。与通道数k一样,C-SGEL的层数也是一个超参数。

XS 的第i层 与 XF 的第i行

2.5 图聚集层

为了增强原子与周围信息的集成能力,并且对特征排序的变化不敏感,本文使用所有原子的特征之和来表示一个图,如下:
在这里插入图片描述

2.6 DNN for fingerprint

为了保证分子特征的泛化性,分子指纹作为网络的另一个输入。本文使用ChemoPy30提取分子指纹,使用DNN处理获得的指纹。分子指纹表示为xfinger 。

ChemoPy30:是一个强大的Python软件包,用于计算 化学信息学 领域 的 大量 分子描述符。
DNN : 多层感知机,有很多隐藏层的神经网络
x finger :1×d

2.7 全连接层预测分子性质

将 卷积空间嵌入层得到的 xgraph 与 分子指纹得到的 xfinger_optimal 拼接在一起的到最终的分子表示 xmolecular ,即 xmolecular = [xgraph , xfinger_optimal ] 。最后通过全连接层预测分子性质,即
在这里插入图片描述

3 实验

3.1 数据集

比例:8:1:1
从DeepChem中获取公开可用的基准数据集,分别是ESOL、FreeSolv、Lipophilicity、PDBbind-full 、PDBbind-redefined
(为了与 MoleculeNet32 中的 benchmarks 进行比较,将 ESOL、FreeSolv 和 Lipophilicity 随机拆分,PDBbind 进行时间拆分。所有数据集分为三组:训练集(80%)、验证集(10%)和测试集(10%),然后在模型上固定不同的数值种子来评估性能。此外,对于不同的数据集,我们还通过实验确定了模型的超参数。)

Deepchem含有大量的内置数据集,主要是一些分子的数据,所以,数据集的名字为:MoleculeNet (分子网络)

ESOL:由实验水溶性数据组成。(由1128种水溶解度数据组成,直接从化合物的结构计算。化合物以SMILES表示,因此不包含分子中原子空间排列的信息)
FreeSolv:是水中水合自由能的数据集。(结构信息包含在SMILES字符串中)
Lipophilicity:亲脂性数据集,指的是分子在非极性溶剂中的溶解能力。
PDBbind-full:药物靶标亲和力数据集,包含约15000个数据。
PDBbind-redefined:在PDBlind的基础上提取4000条质量更好的数据。

RMSE表示预测值与实验值之间的偏差,计算方法是MSE取根号 ,RMSE值越小,预测模型的性能越好。

3.2 评估指标

RMSE,计算方法为:
在这里插入图片描述

3.3 不同的指纹处理方式

分别采用DNN与CNN来处理分子指纹,同时增加了不经过任何处理的对照组,实验结果如下:
在这里插入图片描述

纵向观察,RMSE越小越好,故DNN效果最好,因此本文采用了DNN处理分子指纹

3.4 与其他模型的比较

ESOL、FreeSolv与Lipophilicity数据集:
在这三个数据集(物理化学任务)上,test阶段本文模型效果最好
在这里插入图片描述
PDBbind数据集:
生物物理学任务
对于 PDBbind 数据集,本文模型 在基于图的模型中 取得了最好的性能,但并没有超过 基于网格的 特征提取方法。
可能对于配体-蛋白质结合的数据,最好的选择是建立一个网格来提取立体像素。
对于对接后的化合物,应该给出更多的信息,如配合物对接的对接位姿、能量和化学键等,而网格方法可以更好地描述配合物的3D结构。

在这里插入图片描述

baseline:
1、3、4是基于机器学习的;2、5、6、8是基于图的
①RF:使用多个决策树来训练和预测样本的分类器。它也可以用于回归问题。
②Muititask:多任务网络,是一个可以共享权重并处理多个任务的网络。
③XGBoost:梯度提升(XGBoost)是一种提升方法。,要思想是在前一个模型的损失梯度减小的方向上建立模型。 ④KPR:核脊回归,
是Ridge Regression(RR,脊回归)的kernel版本。(与支持向量回归类似。) ⑤DAG:有向无环图,使用RNN处理分子的
无向循环图。 ⑥GC:graph convolutional models,圆形指纹,直接使用卷积处理分子图 并 提取有效的分子表示。
⑦Weave:提出了一种GNN变体应用于 虚拟筛选 中分子表示 学习阶段 ⑧MPNN:消息传递神经网络,是一个通用框架。
⑨SGC:通过消除非线性和折叠连续层之间的权重矩阵,减少了GCN不必要的复杂性和冗余
⑩AGNN:基于注意力的图神经网络,去除GNN中所有全连接层,并使用 基于图的注意力层 代替 网络中的传播层,以便可以动态、自适应地学习。
①①GAT:通过叠加 mask的自注意层, 在卷积过程中 赋予不同节点 不同的重要性;并且可以同时处理 不同大小 的域。
①②ARMA:ARMA 是基于 自回归 移动 平均滤波器 的 图卷积层,其中滤波器具有 递归和分布式公式

3.5 分子指纹的影响

横轴是RMSE,纵轴是数据集
(1)在所有数据集上,单独使用指纹输入的模型表现不佳。这可能是由于 预定义的 分子特征信息不足 以及 特征与分子性质之间的相关性低,这使得模型无法提取潜在的有效信息。
(2)对于不同数据集,指纹对模型的贡献不同,这可能是由于提取的特征和分子性质之前的关系。
(在未来的工作中,可以通过选择合适的指纹特征来预测分子的不同特性,进一步提高模型的性能。)
在这里插入图片描述

4 结论

本文使用图结构来表示分子数据,将其输入CNN以发现每个原子之间的关系。其亮点如下:
①设计了一个 卷积空间图嵌入层(C-SGEL),使用一维卷积来处理分子中每个原子的空间图矩阵;然后,堆叠多个 卷积空间图嵌入层(C-SGEL)以构建卷积空间图嵌入网络(C-SGEN)。
②结合了分子指纹进行预测。

这篇关于Molecule Property Prediction based on Spatial Graph Embedding | 基于空间图嵌入的分子性质预测 | Graph | GNN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/337181

相关文章

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

【高等代数笔记】线性空间(一到四)

3. 线性空间 令 K n : = { ( a 1 , a 2 , . . . , a n ) ∣ a i ∈ K , i = 1 , 2 , . . . , n } \textbf{K}^{n}:=\{(a_{1},a_{2},...,a_{n})|a_{i}\in\textbf{K},i=1,2,...,n\} Kn:={(a1​,a2​,...,an​)∣ai​∈K,i=1,2,...,n

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef‘ of undefined“

vue 父组件调用子组件的方法报错,“TypeError: Cannot read property ‘subDialogRef’ of undefined” 最近用vue做的一个界面,引入了一个子组件,在父组件中调用子组件的方法时,报错提示: [Vue warn]: Error in v-on handler: “TypeError: Cannot read property ‘methods

win7系统中C盘空间缩水的有效处理方法

一、深度剖析和完美解决   1、 休眠文件 hiberfil.sys :   该文件在C盘根目录为隐藏的系统文件,隐藏的这个hiberfil.sys文件大小正好和自己的物理内存是一致的,当你让电脑进入休眠状态时,Windows 7在关闭系统前将所有的内存内容写入Hiberfil.sys文件。   而后,当你重新打开电脑,操作系统使用Hiberfil.sys把所有信息放回内存,电脑

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04

Cannot read property ‘length‘ of null while opening vscode terminal

同一问题地址:Cannot read property ‘length’ of null while opening vscode terminal 问题描述 One day, 我在ubuntu 18.04下用vscode打开一个项目,并想和往常一样在vscode使用终端,发现报错Cannot read property 'length' of null。 解决 打开setting.jso

求空间直线与平面的交点

若直线不与平面平行,将存在交点。如下图所示,已知直线L过点m(m1,m2,m3),且方向向量为VL(v1,v2,v3),平面P过点n(n1,n2,n3),且法线方向向量为VP(vp1,vp2,vp3),求得直线与平面的交点O的坐标(x,y,z): 将直线方程写成参数方程形式,即有: x = m1+ v1 * t y = m2+ v2 * t

[Linux]:环境变量与进程地址空间

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 环境变量 1.1 概念 **环境变量(environment variables)**一般是指在操作系统中用来指定操作系统运行环境的一些参数,具有全局属性,可以被子继承继承下去。 如:我们在编写C/C++代码的时,在链接的时候,我们并不知