支持域自适应的可解释网络改进药物-靶标预测

news2024/12/23 16:29:42

预测药物-靶点相互作用是药物发现的关键。最近基于深度学习的方法表现出良好的性能,但仍然存在两个挑战:

  • 如何明确地建模和学习药物和靶标之间的局部相互作用,以更好地预测和解释;
  • 如何优化新型药物-靶标对预测的泛化性能。

在这里,作者提出了一种具有域自适应的深度双线性注意力网络框架DrugBAN,用于明确地学习"药物-靶标pair"之间的局部相互作用,并适应于分布外数据。DrugBAN对药物分子图和靶蛋白序列进行预测,使用条件领域对抗学习在不同分布上对齐学习到的相互作用表示,以便更好地泛化到新的"药物-靶pair"。在域内和跨域设置下的三个基准数据集上的实验表明,与五个最先进的基线模型相比,DrugBAN获得了最佳的总体性能。此外,将学习到的双线性注意力图可视化,可以从预测结果中提供可解释的见解。

来源:Interpretable bilinear attention network with domain adaptation improves drug–target prediction

目录

  • 背景介绍
  • 方法
    • 双线性注意力网络
    • 领域自适应
  • 可解释性可视化

背景介绍

尽管目前出现了很多优秀的DTI预测方法,但现有的基于DL的方法仍存在两个挑战。

第一个挑战是如何明确了解药物和蛋白质的局部结构之间的相互作用。DTI基本上由药物化合物中的重要分子亚结构和蛋白质序列中的结合位点之间的相互作用决定。然而,许多先前的研究在各自的编码器中只学习全局表示,而没有明确地学习药物和靶标之间的局部交互。单独的全局表示学习往往会限制建模能力和预测性能。此外,如果没有对局部交互的显式学习,即使模型的预测是准确的,其预测结果也很难解释

第二个挑战是跨域泛化预测性能,即预测分布外(out of learned distribution)数据。由于化学空间和基因组空间巨大,实际应用中需要被预测的"药物-靶标pair"通常是不可见的,并且它们与训练数据中的任何pair分布都不同,所以需要跨域建模。一个鲁棒的模型应该能够将学习到的知识转移到一个未标记数据的新领域。在这种情况下,作者需要通过学习可转移表示(例如从source到target)来调整分布并提高跨域泛化性能。目前,这是药物发现的一个尚未探索的方向。


关于药物-药物相互作用预测,也有一篇预测分布外数据的工作:DSIL-DDI: A Domain-Invariant Substructure Interaction Learning for Generalizable Drug–Drug Interaction Prediction

区别:DrugBAN需要领域自适应的学习过程(源域有标签,目标域无标签,但需要对抗学习对齐两个域的表示),DSIL-DDI直接在源域学习到通用的表示,无需领域自适应学习。


方法

DrugBAN属于CPI中的Y型架构,靶标蛋白记为 P = ( a 1 , . . . , a n ) P=(a_{1},...,a_{n}) P=(a1,...,an),其中 a i a_{i} ai为23个氨基酸中的某一个。药物需要将SMILES转为2D分子图 G = ( V , E ) G=(V,E) G=(V,E)

fig1

  • 图1a:DrugBAN框架。药物分子使用GCN编码,蛋白质序列由1D CNN编码。药物编码表示的每一行是子结构的向量。蛋白质编码表示的每一行是子序列的向量。药物和蛋白质的表示被输入双线性注意力模块,用于学习它们的成对局部相互作用。联合表示 f \textbf{f} f由全连接解码器预测DTI概率 p p p。如果预测任务是跨域的,使用CDAN(Bilinear Attention Networks,NeurIPS,2018)模块在源域和目标域对齐学习的表示,再输入解码器预测概率。
  • 图1b:双线性注意力网络。 H d \textbf{H}_{d} Hd H p \textbf{H}_{p} Hp是药物和蛋白质的表示。在step1中,bilinear attention map矩阵 I \textbf{I} I由变换矩阵 U \textbf{U} U V \textbf{V} V建立低秩相互作用模型,测量子结构相互作用的强度。然后利用 I \textbf{I} I通过共享变换矩阵 U \textbf{U} U V \textbf{V} V的双线性池化生成step2中的联合表示 f \textbf{f} f
  • 图1c:CDAN是一种域自适应技术,用于减少不同数据分布之间的领域偏移。使用CDAN将源域和目标域的联合表示 f \textbf{f} f和softmax logits g \textbf{g} g嵌入到判别器的联合条件表示中,这是一个两层全连接网络,最大限度地减少了域分类错误,以区分目标域和源域。

