Graph Convolutional Neural Networks for Predicting Drug-Target Interactions
1. 摘要
文章通过将pocket中氨基酸当成图的节点,用图自编码(graph autoencoder)对其进行表示学习,得到固定大小的节点表示,接着用GCN对pocket和分子图分别进行卷积,合并起来后用FCN预测。这里还对DUD-E数据集进行了改进,使得其的偏差更小。
2. 数据集
DUDE数据集改进
对于一个给定的活性分子,我们计算其真实目标和所有其它dude目标之间成对的口袋相似度评分,并在训练折(fold)中识别出与真实目标的相似度低于预定义的PocketFEATURE评分阈值-1.9 25的口袋子集。我们从确定子集随机抽样50个口袋,将他们作为给定的活性配体的负口袋。
DUDE-chemBl负样本数据集
因为DUDE中的负样本与正样本的拓扑形态不像,所以这个就导致了机器学习算法会根据小分子形态去区分正例负例,为了更好的让模型学习到pocket信息,我们得使用形态相似但是却几何活性不同的分子去构建数据集。所以后面我们从chemBL中挑选形态相似的负样本加入了DUDE中。
最大无偏数据集(MUV)
用17个targets,每个targets对应30个activates和15000个decoys, 但是这些都是来自实验的数据集pubChem中的,而不是跟DUDE一样,negative没有实验支撑。
3. 图构建
pocket graph
我们挑选出有原子出现在ligand6A内的residue ,把它作为口袋残基。每个残基作为node,node 7A内视为有边。然后为了利用上pocket处的微环境,我们使用FEATURE (Characterizing the microenvironment surrounding protein sites)程序去对每个pocket node产生一个固定维数的——480维的一个特征。这个程序有参考文献,他使用6个同距同心球,对每个壳内的原子理化特征进行提取,生成80个特征。最后我们产生了6*80=480维的特征。
molecuar graph
节点为原子,键为边
4. 口袋pretraining 使用autoencoder
4.1 阶段1 自编码
编码器
对图的节点进行编码
其中Eq(4)中的
d
e
g
y
deg_y
degy表示的是对邻域中顶点度为y 的进行操作。
解码器
重构回之前的
v
n
i
v_{n_i}
vni与
v
x
i
v_{x_i}
vxi,这里使用同一个隐层变量去恢复回两个变量
4.2 阶段二自编码
跟前面的编码器参数不同,这里使用独立的编码器对节点信息进行处理,将节点特征映射到一个固定大小图水平的节点嵌入
- 编码器
- 解码器
loss为计算 v x i v_{xi} vxi与 v x i ′ v_{xi}' vxi′的不同 node fingerprints F P x i FP_{x_i} FPxi
最后通过平均池化得到整个图的表示。这里V(G)
为pocket图G的节点集。
这里使用了多层的encoder,所以我们这里将所有层的表示加起来。
4.3 模型设计
通过自编码我们得到了节点的表示和整个图的表示。
我们将前面的自编码其编码部分的结构当成是提取pockets的GCN,对pocket 进行信息处理,然后ligand是同样维度的层。最后通过拼接层和分类层,即可得到相互作用预测
实验结果
1. baseline
2. 数据可视化
发现经过autoencoder 之后,同个家族的更容易聚在一起
3.测试模型是否有学习到口袋信息
MUV数据集上将正确的口袋换成假的,测试模型是否有学习到口袋信息,然后发现后面3个数据用了假口袋还提升了性能。说明正确口袋信息齐了负作用
4. 无偏数据集作用
AUC得分表明了无偏数据集MUV是对模型有提示作用的。