DDI中的自适应子结构

SA-DDI提出了一种子结构感知图神经网络,一种配备了子结构注意力机制和用于DDI预测的子结构-子结构交互模块(SSIM)的消息传递神经网络。具体而言,基于分子中官能团的尺寸和形状通常是不规则的化学直觉,子结构注意力被设计为捕获尺寸和形状自适应的子结构。DDI与化学子结构相互作用相关(一般是两个子结构间接相关,通过中间的蛋白产生关联)。

来自:Learning size-adaptive molecular substructures for explainable drug–drug interaction prediction by substructure-aware graph neural network

目录

  • 背景概述
  • 方法
    • 子结构提取
    • 子结构注意力
    • 子结构相互作用模块
    • 药物相互作用预测

背景概述

目前已经开发了许多用于DDI预测的计算模型,并且这些方法在各种数据集上显示出有希望的性能。然而,对于DDI预测中的基于结构的方法,至少有三个问题没有得到很好的解决:

  • 首先,大多数工作将分子的子结构视为固定大小,因此使用具有预定层数的GNN只能捕获固定的半径(跳数)。然而,化学子结构的大小和形状通常是不规则的,如图1a所示。
  • 其次,GNN最常见的read out函数(即全局均值或求和pooling)不适合DDI预测。例如,通过直接计算子结构表示的总和或者平均值,基本子结构(如乙酸)可能会被次要子结构(例如丙基)淹没,如图1b所示。
  • 第三,大多数工作仅在暖启动场景下进行实验(即训练和测试集共享药物分子)。然而,实际应用通常需要DDI预测冷启动场景,以推断新药和已知药物之间的相互作用或新药之间的相互作用。

fig1

  • 图1:SA-DDI的动机。a:达卡巴嗪中两个突出显示的官能团具有不同的大小和形状。b:棕榈酸的半径为1的子结构(也称为1跳子结构)及其频率。丙基具有最大的频率,但它是DDI的不太重要的子结构。

因此提出SA-DDI如图2所示。SA-DDI通过以下贡献缓解了上述限制:

  • 有向消息传递神经网络(D-MPNN)用来提取大小灵活且形状不规则的子结构。在SA-DDI中,由子结构注意力机制确定的不同分数被分配给具有不同半径的子结构。以具有不同半径的原子为中心的子结构的加权和产生尺寸自适应的子结构,如图2所示。
  • 引入了子结构-子结构相互作用模块(SSIM)来模拟药物对的功能子结构之间的化学反应。SSIM克服了全局pooling的局限性,因为全局pooling将每个子结构视为同等重要。

fig2

  • 图2:SA-DDI以一对药物作为输入,然后将它们送到前馈层,然后是配备了子结构注意力的D-MPNN,以提取尺寸和形状自适应的子结构。有向消息传递网络用 T T T次迭代来更新节点特征,其中在该示例中 T T T是6。然后将提取的子结构输入SSIM,以学习子结构-子结构的相互作用。最后,该模型基于子结构-子结构相互作用的结果预测DDI。

方法

一般来说,DDI的预测任务是开发一个输入两种药物的计算模型(输入药物 d x d_x dx d y d_y dy,输出为相互作用类别 r r r)。

子结构提取

