DrugBAN:基于双线性注意力网络进行药物-靶点结合预测。

本文主要是介绍DrugBAN:基于双线性注意力网络进行药物-靶点结合预测。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DrugBan:一种可解释的双线性注意力网络进行药物-靶点结合预测。


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • DrugBan:一种可解释的双线性注意力网络进行药物-靶点结合预测。
  • 前言
  • 一、模型框架
      • 1. 编码器
      • 2. 双线性注意力网络(BAN)
      • 3. 对抗性的领域适应网络(CDAN)
  • 二、结果
      • 1. 模型性能
      • 2. 消融实验
      • 3. 模型解释性
  • 总结


前言

预测药物-靶点相互作用(DTI)时药物发现中的关键环节,近年来一些深度学习方法在该环节中显示了广泛的应用前景,但目前仍然存在两个关键问题:
1. 如何明确地建模和学习药物和靶标之间的局部相互作用,以便更好地预测。
2. 如何提升药物-靶标对的预测的泛化能力。

针对这两个问题,作者提出了一个深度双线性关注网络(drug- BAN)框架以学习药物和靶标之间的局部相互作用,并使用领域自适应模块应用到训练集分布以外地数据中(即未知的药物-靶标结构对)。


一、模型框架

在这里插入图片描述

模型由三部分组成:

1. 编码器

基于基于GCN编码分子smiles,CNN编码蛋白序列。

2. 双线性注意力网络(BAN)

为了更好的学习蛋白和配体之间的局部相互作用特征,没有将分子和蛋白特征直接拼合以表示分子-蛋白对。而是加入了一个attenion去生成一个新的集合特征I,之后再进行一层attention的套娃。与直接采用单层attention相比,双线性注意力网络能够更好的去学习两个子特征之间的联系,本质上是一种多模态模型。

3. 对抗性的领域适应网络(CDAN)

为了增强模型的泛化能力,作者在BAN之后接入了一个CDAN。该模块属于迁移学习的一种方式,其核心思维和生成对抗网络很像。具体表现为,当我们已经在source数据集上训练完成了BAN之后,如何去提升BAN模型的泛化能力的让其能够将soutce数据集中的知识应用数据分布有所不同的target数据集上。首先,两个数据集都会通过BAN网络得到特征f,之后经过分类器去进行鉴别。 BAN和这个分类器之间进行了一场”猫捉老鼠“的竞赛,分类器目标是识别出target和source,而BAN网络则是为了蒙混过关。在这个过程中,BAN也就逐渐将source上所学到的知识传到了target上以用于”伪装“。 此外,CADA 还引入了一个条件变量,也就是上图中的g,表示不同的任务场景。在本论文中即蛋白-配体结构对的类别,让BAN能够根据不同的类别以调整权重,更好地适应目标域的任务。

二、结果

1. 模型性能

作者一共在两个数据集上进行了相关的性能测试,BindingDB和BioSNAP。并分了两个任务场景,其一是随机批分或据集,第二则是先将数据进行相似性聚类后再批分数据集。前者的性能如下:
在这里插入图片描述
后者作者采用了ECFP4指纹和氨基酸序列进行了聚类,并随机抽取了百分之60的类作为sorce训练集,剩下的数据中的百分之80做验证集(target数据集),百分之20做最终的测试集合, 模型表现如下:
在这里插入图片描述
可以看到drug-ban呈现了SOTA性能。

2. 消融实验

在这里插入图片描述
CDAN的引入能够显著替身模型的泛化能力。

3. 模型解释性

在这里插入图片描述
根据模型给出的attention分数丢小分子进行着色,可以发现准确了发现了关键的原子位点。这些原子是配体与蛋白复合物稳定的关键。(但就展示了三个,这个解释性就见仁见智了)


总结

作者提出了 DrugBAN,一个用于 DTI 预测的端到端双线性注意深度学习框架。该模型具备如下三点优势:

  1. 作者将 CDAN整合到建模过程中,增强了模型的泛化能力。
  2. 通过将注意力权重映射到蛋白质子序列和药物化合物原子上,作者的模型可以为解释相互作用的性质提供生物学见解。

个人认为阻碍其性能进一步增长的原因:

  1. 蛋白和分子的表征仅仅包含结构,甚至于蛋白都只有序列信息。特征信息有待扩充:如三维坐标,物理化学性质。
  2. 看上去似乎是构建了蛋白和配体之间的相互作用,但实际上也就是两个图之间的特征相关性。相互作用其实也是可以作为一种输入表征的。
  3. 蛋白和配体的结合过程是一个动态拟合过程,依赖固定的2维分子图做预测可能并不够充分。

这篇关于DrugBAN:基于双线性注意力网络进行药物-靶点结合预测。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/906168

相关文章

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Python利用PIL进行图片压缩

《Python利用PIL进行图片压缩》有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所以本文为大家介绍了Python中图片压缩的方法,需要的可以参考下... 有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所有可以对文件中的图

如何使用Spring boot的@Transactional进行事务管理

《如何使用Springboot的@Transactional进行事务管理》这篇文章介绍了SpringBoot中使用@Transactional注解进行声明式事务管理的详细信息,包括基本用法、核心配置... 目录一、前置条件二、基本用法1. 在方法上添加注解2. 在类上添加注解三、核心配置参数1. 传播行为(

Java实战之自助进行多张图片合成拼接

《Java实战之自助进行多张图片合成拼接》在当今数字化时代,图像处理技术在各个领域都发挥着至关重要的作用,本文为大家详细介绍了如何使用Java实现多张图片合成拼接,需要的可以了解下... 目录前言一、图片合成需求描述二、图片合成设计与实现1、编程语言2、基础数据准备3、图片合成流程4、图片合成实现三、总结前

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB