SUM1 读论文
- MGraphDTA: deep multiscale graph neural network for explainable drug–target binding affinity prediction
论文名称:MGraphDTA: deep multiscale graph neural network for explainable drug–target binding affinity prediction
论文下载地址: MGraphDTA
论文代码下载地址: MGraphDTA and Grad-AAM
数据集下载地址: Davis and KIBA、 filtered Davis、 Metz 、Tox-Cast 、 Human and C. elegans datasets
MGraphDTA: deep multiscale graph neural network for explainable drug–target binding affinity prediction
图神经网络广泛应用于预测靶向药物亲和力(Predicting drug–target affinity (DTA)),然而目前的浅层图神经网络不足以捕获化合物的全局特征。
1. background
对于预测靶向药物亲和力的模型一般可分为三类:
-
基于结构的模型:考虑小分子和蛋白质的3D结构.
-
基于特征的模型:代表方法是蛋白质化学计量学(proteochemometrics),依赖蛋白质和配体的清晰描述:生物特征向量,用一组确定的二进制数表示药物是否作用于目标。得到的生物特征向量可以用于训练深度学习模型。如前馈神经网络(FNN)、支持向量机(SVM)、随机森林(RF)以及其他的核(kernel)模型。其中FNNs的效果最好。
-
基于深度学习的模型:深度学习模型源于新兴技术如high throughput screening, parallel synthesis采集到的生物医药与复合物活性数据。如DeepDTA用两层卷积神经网络(CNN)分别学习药物和蛋白质的结构表达,之后利用多层感知机预测药物匹配关系。WideDTA在此基础上改进了输入(增加两个额外的文本输入),总计四个输入。总之,基于CNN的模型被证明是有效的,并且基于CNN识别代表化合物结构的二维数据是被证明可行。
之后对于CNN不能很好的表达分子结构的信息的缺点,引出了图神经网络(GNNs),GNNs用图来表示药物,并用GNN(频域方法?)实现DTA预测。经验证,基于GNNs的模型要优于CNNs 。
如GraphDTA对比了如图卷积网络(GCN)、图注意力网路(GAT)、GIN(?)和GAT-GCN用于DTA预测(回归问题)。注意力机制的引入增加了模型 的可解释性。
另一方面,使用蛋白质的结构相关信息(structural-related features of protein)作为输入以提升DTA预测也被证明可行。(个人感觉该方法类似将先验知识融入深度学习算法),如DGraphDTA将蛋白质序列作为输入,但由于蛋白质结构信息的不全可知,所以利用预测的contact map作为输入。
总之,目前的浅层GNNs有三种问题:1.浅层结构无法很好的捕捉全局特性。 因此,需要多层堆叠的图卷积层,若想捕获K跳邻居的结构,应该堆叠k个图卷积层(不太理解,这里是指embedding of nodes?deep encoder 有点相似,以后查证)
2.GNN应保留局部信息。
3.基于图形的DTA可解释性依赖于注意力机制。 (GAT网络?)注意力机制有较好的数学解释,但仅考虑顶点领域。
2.模型总览
为了解决上述问题,该文章提出了多尺度图神经网络multiscale graph neural network (MGNN) 以及可视化模型:权重梯度相关性图gradient-weighted affinity activation mapping(Grad-AAM) 。
预测部分:MGNN用来27层图卷积层以及多尺度卷积神经网络(MCNN)用于提取药物和靶点的多尺度特征,融合后获得对于关系,输入多层感知机以预测亲和力。
可视化部分:Grad-AAM根据MGNN的最后一层输入的梯度以生成概率图模型,用以标注对DTA最有贡献的原子。Grad-AAM源于在图像中梯度加权类激活映射(gradient-weighted class activation mapping (Grad-CAM) ),对其CNN的部分替换为GNN。(最近好多模型都是将图像领域的CNN结构替换为GNN)。
3. 模型原理
3.1 输入
模型输入是j简化分子线性输入系统SMILES(Simplified Molecular Input Line Entry System),用短ASCII码来表示化学结构,输入的目标是一组蛋白质序列(字符串),其中每一个字符代表一个氨基酸。(氨基酸是蛋白质的基本结构?不太了解)。利用RDKit将SMILES处理成具有点或边的图结构以及邻接矩阵。
对于蛋白质序列,本文首次建立了一个词汇表将每一个字符映射成整型(int),如下所示:
氨基酸 | 右对齐 |
---|---|
丙氨酸 | 1 |
半胱氨酸 | 2 |
谷氨酸 | 4 |
为了节省训练成本,将蛋白质序列长度限制在1200,基本上至少覆盖了80%的蛋白质,之后经过embedding 层将器转化为128维向量(embedding space)one-hot 编码虽然也可encode蛋白质,但是不能描述两个不同氨基酸之间的语义相关性,例如不同的one-hot向量都具有零余弦相似性。(看到one-hot总想到交叉熵损失,1001和0110就存在零余弦相似性,不知是否有解决的方法,回头查一查)
3.2 图神经网络
图可以被表示为:
G = ( ν , E ) \mathcal{G}=(\nu, \mathcal{E}) G=(ν,E)
v i ∈ ν v_{i} \in \nu vi∈ν代表第i个原子, e i j ∈ E e_{i j} \in \mathcal{E} eij∈E代表了第 i 和第 j 个原子连接的边。GNN通常利用message pass 和 readout将图 G {G} G映射到向量空间 y G ∈ R d y_{\mathcal{G}} \in \mathbb{R}^{d} yG∈Rd,其中message pass根据领域更新顶点信息,readout为整张图计算特征向量。
3.2.1 Message passing phase
用如下的图卷积层来实现随着时间步长t的变化第i个顶点的embedding 向量的更新
x i ( t + 1 ) = σ ( W 1 x i ( t ) + W 2 ∑ j ∈ N ( i ) x i ( t ) ) x_{i}^{(t+1)}=\sigma\left(W_{1} x_{i}^{(t)}+W_{2} \sum_{j \in \mathcal{N}(i)} x_{i}^{(t)}\right) xi(t+1)=σ(W1xi(t)+W2∑j∈N(i)xi(t))
上式中 W 1 W_{1} W1和 W 2 W_{2} W2是可学习的权重矩阵, N ( i ) \mathcal{N}(i) N(i)是顶点i的邻居(一阶邻居?), σ \sigma σ就是批标准化和激活函数,本文中选择ReLU。由上式可知,通过不断的迭代可以逐渐捕获图上全局信息。(该方法类似于GCN,如下所示,不知是否可以引入图注意力网络GAT,通过调参来实现更好的预测结果,或者使用较新的异质图模型)
3.2.2 Readout phase
就是对最后一层输出的顶点embedding vector取均值:
y G = 1 ∣ V ∣ ∑ v ∈ V x v ( L ) y_{\mathcal{G}}=\frac{1}{|\mathcal{V}|} \sum_{v \in \mathcal{V}} x_{v}{ }^{(L)} yG=∣V∣1∑v∈Vxv