Nat. Mach. Intell 2023 | DrugBAN+:域自适应的可解释双线性插值网络改进药物-靶标预测(DTI)
DrugBAN+:Interpretable bilinear attention network with domain adaptation improves drug–target prediction
论文:Interpretable bilinear attention network with domain adaptation improves drug–target prediction | Nature Machine Intelligence
代码:https://github.com/peizhenbai/DrugBAN
数据集BioSNAP:https://github.com/kexinhuang12345/MolTrans/tree/master/dataset/BIOSNAP/full_data
一、问题
传统的基于结构和基于配体的虚拟筛选方法因其相对有效的性能而得到了广泛的研究。然而,基于结构的虚拟筛选需要分子对接模拟,如果目标蛋白的三维结构未知,则不适用。此外,基于配体的虚拟筛选基于同一蛋白质的已知活性预测新的活性分子,但当已知活性数量不足时,性能较差
DTI本质上是由药物化合物中重要分子亚结构与蛋白质序列结合位点之间的相互作用决定的。
问题1:许多以前的模型使用它们单独的编码器学习全局表示,而没有明确地学习局部交互。因此,首先学习整个结构的药物和蛋白质表示,而相互信息仅在黑箱解码模块中隐式学习。药物与靶标之间的相互作用尤其与其关键的亚结构有关; 因此,单独的全局表示学习往往会限制建模能力和预测性能。此外,如果没有对局部相互作用的明确学习,即使预测是准确的,预测结果也很难解释
问题2:跨领域推广预测性能,超越学习分布。由于化学和基因组空间的广阔区域,在实际应用中需要预测的药物靶标对通常是不可见的,并且与训练数据中的任何对都不相似。它们具有不同的分布,因此需要跨域建模。一个健壮的模型应该能够将学习到的知识转移到一个只有未标记数据的新领域。在这种情况下,需要通过学习可转移表征来对齐分布并提高跨域泛化性能
二、模型方法
1、Problem formulation
蛋白质序列:P=(a1,a2,...,an),每一个ai是23种氨基酸之一,药物分子是使用graph表示���=(V,E)。
2、DrugBAN framework
给定drug–target pair,首先分别使用GCN和1D CNN分别编码分子图和蛋白质序列信息。然后,使用双线性注意网络模块来学习编码drug和蛋白质(target)表征之间的局部相互作用。
双线性注意网络由双线性attention step和双线pooling step组成,以生成联合表示,如b所示。其次,MLP预测分数,表示交互的概率。为了提高跨域药物-目标对的模型泛化性能,进一步将CDAN嵌入到框架中,以适应表示,以便更好地对齐源和目标分布,如图c所示
Domain adaptation
减少源域和目标域之间的域分布偏移(在源域中使用标记数据,在目标域中使用未标记数据),CDAN将对抗网络与多线性条件作用相结合,用于可转移表征学习。
CNN for protein sequence
蛋白质特征编码器由三个连续的1D卷积层组成,将输入的蛋白质序列转换为潜在特征空间中的矩阵表示。氨基酸有23种,将其nn.Embedding得到初始特征矩阵Xp。超过max_length(实验中1200)的截断,短于max_length的0填充。蛋白质编码器从蛋白质特征矩阵Xp中提取局部残基模式。第一个卷积层用于捕获kernel=3的3-mer残差级特征,后两层(kernel_size=6、9,channel=128)继续扩大感受野,学习局部蛋白质片段的更抽象的特征,CNN:
GCN for molecular graph
将每个SMILES字符串转换为其二维分子图���。首先根据其化学性质初始化每个原子节点,74维,7种性质:原子类型、原子度、隐含Hs数、形式电荷、自由基电子数、原子杂化、总Hs数以及原子是否芳香族。设置了最大允许的节点数Θd(论文中290),具有较少节点的分子将包含带有零填充的虚拟节点。特征矩阵设为Md,使用简单的线性变换变成实值密集矩阵Xd,使用三层GCN来有效地学习的图表示,通过聚合节点相应的由化学键连接的邻近原子集来更新原子特征向量。这种传播机制自动捕获分子的子结构信息。因此GCN:
Pairwise interaction learning
应用双线性注意网络模块来捕捉药物和蛋白质之间的成对局部相互作用。它由两层组成: 一层是a bilinear interaction map,用于捕获两两注意权重; 另一层是interaction map上的a bilinear pooling layer,用于提取联合药物-靶标表示。
CNN和GCN得到不同的特征:
step1双线性注意层,heads=2,hidden_dim k设为768,通过变换矩阵U和V,低秩双线性交互建模得到双线性注意映射矩阵I,以测量子结构级交互强度:
可以将双线性相互作用视为首先将表示hid和hjp映射到具有权重矩阵U和V的公共特征空间,然后学习Hadamard积和向量q的权重的相互作用。这样,两两相互作用为子结构对预测结果贡献提供可解释性。
step2池化层没有新的可学习参数(pooling size s设为3)。权重矩阵U和V与前一交互映射层共享,以减少参数量,缓解过拟合:
将联合表示f输入解码器,解码器是一个完全连接的分类层(hidden size设为512),后面是一个sigmoid函数:
并使用交叉熵损失+L2正则化:
Cross-domain adaptation for better generalization
特征提取器F(⋅), 解码器 G(⋅) and 域判别器 D(⋅)
F(⋅)表示单独的feature encoders和bilinear attention network,生成输入域数据的联合表示
G(⋅)表示Decoder,全连接层:
应用一个多线性映射将联合表示F和分类器预测G嵌入到一个联合条件表示,并且Flatten:
通过在h上调节域判别器D(⋅),同时对齐联合表示并预测源域和目标域的分类分布。由三层全连接网络组成的域判别器D(⋅)学习区分联合条件表示h是来自源域还是来自目标域。相反,训练特征提取器F(⋅)和解码器G(⋅),利用源标记信息最小化源域交叉熵损失(cross-entropy loss),同时生成不可区分的表示h,混淆鉴别器D(⋅):
判别器:
看论文的话会很懵(如果没有对域适配有概念的话),判别器D(.)如何实现域适配的?
答:首先论文中的特征提取器F(.)是提取feature以供解码器G(.)和域判别器D(.)使用。对于G,最小化损失完成DTI任务;对于D,最大化域分类对抗损失(损失越大,说明D无法判别,以达到域适配的目的)
如何实现最大化对抗损失呢?向负的梯度方向优化就是最大化目标函数。
三、实验
1、Experimental setting
三个公共DTI数据集(BindingDB、BioSNAP和Human)上评估
2、Evaluation strategies and metrics
随机分为训练集、验证集和测试集,比例为7:1:2。
跨域评估:基于聚类的对分割策略(clustering-based pair split strategy):首先使用单链接算法分别通过ECFP4指纹和伪氨基酸组成(PSC)聚类药物和蛋白质。之后,从聚类结果中随机选择60%的药物簇和60%的蛋白质簇,并将所选药物和蛋白质之间的所有药物-靶标对作为源域数据。其余簇中药物和蛋白质之间的所有对都被认为是靶域数据。
评估使用AUROC、AUPRC
3、In-domain performance comparison(没有CDAN)
冷对分割策略保证了在训练过程中不会观察到所有的测试药物和蛋白质,从而使得对测试数据的预测不能仅仅依赖于已知药物或蛋白质的特征。所有模型的性能都有明显的下降,特别是SVM和RF,在其他最先进的深度学习基线上,DrugBAN仍然取得了最好的性能
4、Cross-domain performance comparison(+CDAN模块)
训练测试数据有不同的分布,RF在BindingDB数据集上取得了良好的性能,甚至持续优于其他深度学习基线(DeepConv, GraphDTA和MolTrans)
5、Ablation study
以探讨双线性注意和域适应模块对DrugBAN的影响:
将DrugBAN中的双线性注意替换为one-side attention,生成两种变体。
研究了两种变体:带有域对抗神经网络(DANN)的DrugBAN(即DrugBANDANN)和带有CDAN的MolTrans(即MolTransCDAN)
6、Interpretability with bilinear attention visualization
利用双线性注意图的组成部分,可视化每个子结构对最终预测结果的贡献,使分子水平的洞察和解释对药物设计工作至关重要。研究来自蛋白质数据库(PDB)的共结晶配体的前三个预测(PDB id: 6QL2,5W8L和4N6H)
可视化结果如图4a所示,并附有相应x射线结构产生的配体-蛋白质相互作用图。对于每个分子,我们将双线性注意力图中前20%的加权原子涂成橙色。
尽管许多被预测可能参与配体结合的氨基酸残基实际上距离各自的化合物很远,但形成结合位点的一些氨基酸残基被正确预测(图4b)。例如,在6QL2复合物中,突出显示了以下残基:His94, His96, Thr200, Pro201, Pro202, Leu203, Val207和Trp209。其中,只有His94与乙氧唑胺形成特异性相互作用。在5W8L中,没有一个构成配体-蛋白结合位点的残基被突出显示。然而,在4N6H中,在结合位点内有几个正确预测的残基:Lys214、Val217、Leu300、Cys303、Ile304、Gly307和Tyr308。不幸的是,没有任何残基参与与配体的特定相互作用。
最近从100万个物种中生成了20亿个蛋白质3D结构预测。这一进展为利用3D结构信息进行基于化学基因组学的DTI预测打开了大门。(有计算资源,这就是新方向,没有计算资源,图个乐)
相关文章:

