药物和蛋白质(靶)之间有着结合亲和力,如果单独的把药物和蛋白质看做俩个独立的部分而忽略掉它们之间的相互作用以及3D坐标(矩阵S)的话是不合理的(如图b),因此本文提出将二者结合成为一个graph(图C)
,称为SPoG,其原子间距离矩阵为D(因为有各个原子的3D坐标S,因此可以转换成原子间的距离矩阵D,但是最主要用到的是距离embedding P),因此问题转化为通过结合图 以及原子距离举证标D来预测药物靶向结合亲和力(Drug-Target Binding Affinity)

所提出的SpoG结构
,其中V为蛋白质和药物结点的并集,由于药物和蛋白质之间没有天然的键连接,因此需要二者之间的边,如下:

其中为设立的threshold,当俩个原子之间的距离小于该值则认为在SpoG图中存在一条边

为了利用拓扑结构和坐标信息,本文提出了S-MAN,里面有一个分层的注意力聚合结构:edge-level aggregation → node-level aggregation,其中采用边级聚合来传递具有位置信息的成对原子embedding以获得边embedding,之后的结点聚合可以获得每个原子结点的边embedding的distance-aware attention,获得边embedding如下公式:

关于结点聚合,首先需要将边embedding以及结点embedding转换为相同的vector,如下:

之后结合结点、边、位置信息得到注意力分数

  1. 看论文代码的数据预处理部分,主要是先得到药物与配体的feature、坐标、边集合、预测值,其中不考虑H原子与其他原子之间的连接及其坐标
    1.1 然后根据药物与配体各自的坐标得到药物与配体原子两两之间的距离
    1.2 若药物、配体原子俩俩之间的距离小于设定值,认为这俩原子之间存在一条边,将配体原子映射到新的index,设为node_map, 得到药物-配体间的相互作用力图
    1.3 构造单独的药物图、配体图
    1.4 若药物原子与药物原子之间的距离小于设定值,默认也存在一条相互作用力边,构造该药物空间图的边,同理,适用于配体,得到配体空间图的边,不过在这里要对配体的空间图的边进行特殊处理,用上面得到的node_map值作为新的边
    1.5 输出size (药物原子数+配体原子数),feature(药物原子feature和配体原子feature按行拼凑),edges(药物原子空间边,配体原子空间边,药物-配体原子相互作用力边),coords(药物原子左边和配体原子坐标按行进行拼凑)
    总结:经过上述处理对数据进行预处理,保存到新的文件中,以后读取数据都从这个新的文件中进行读取,不过在这里貌似没有考虑原子之间本来就存在的边,有点疑惑

继续看了dataset(继承自己定义的BaseDataset)处理过程
3.1 从之前预处理的文件中得到对应的size(num_node)、feature、edges、coords
3.2 根据num_node、feature、edges构造e2n_graph(没有很看明白在干什么,暂时 只有猜测)
3.3 构造e2e_graph,具体意义为如果k-j有条边,j-i有条边,那么在e2e_graph中,
k-j边旁边的节点应该是j-i边,构造e2e_graph的目的就在于此
3.4 空间feature计算:算出edges的左右俩边原子之间的距离dist,然后进行强制截断,距离小于1的强制设为0,距离大于4的强制设置为4,并且强制将原子间距离设为int,然后将原子间的坐标用one-hot向量表示,例如3表示为[0,0,1,0]
3.5. 用pgl构造e2n_graph与e2e_graph图,注入相对应的feature,然后一起append到一个graph_list中
3.6 其get_item方法每次返回graph_list中的一个值、目标值、当前图对应的edges、空间feature、节点数、边数

Distance-aware Molecule Graph Attention Network for Drug-Target Binding Affinity Prediction相关推荐

  1. Re01:NerLTR-DTA: drug–target binding affinity prediction based on neighbor relationship and learning

    NerLTR-DTA: drug–target binding affinity prediction based on neighbor relationship and learning to r ...

  2. AI医药论文笔记--GraphDTA: Predicting drug–target binding affinity with graph neural networks

    GraphDTA:用图神经网络预测药物-靶点结合亲和力 论文题目 GraphDTA: Predicting drug–target binding affinity with graph neural ...

  3. 图注意力网络(Graph Attention Network, GAT) 模型解读与代码实现(tensorflow2.0)

    前面的文章,我们讲解了图神经网络三剑客GCN.GraphSAGE.GAT中的两个: 图卷积神经网络(GCN)理解与tensorflow2.0代码实现 GraphSAGE 模型解读与tensorflow ...

  4. HAN - Heterogeneous Graph Attention Network 异构图注意力网络 WWW2019

    论文题目:Heterogeneous Graph Attention Network (HAN)异构图注意力网络 作者:北京邮电大学Xiao Wang,Houye Ji等人 来源:WWW2019 论文 ...

  5. HAN - Heterogeneous Graph Attention Network 异构图注意力网络 WWW 2019

    文章目录 1 相关介绍 背景 元路径 meta-path 异构图和同构图 相关工作 Graph Neural Network Network Embedding 贡献 2 HAN模型 2.1 Node ...

  6. Graph Attention Network (GAT) 的Tensorflow版代码解析

    文章目录 代码结构 参数设置 数据加载 特征预处理 模型定义 GAT核心定义:layers.py gat.py base_gattn.py 关于GAT的基本原理解析可查看另一篇博客: Graph At ...

  7. 【论文阅读】Heterogeneous Graph Attention Network

    异质图注意网络 摘要 1 引言 2 相关工作 2.1 GNN 2.2 网络嵌入 3 准备工作 3.1 异质图(Heterogeneous Graph) 3.2 元路径(Meta-path) 3.3 基 ...

  8. 异构图注意力网络Heterogeneous Graph Attention Network ( HAN )

    文章目录 前言 一.基础知识 1.异构图(Heterogeneous Graph) 2.元路径 3.异构图注意力网络 二.异构图注意力网络 1.结点级别注意力(Node-level Attention ...

  9. 异构图注意力网络(Heterogeneous Graph Attention Network)

    Heterogeneous Graph Attention Network 这篇论文将会发表在WWW 2019会议上. ABSTRACT GNN在深度学习领域表现出了强大的性能.但是,在包含不同节点和 ...

最新文章

  1. Java Review - 并发编程_读写锁ReentrantReadWriteLock的原理源码剖析
  2. [13年迁移]firefoxfocus为火狐新建焦点事件
  3. Qt QWidget控件透明动画实现
  4. 10篇产品大V精华文章,你值得一读
  5. 移动开发学习记录点滴-动态增加列表行数据
  6. [Codeforces677B]Vanya and Food Processor(模拟,数学)
  7. 活动推荐 | 首届“中新人工智能高峰论坛”,与周志华、李德毅等大咖对话未来...
  8. zabbix错误提示解决
  9. 美国 CISA 和 NIST 联合发布软件供应链攻击相关风险及缓解措施
  10. php网站开发实例教程源码,PHP+MYSQL网站开发全程实例
  11. java 内部邮件_java企业内部邮件email收发管理系统s2sh
  12. 有没有简易的画图软件?这4款软件让画图更简单
  13. intel 9260AC网卡修改成Killer 1550
  14. 联合分布(二):联合分布
  15. 易了千明之易语言套装视频教程第四套辅助制作
  16. html期末作业代码网页设计——蛋糕甜品店(4页) web期末作业设计网页_甜品美食大学生网页设计作业成品
  17. 小小故事--大大道理
  18. 我们为什么来到这个世界上?--黄金雄(杰西)
  19. 二叉树的基本原理和性质(初学必看)
  20. 耗时2天,我自制了一台体感游戏机

热门文章

  1. 二分搜索(查找)方法
  2. 微信小程序如何登陆管理后台并且绑定开发者账号?
  3. 在数组中查找指定元素 (10分)
  4. 位置服务器的使用方法,Excel Server Tutorial
  5. 保护和鼓励宝宝的好奇心和探索欲望
  6. HTML代码实现一些特殊符号的编写
  7. SIGCOMM2018 多径TCP高铁测量论文解读和参会感想
  8. MATLAB绘图合集:填充二维等高线图contourf
  9. Ubuntu切换到root用户下无法使用java命令,jps用不了--Ubuntu 22.04
  10. pywinauto java_Python 3.X中的pywinauto错误