分子的原子充当图的节点,而边是由化学键形成的。药物 d d d G = ( V , E ) G=(V,E) G=(V,E)表示, v i ∈ V v_{i}\in V viV为第 i i i个原子, e i j ∈ E e_{ij}\in E eijE为原子 i , j i,j i,j之间的键。每个节点 v i v_{i} vi有一个特征 x i ∈ R d x_{i}\in R^{d} xiRd,边 e i j e_{ij} eij有一个特征 x i j ∈ R d ′ x_{ij}\in R^{d'} xijRd

经典的GNN如图3a所示。一般来说,GNN由三个阶段组成:

  • 通过聚合来自其邻居节点的消息来更新节点级特征(即消息传递),如图3b所示;
  • 通过使用read out函数聚合来自分子图的所有节点级特征来生成图级特征向量,如图3c所示;
  • 基于图级特征向量预测图的标签,如图3a所示。

fig3

  • 图3:GNN的图示。

SA-DDI使用D-MPNN,作为通用消息传递神经网络(MPNN)架构的变体,用于分子子结构提取。到目前为止,对于标准的GNN,DDI预测有两个缺点。首先,GNN提取固定大小的子结构 h i ( T ) h_{i}^{(T)} hi(T)。其次,read out太过直接( h G = 1 n ∑ i = 1 n h i ( T ) h_{G}=\frac{1}{n}\sum_{i=1}^{n}h_{i}^{(T)} hG=n1i=1nhi(T)或者 h G = ∑ i = 1 n h i ( T ) h_{G}=\sum_{i=1}^{n}h_{i}^{(T)} hG=i=1nhi(T))。因此,SA-DDI引入子结构注意力和子结构相互作用模块来解决。

子结构注意力

子结构注意力被设计用于提取具有任意大小和形状的子结构。在第 k k k次迭代期间,D-MPNN提取半径为 k k k的子结构。使用具有不同半径的原子为中心的子结构的加权和可以获得尺寸自适应的分子子结构,如图2所示。子结构注意力的思想是为具有不同半径的子结构分配不同的分数。具体来说,对于第 t t t层的边级别特征 h i j ( t ) h_{ij}^{(t)} hij(t),首先通过拓扑感知的bond pooling获得图级别特征 g ( t ) ∈ R h g^{(t)}\in R^{h} g(t)Rh g ( t ) = ∑ i = 1 n ∑ v j ∈ N ( v i ) β j i h j i ( t ) g^{(t)}=\sum_{i=1}^{n}\sum_{v_{j}\in N(v_{i})}\beta_{ji}h_{ji}^{(t)} g(t)=i=1nvjN(vi)βjihji(t)其中, b e t a i j beta_{ij} betaij通过SAGPooling获得: β j i = s o f t m a x ( G N N ( A e , X e ) ) \beta_{ji}=softmax(GNN(A_{e},X_{e})) βji=softmax(GNN(Ae,Xe))其中, X e X_{e} Xe是边的特征矩阵, A e A_e Ae是邻接矩阵,其中非零位置指示两个键共享一个公共节点。然后,为每个图级表示 g ( t ) g^{(t)} g(t)分配注意力得分,如下所示: e ( t ) = a ( t ) ⊙ σ ( W g ( t ) + b ) e^{(t)}=a^{(t)}\odot\sigma(Wg^{(t)}+b) e(t)=a(t)σ(Wg(t)+b)其中, ⊙ \odot 表示点积, a ( t ) ∈ R h a^{(t)}\in R^{h} a(t)Rh为第 t t t层的权重向量,然后对所有层的 e ( t ) e^{(t)} e(t)归一化: α ( t ) = e x p ( e ( t ) ) ∑ k = 1 T e x p ( e ( k ) ) \alpha^{(t)}=\frac{exp(e^{(t)})}{\sum_{k=1}^{T}exp(e^{(k)})} α(t)=k=1Texp(e(k))exp(e(t))其中 α ( t ) ∈ R 1 \alpha^{(t)}\in R^{1} α(t)R1即为每一层的注意力,最终边 e i j e_{ij} eij的表示为: h i j = ∑ t = 1 T α ( t ) h i j ( t ) h_{ij}=\sum_{t=1}^{T}\alpha^{(t)}h_{ij}^{(t)} hij=t=1Tα(t)hij(t)最后,通过聚合传入的边级特征返回到节点级特征,如下所示: m i = ∑ v j ∈ N ( v i ) h j i m_{i}=\sum_{v_{j}\in N(v_{i})}h_{ji} mi=vjN(vi)hji h i = f ( x i + m i ) h_{i}=f(x_{i}+m_{i}) hi=f(xi+mi)其中, h i h_{i} hi包含了来自不同感受野的子结构信息。

子结构相互作用模块

为了克服GNN最常见的read out函数的限制。提出了SSIM来识别DDI的关键子结构。通过使用子结构注意力,SA-DDI提取了几个大小自适应的子结构,每个子结构以一个原子为中心,如图2所示。SSIM用于为药物的每个子结构分配一个分数,其中分数由其与另一种药物的相互作用概率决定,如图4所示。
fig4

  • 图4:相互作用概率计算。

给定药物对 ( d x , d y ) (d_x,d_y) (dx,dy),我们假设 d x d_x dx的子结构信息可以用来检测 d y d_y dy的潜在子结构。特别的,我们用拓扑感知全局pooling来获得 d x d_x dx的图表示: g x = ∑ i = 1 n β i h i ( x ) g_x=\sum_{i=1}^{n}\beta_{i}h_{i}^{(x)} gx=i=1nβihi(x) β i = s o f t m a x ( G N N ( A v , X v ) ) \beta_{i}=softmax(GNN(A_{v},X_{v})) βi=softmax(GNN(Av,Xv))其中 X v X_v Xv是节点级特征矩阵, A v A_v Av是邻接矩阵,其中非零位置指示两个节点有连接。然后,我们计算药物 d x d_x dx与药物 d y d_y dy中的第 i i i个子结构的相互作用概率 s i ( y ) s_{i}^{(y)} si(y) s i ( y ) = s o f t m a x ( ( W x g x ) ⊙ ( W y h i ( y ) ) ) s_{i}^{(y)}=softmax((W_{x}g_{x})\odot(W_{y}h_{i}^{(y)})) si(y)=softmax((Wxgx)(Wyhi(y)))其中, W x ∈ R h ′ × h W_{x}\in R^{h'\times h} WxRh×h W y ∈ R h ′ × h W_{y}\in R^{h'\times h} WyRh×h是两个权重矩阵, s i ( y ) s_{i}^{(y)} si(y)可以被视为以 d y d_y dy的第 i i i个原子为中心的子结构的重要性。因此, d y d_y dy的图级表示为: h G y = ∑ i = 1 n s i ( y ) ⋅ h i ( y ) ⋅ g x h_{G_{y}}=\sum_{i=1}^{n}s_{i}^{(y)}\cdot h_{i}^{(y)}\cdot g_{x} hGy=i=1nsi(y)hi(y)gxSSIM利用 d x d_x dx的结构信息通过向 d y d_y dy中的重要子结构分配更高的分数来增强 d y d_y dy的表示,反之亦然。

药物相互作用预测

给定DDI三元组 ( d x , d y , r ) (d_x,d_y,r) (dx,dy,r),DDI预测可以表示为下面的联合概率: P ( d x , d y , r ) = σ ( ( W x y ( h G x ∣ ∣ h G y ) ) ⊙ u r ) P(d_x,d_y,r)=\sigma((W_{xy}(h_{G_{x}}||h_{G_{y}}))\odot u_r) P(dx,dy,r)=σ((Wxy(hGx∣∣hGy))ur)其中, W x y ∈ R b × h , u r ∈ R b W_{xy}\in R^{b\times h},u_r\in R^{b} WxyRb×h,urRb是类型 r r r的可学习参数, ∣ ∣ || ∣∣表示concat,模型的学习过程可以通过最小化交叉熵损失函数来实现: L = − 1 ∣ D ∣ ∑ ( d x , d y , r ) i ∈ D y i l o g ( p i ) + ( 1 − y i ) l o g ( 1 − p i ) L=-\frac{1}{|D|}\sum_{(d_x,d_y,r)_i\in D}y_{i}log(p_{i})+(1-y_{i})log(1-p_{i}) L=D1(dx,dy,r)iDyilog(pi)+(1yi)log(1pi)其中, y i = 1 y_i=1 yi=1表示 d x d_x dx d y d_y dy之间存在相互作用,反之亦然, p i p_i pi是DDI预测的概率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/692808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线阵相机之帧超时

1 帧超时的效果 在帧超时时间内相机若未采集完一张图像所需的行数,则相机会直接完成这张图像的采集,并自动将缺失行数补黑出图,机制有以下几种选择: 1. 丢弃整张补黑的图像 2. 保留补黑部分出图 3.丢弃补黑部分出图

混子文章|蓝桥杯一题 -平方差

题目考点: 平方差 ,平方差奇偶关系 代码 #include<bits/stdc.h> #define Run 0 #define endl "\n" #define N 100005 using unl __int128_t; using ll long long; using namespace std; class Solution { public: void slove() {int sum 0;int L, R; cin &…

内存计算研究进展-针对机器学习的近数据计算架构

针对机器学习的近数据计算架构代表性工作有&#xff1a; Georgia Institute of Technology的BSSync (bounded staled sync) 和 Neurocube&#xff0c;Advanced Micro Devices 的 CoML&#xff0c;具体如下。 1 BSSync BSSync指出&#xff0c;在并行实现的机器学习应用中&#…

代码随想录算法训练营DAY21 | 二叉树 (9)

一、LeetCode 669 修建二叉搜索树 题目链接&#xff1a;669.修建二叉搜索树https://leetcode.cn/problems/trim-a-binary-search-tree/description/ 思路&#xff1a;递归三部曲-定参数、返回值-定终止条件-定单层递归逻辑 class Solution {public TreeNode trimBST(TreeNode …

Sora了解资料

一、基本介绍 1.1sora 在 2024 年 2 月 16 日&#xff0c;Open AI 宣布推出全新的生成式人工智能模型“Sora”。据了解&#xff0c;通过文本指令&#xff0c;Sora 可以直接输出长达 60 秒的视频&#xff0c;并且包含高度细致的背景、复杂的多角度镜头&#xff0c;以及富有情感…

Prometheus+TDengine集群实现监控体系高可用

背景 为避免再次出现因Prometheus宕机导致业务无法查看历史数据受到影响&#xff0c;准备将Prometheus架构从单节点方式升级为高可用集群方式并将后端存储由本地存储改为远端分布式时序数据库存储。分布式时序数据库采用国产数据库TDengine。 架构 解释&#xff1a;虚线代表P…

Tuxera NTFS软件2024免费版本如何下载?

当然&#xff0c;以下是关于Tuxera NTFS的更多信息&#xff1a; Tuxera NTFS2024下载如下:https://wm.makeding.com/iclk/?zoneid58824 1. 易于使用和管理&#xff1a; Tuxera NTFS的界面设计简洁直观&#xff0c;用户无需复杂的设置和配置即可轻松上手。无论是对于普通用户…

机器视觉【3】非线性求解相机几何参数

线性求解相机几何参数的缺点 上一章节介绍学习了&#xff08;DLT&#xff09;线性求解相机几何参数&#xff0c;了解到线性求解法当中比较明显的缺点&#xff1a; 没有考虑到镜头畸变的影响不能引入更多的约束条件融入到DLT算法当中优化最关键的是&#xff0c;代数距离并不是…

Sora给中国AI带来的真实变化

OpenAI的最新技术成果——文生视频模型Sora&#xff0c;在春节假期炸裂登场&#xff0c;令海内外的AI从业者、投资人彻夜难眠。 如果你还没有关注到这个新闻&#xff0c;简单介绍一下&#xff1a;Sora是OpenAI使用超大规模视频数据&#xff0c;训练出的一个通用视觉模型&#x…

ClickHouse快速上手

简介 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS) 官网(https://clickhouse.com/docs/zh)给出的定义&#xff0c;其实没看懂 特性 ClickHouse支持一种基于SQL的声明式查询语言&#xff0c;它在许多情况下与ANSI SQL标准相同。使用时和MySQL有点相似&#…

JAVA设计模式结构型模式

一、前言 java设计模式主要分为创建型模式&#xff0c;结构型模式和行为型模式。上一篇主要总结了行为型设计模式&#xff0c;本章总结&#xff0c;结构型模式。像创建型模式就不写了&#xff0c;比较简单。大概知道是工厂模式和建造者模式&#xff0c;原型模式就行&#xff0…

CTFHub技能树web之RCE(二)

第五题&#xff1a;远程包含 根据题目&#xff0c;使用远程包含进行 打开phpinfo&#xff0c;可以看到allow_url_fopen和allow_url_include都是On&#xff0c;因此可以使用php://input&#xff0c;由于代码会检查file中的内容&#xff0c;因此不能够使用php://filter包含文件&a…

Unreadable-Mesh内存占用翻倍问题

1&#xff09;Unreadable-Mesh内存占用翻倍问题 2&#xff09;在TMP中计算书名号《》高度的问题 3&#xff09;Mipmap如何限定层级 4&#xff09;FMOD设置中关于Virtual Channel Count&Real Channel Count的参数疑问 这是第374篇UWA技术知识分享的推送&#xff0c;精选了UW…

STM32使用软件SPI协议操作TFT18彩屏

时间记录&#xff1a;2024/2/20 一、SPI协议介绍 &#xff08;1&#xff09;SPI设备通过4根线进行通信&#xff0c;CS片选线&#xff0c;选择从设备&#xff0c;SCK时钟线&#xff0c;由主设备产生时钟&#xff0c;主机MOSI线连从机MISO线&#xff0c;由主机向从机发送信息&am…

CMake与vs的配置对应(常规->附加包含目录,链接器->输入)

常规->附加包含目录 对应CMake的 include_directories(${QT_PATH}/include) 写在 add_executable 前面 链接器->输入 对应CMake的 target_link_libraries(${PROJECT_NAME} xx.lib) 写在 add_executable 后面

微服务—DSL基础语法与RestClient操作

本博客为个人学习笔记&#xff0c;学习网站&#xff1a;黑马程序员SpringCloud 2021教程 目录 DSL语法 索引库操作 mapping属性 创建索引库 字段拷贝 查询、删除、修改索引库 文档操作 新增文档 查询、删除文档 修改文档 全量修改 增量修改 DSL文档语法小结 Rest…

Gin框架: 通用方法的封装与上传功能的应用

通用方法模块的设计 通用的方法可以定义在一个模块里&#xff0c;以方便调用&#xff0c;无需重复造轮子一般可以设计一个顶层的 models 包来承载公共方法 models 包 package modelsimport ("crypto/md5""encoding/hex""math/rand""time&…

机器学习基础(三)监督学习的进阶探索

导语&#xff1a;上一节我们深入地探讨监督学习和非监督学习的知识&#xff0c;重点关注它们的理论基础、常用算法及实际应用场景&#xff0c;详情可见&#xff1a; 机器学习基础&#xff08;二&#xff09;监督与非监督学习-CSDN博客文章浏览阅读769次&#xff0c;点赞15次&a…

strings.xml补充知识

复数名词 <plurals name"book"><item name"one">book</item><item name"others">books</item> </plurals>int bookCount 4; Resources res getResources(); String bookCount res.getQuantityString(R.…

webpack打包速度优化思维导图

webpack打包速度优化思维导图 前言附件 前言 去年的时候公司一个项目体积过大&#xff0c;我是m1芯片的macpro&#xff0c;光启动就要1分钟&#xff0c;配置差点都电脑&#xff0c;启动就要3分钟&#xff0c;自然打包速度也会慢很多&#xff0c;我们是gitlab设置成了自动打包的…