Nat. Mach. Intell 2023 | DrugBAN+:域自适应的可解释双线性插值网络改进药物-靶标预测(DTI)
DrugBAN:Interpretable bilinear attention network with domain adaptation improves drug–target prediction 论文:Interpretable bilinear attention network with domain adaptation improves drug–target prediction | Nature Machine Intellige…...
org.springframework.web.reactive.function.server.ServerResponse设置响应头
记录一下 String host serverRequest.uri().getHost();Consumer<HttpHeaders> headersConsumer consumer -> {consumer.setAccessControlAllowOrigin(host);consumer.setAccessControlAllowCredentials(true);consumer.set("Access-Control-Allow-Headers"…...

高频面试题:如何分别用三种姿势实现三个线程交替打印0到100
最近面试遇到的一道题,需要三个线程交替打印0-100,当时对多线程并不是很熟悉因此没怎么写出来,网上搜了之后得到现 synchronized wait/notifyAll 实现思路:判断当前打印数字和线程数的取余,不等于当前线程则处于等待…...

【git】Idea撤回本地分支、或远程分支提交记录的各种实际场景操作步骤
文章目录 idea撤回本地分支、远程分支场景操作集合场景1:要撤回最后一次本地分支的提交实现效果:操作步骤: 场景2:要撤回最后一次远程分支的提交有撤销记录的:实现效果:操作步骤: 无撤销记录的&…...
FPGA SPI 驱动程序
1.引言 此驱动程序已经完成很久了,花了2个星期的时间,主要是提升程序运行的效率。最近整理文件的时候又看到了,记录一下。 2.程序框架分解 module adc7254_Ctrl(input sys_clk, //system clkc 50Minput re…...
【实战】十一、看板页面及任务组页面开发(五) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(二十七)
文章目录 一、项目起航:项目初始化与配置二、React 与 Hook 应用:实现项目列表三、TS 应用:JS神助攻 - 强类型四、JWT、用户认证与异步请求五、CSS 其实很简单 - 用 CSS-in-JS 添加样式六、用户体验优化 - 加载中和错误状态处理七、Hook&…...
mac m1 docker 安装kafka和zookeeper
获取本地ip地址 ifconfig en0 192.168.0.105. 下面的ip都会使用到 1、拉取镜像 docker pull wurstmeister/zookeeper docker pull wurstmeister/kafka 2、启动容器 启动 zookeeper docker run -d --name zookeeper -p 2181:2181 映射 3、 启动 kafka 注意ÿ…...

宏观经济和风电预测误差分析(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
GO学习之 搜索引擎(ElasticSearch)
GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Htt…...
Sentinel —实时监控
Sentinel 提供对所有资源的实时监控。如果需要实时监控,客户端需引入以下依赖(以 Maven 为例): <dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-transport-simple-http</artif…...

接口优化通用方案
目录 批量异步、回调缓存预取池化并行锁粒度索引大事务海量数据 批量 批量思想:批量操作数据库 优化前: //for循环单笔入库 for(TransDetail detail:transDetailList){ insert(detail); } 优化后: batchInsert(transDetailList); 异步、回…...
用Visual Studio 2022的.map文件来查看C++变量在内存中的布局情况
先看几个实例 代码1 #include <iostream> int data_arr[32768]; int main() {data_arr[1] 11;std::cout<<"data_arr[1]: " << data_arr[1] << std::endl;return data_arr[1]; } 上述代码在Win10 X64,MSVC Release模式下编译&…...

使用代理突破浏览器IP限制
一、实验目的: 主要时了解代理服务器的概念,同时如何突破浏览器IP限制 二、预备知识: 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站,特别是它具有一个cac…...

HuggingFace中的 Files and versions 如何优雅下载到本地?(Python requests,tqdm)
前言 在使用huggingface把玩各种大模型时,如果选择从远程加载模型,这个过程可能因为网络问题而非常耗时甚至直接失败,所以把模型、分词器等相关文件下载到本地,再直接从本地加载就成了不可回避的流程。 在进入具体版本的模型后&…...

三、原型模式
一、什么是原型模式 原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效&a…...

transformer实现词性标注
1、self-attention 1.1、self-attention结构图 上图是 Self-Attention 的结构,在计算的时候需要用到矩阵 Q(查询), K(键值), V(值)。在实际中,Self-Attention 接收的是输入(单词的表示向量 x组成的矩阵 X) 或者上一个 Encoder block 的输出。而 Q, K, V…...

Java中异或操作和OTP算法
最近在研究加密算法,发现异或操作在加密算法中用途特别广,也特别好用。下面以Java语言为例,简单记录一下异或操作,以及在算法中的使用,包括常用的OTP算法。 一,异或操作特征 1, 相同出0&#…...

K8S最新版本集群部署(v1.28) + 容器引擎Docker部署(下)
温故知新 📚第三章 Kubernetes各组件部署📗安装kubectl(可直接跳转到安装kubeadm章节,直接全部安装了)📕下载kubectl安装包📕执行kubectl安装📕验证kubectl 📗安装kubead…...
女子垒球运动的发展·垒球1号位
女子垒球运动的发展 1. 女子垒球运动的起源和发展概述 女子垒球运动,诞生于19世纪末的美国,作为棒球运动的衍生品,经过百年的积淀,已在全球范围内广泛传播,形成了丰富的赛事文化。她的起源,可以追溯到19世…...

Debian 30 周年,生日快乐!
导读近日是 Debian 日,也是由伊恩-默多克(Ian Murdock)创立的 Debian GNU/Linux 通用操作系统和社区支持的 Debian 项目 30 周年纪念日。 不管你信不信,从已故的伊恩-默多克于 1993 年 8 月 16 日宣布成立 Debian 项目,…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...

Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...

云原生安全实战:API网关Envoy的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...

高端性能封装正在突破性能壁垒,其芯片集成技术助力人工智能革命。
2024 年,高端封装市场规模为 80 亿美元,预计到 2030 年将超过 280 亿美元,2024-2030 年复合年增长率为 23%。 细分到各个终端市场,最大的高端性能封装市场是“电信和基础设施”,2024 年该市场创造了超过 67% 的收入。…...