双线性注意力网络

BAN最初用于视觉问答VQA。VQA的任务是给定一个图像和相关的自然语言问题,系统给出与图像和问题相关的自然语言回答。VQA问题可以看作是一个多模态学习任务,与DTI相似。双线性注意力网络(BAN)考虑每对多模态输入通道,即"图像局部区域-提问句子的局部词语pair",以学习交互表示。在DTI中就是学习药物中的原子和蛋白质子结构pair之间的交互表示。

得到蛋白质表达 H p = { h p 1 , . . . , h p M } \textbf{H}_{p}=\left\{h_{p}^{1},...,h_{p}^{M}\right\} Hp={hp1,...,hpM}和药物表达 H d = { h d 1 , . . . , h d N } \textbf{H}_{d}=\left\{h_{d}^{1},...,h_{d}^{N}\right\} Hd={hd1,...,hdN},其中 M M M N N N分别表示蛋白质的子结构数量和药物的原子数量。双线性交互映射可以获得成对交互 I ∈ R N × M \textbf{I}\in R^{N\times M} IRN×M。在图1b中, U ∈ R D d × K \textbf{U}\in R^{D_{d}\times K} URDd×K V ∈ R D p × K \textbf{V}\in R^{D_{p}\times K} VRDp×K表示药物和蛋白质的可学习权重矩阵。 q ∈ R K q\in R^{K} qRK是可学习的权重向量。SumPool是一个1D无重叠的sum pooling操作。

在学习时,DTI为二分类任务,设样本pair i i i的标签为 y i y_{i} yi,损失函数为: L = − ∑ i ( y i l o g ( p i ) + ( 1 − y i ) l o g ( 1 − p i ) ) L=-\sum_{i}(y_{i}log(p_{i})+(1-y_{i})log(1-p_{i})) L=i(yilog(pi)+(1yi)log(1pi))

领域自适应

cross-domain自适应是为了更好的泛化。机器学习模型往往会在属于同一个分布的相似数据上得到很好的效果,但是在与训练集不同的分数数据上会表现得不太好。作者使用了CDAN来使得模型可以在没有标签的目标域数据上表现良好。

CDAN包含3个组件:特征提取 F ( ⋅ ) F(\cdot) F(),解码器 G ( ⋅ ) G(\cdot) G(),领域判别器 D ( ⋅ ) D(\cdot) D(),使用 F ( ⋅ ) F(\cdot) F()生成输入数据的联合表达,即 f s = F ( x s ) f^{s}=F(x^{s}) fs=F(xs) f t = F ( x t ) f^{t}=F(x^{t}) ft=F(xt),然后使用解码器 G ( ⋅ ) G(\cdot) G()得到分类预测结果 g s = G ( f s ) ∈ R 2 g^{s}=G(f^{s})\in R^{2} gs=G(fs)R2 g t = G ( f t ) ∈ R 2 g^{t}=G(f^{t})\in R^{2} gt=G(ft)R2,然后由多线性映射将 f f f g g g映射为一个联合表示 h h h

判别器 D ( ⋅ ) D(\cdot) D()用于区分联合条件表示属于源域还是目标域。通过判别器的学习,可以使得解码器能够在无标签领域上进行泛化预测。

可解释性可视化

fig2

  • 图2a:co-crystalized配体的可解释性。每个panel的左侧显示了配体的2D结构,其中突出显示的原子(橙色)被预测为有助于蛋白质结合。所有结构使用RDKit可视化。每个panel的右侧提供了配体对应的"配体-蛋白质"相互作用。
  • 图2b:结合口袋上的可解释性。配体-蛋白质结合口袋的3D呈现,突出显示了围绕相应配体(青色)的正确预测的氨基酸残基(橙色)。剩余的氨基酸残基、二级结构元件和表面图用灰色表示。所有配体-蛋白质相互作用图和x射线结构的3D表示都使用Molecular Operating Environment(MOE)软件进行可视化。

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

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

相关文章

高斯课堂 计算机网络(下)

第四章、网络层 0、第四章导图 1、网络层概述及IP地址(上) (1)网络层概述 无连接指的是在网络层这一层次,我们在发送数据的时候,不需要实现建立连接,这种建立连接的可靠性由谁来保证呢&#x…

【Python入门第十三天】Python 元组

元组(Tuple) 元组是有序且不可更改的集合。在 Python 中,元组是用圆括号编写的。 实例 创建元组: thistuple ("apple", "banana", "cherry") print(thistuple)运行实例 访问元组项目 您可以通…

【Mysql】存储过程

【Mysql】存储过程 文章目录【Mysql】存储过程1.存储过程1.1 存储过程概述1.2 特点1.3 基本语法1.3.1 创建1.3.2 调用1.3.3 查看1.3.4 删除1.4 变量1.4.1 系统变量1.4.2 用户定义变量1.4.3 局部变量1.5 if1.6 参数1.7 case1.8 循环1.8.1 while1.8.2 repeat1.8.3 loop1.9 游标1.…

keepalived高可用

文章目录前言一、Keepalived简介二、keepalived工作原理三、配置文件四、实验过程1.某台Real Server down2.LVS本身down方法:五、代码详细演示整体过程调度器安装软件、设置测试keepalived对后端RS的健康检测backup服务主机设置总结前言 一、Keepalived简介 Keepali…

【深度学习】训练模型结果同时显示,模型结果对比

码字不易,如果各位看官感觉该文章对你有所帮助,麻烦点个关注,如果有任何问题,请留言交流。如需转载,请注明出处,谢谢。 文章链接:【深度学习】训练模型结果同时显示,模型结果对比_莫…

Python - 绘制人体生物节律

文章目录项目说明关于人体生物节律用到的技术代码实现获取每月有多少天计算每天到生日过了多少天计算节律绘图结果项目说明 这里仿照 http://www.4qx.net/The_Human_Body_Clock.php 做一个人体生物节律的计算和展示 关于人体生物节律 百度/维基百科 解释 https://zh.wikiped…

DaVinci 偏好设置:系统 - 内存和 GPU

偏好设置 - 系统/内存和 GPUPreferences - System/Memory and GPU内存和 GPU Memory and GPU 选项卡提供了内存配置以及 GPU 配置的相关设置。内存配置Memory Configuration系统内存System Memory列出了所用电脑的总的可用内存。限制 Resolve 内存使用到Limit Resolve memory u…

Java中如何创建和使用对象?

要想使用一个类则必须要有对象。在Java程序中可以使用new关键字创建对象,具体格式如下:类名对象名称null; 对象名称new 类名();上述格式中,创建对象分为声明对象和实例化对象两步,也可以直接通过下面的方式创建对象,具…

从 ClickHouse 到 Apache Doris,腾讯音乐内容库数据平台架构演进实践

导读:腾讯音乐内容库数据平台旨在为应用层提供库存盘点、分群画像、指标分析、标签圈选等内容分析服务,高效为业务赋能。目前,内容库数据平台的数据架构已经从 1.0 演进到了 4.0 ,经历了分析引擎从 ClickHouse 到 Apache Doris 的…

H5使用微信JSSDK的wx.chooseImage进行多文件上传

背景:项目需要用H5做一个上传多图片合成的功能页面,这里我先做了调查,调查结果是安卓在微信内核不能使用传统的input file进行多文件上传,只能限制每次上传一张,ios则不限制,所以H5想在微信内核进行多图片上…

实验室三维磁场电磁铁的主要用途及技术指标

产品用途: 北京锦正茂科技有限公司自主研发的多极电磁铁以四极电磁铁居多,也有五极、六极、八极等多极的应用,主要应用于磁滞现象研究、磁化系数测量、霍尔效应研究、磁光实验、磁场退火、核磁共振、电子顺磁共振、生物学研究、磁性测量、磁性…

实力见“证”:Tapdata 技术创新与发展潜力广受认可

Tapdata 积极拥抱各种“不确定”,变中求新,只为呈现出更加好用的产品。 而 Tapdata 在专业领域不断深耕,持续打磨产品能力的同时,也收获了诸多来自外界的肯定,从用户到投资人,从生态伙伴到技术媒体以及官方…

【Mysql系列】Mysql之窗口函数

适用场景 窗口函数适用场景: 对分组统计结果中的每一条记录进行计算的场景下, 使用窗口函数更好, 注意, 是每一条;因为MySQL的普通聚合函数的结果(如 group by)是每一组只有一条记录。 准备数据 创建表 create table app_product (id bigint auto_in…

4次迭代,让我的 Client 优化 100倍!泄漏一个 人人可用的极品方案!

4次迭代,让我的HttpClient提速100倍 在大家的生产项目中,经常需要通过Client组件(HttpClient/OkHttp/JDK Connection)调用第三方接口。 尼恩的一个生产项目也不例外。 在一个高并发的中台生产项目中。有一个比较特殊的请求,一次…

「文档数据库之争」MongoDB和CouchDB的比较

MongoDB和CouchDB都是基于文档的NoSQL数据库类型。文档数据库又称mdocument store,通常用于存储半结构化数据的文档格式及其详细描述。它允许创建和更新程序,而不需要引用主模式。移动应用程序中的内容管理和数据处理是可以应用文档存储的两个字段。Mong…

积分球原理及积分球类型介绍

标题积分球标准型积分球LED积分球均匀光源便携式高亮度积分球均匀光源微光积分球均匀光源积分球均匀光源iSphere高光谱响应光学积分球其他分类积分球 积分球原理:由于球体内整涂有白色漫反射材料的空腔球体,球壁上开有采样口,当待测样品光源进入积分球的…

Java之关于String字符串笔试面试重点

目录 一.关于字符串的常量池 1.关于字符串产生的三种方式 2.关于字符串的常量池 3.直接赋值法和new的方式产生对象的区别 二.关于intern方法 1.情况一(已经包含) 2.情况二(已经包含) 3.情况三(未包含) 4.情况四 三.关于字符串的不可变性 1.了解字符串的不可变性 2.Str…

python+selenium使用webdriver启动chrome出现闪退现象解决

这两天发现之前开发的爬虫程序出问题了:谷歌浏览器出现打开立即闪退的现象,代码未修改过,检查也没有任何问题! 查看chrome浏览器发现版本更新了 ↑(点击chrome浏览器右上角三个点,最下面帮助→Google Chr…

[软件工程导论(第六版)]第9章 面向对象方法学引论(课后习题详解)

文章目录1. 什么是面向对象方法学?它有哪些优点?2. 什么是“对象”?它与传统的数据有何异同?3. 什么是“类”?4. 什么是“继承”?5. 什么是模型?开发软件为何要建模?6. 什么是对象模…

[软件工程导论(第六版)]第8章 维护(复习笔记)

文章目录8.1 软件维护的定义8.2 软件维护的特点8.3 软件维护过程8.4 软件的可维护性8.5 预防性维护8.6 软件再工程过程维护的基本任务:保证软件在一个相当长的时期能够正常运行软件工程的主要目的就是要提高软件的可维护性,减少软件维护所需要的工作量&a…