Nat. Mach. Intell 2020 | drugVQA+:准VAQ系统预测药物-蛋白质相互作用

news2024/11/20 10:30:05

论文标题:Predicting drug–protein interaction using quasi-visual question answering system

论文地址:Predicting drug–protein interaction using quasi-visual question answering system | Nature Machine Intelligence

代码:GitHub - prokia/drugVQA: Predicting Drug Protein Interaction using Quasi-Visual Question Answering System

一、问题

目前DPI(DTI)分为两类:基于物理的方法(分子对接molecular docking:应用物理启发式的预定能量函数评估atom-level评估drug-protein interaction,但是难以评估构象熵和溶剂贡献,精度有限,对结构波动敏感,不能很好处理蛋白质的灵活性);基于机器学习的方法(将配体、蛋白质、蛋白质-配体相互作用统一到同一模型,回归/分类)

药物分子线性表示(SMILES)一般少于100个重原子,结构小。蛋白质通常包含1000+个重原子。而且一维蛋白质预测三维结构是一个难题,因此一维蛋白质结构无法捕捉空间信息。虽然有研究直接输入蛋白质3D结构,但是精度低(随着alphahold2的出现,这个问题应该有缓解)。同时高质量的蛋白质结构有限。

蛋白质可以由二维成对距离图替代表示(距离图可以用于生成和比较蛋白质的3D结构)。距离图是通过构成蛋白质的氨基酸之间的成对接触来紧凑地表示蛋白质的三维结构。

利用二维距离图来表示蛋白质,因此DPI任务可以视为视觉问答(VQA),但是有区别:

首先,在许多VQA场景中,图像大小可以调整为固定值,但是成对距离图的每个像素表示一对氨基酸之间的关系,如果对图进行下采样,则会导致信息丢失。

其次,SMILES的语法与自然语言不同,这使用自定义的tokenizer过程和合适的模型来获取分子线性符号的语义特征。

第三,训练集仍然比其他应用程序小得多,这需要仔细设计网络

二、模型

DrugVQA模型由两个主要部分:具有顺序注意的动态CNN(“Dynamic attentive CNN”)和具有多头自注意的BiLSTM(“Self-attentive BiLSTM”)。

1、Problem formulation

药物分子SMILES tokenizer:

蛋白质可以简单地描述为一个由氨基酸残基列表P =(r1,…,rl)组成的线性序列,其中ri为i位氨基酸类型长度为20的one-hot向量,l为序列长度。2D pairwise distance map:

其中d(ri, rj)为残基i和残基j的Cα原子之间的距离,d0设为3.8Å,为相邻Cα原子之间的距离。因此距离矩阵为:

2、Dynamic attentive CNN

自适应CNN将蛋白质距离图编码为固定大小的向量表示。CNN模块residual blocks(from Resnet30,5×5卷积层+3×3卷积层,ELU代替ReLU) +  sequential self-attention block。通常图像相同大小,但是蛋白质具有不同长度的氨基酸,并且无法缩放。

因动态神经网络,1)处理可变长度的输入,(2)预测每个氨基酸的重要性。首先删除残差块间的池化层,并对输入的两侧使用零填充,以确保残差块的结果与输入的大小相同。具体地说,给定一个蛋白质距离图P,最后一个残差块的输出仍然是l×l×N的维数,其中N是最后一个卷积层的通道数。然后使用平均池化对剩余块的信息输出进行压缩

3、Sequential attention

经过CNN特征提取得到的是:Pc,可以看作是蛋白质的序列表示,其中l是蛋白质中氨基酸(位点)的数量,Nf表示每个位点的空间特征:

由于大多数位点与药物结合没有直接关系,因此识别一小部分结合位点至关重要。为处理来自卷积层的不同大小的特征映射,并强调重要的结合位点,采用顺序自关注机制来充分利用这些特征进行分类。注意机制以Pc为输入,输出一个权重向量ap(蛋白质的注意矩阵),全连接层:

由于蛋白质结合口袋是由空间上相邻的多个连续位点组成的,进一步将wp2扩展为rp-by-dp矩阵,称为Wp2,以捕获结合口袋的整体结构信息,因此多头注意力:

式(5)可以看作是一个无偏置的双层MLP。通过将标注矩阵Ap与特征映射Pc相乘来计算rp加权和(注意力):

其中Pa是注意力特征图。Pa的大小为rp-by-nf,其中rp是一个可调的超参数,表示注意向量的数量。

4、Self-attentive BiLSTM

双向LSTM:

相互作用之间的关系:注意机制以整个LSTM隐藏状态H作为输入,输出一个权重向量Am(分子的注意矩阵)为(就是可学的线性注意力,而不是transformer中的注意力):

代码:

5、Classifier

Normalization(Pa+Ma)后 + 全连接层:

损失为交叉熵函数:

三、实验Experiments

1、Datasets

the directory of useful decoys, DUD-E, the human dataset and BindingDB

DUD-E:最终的数据集包含22,645个正例和1,407,145个负例。三折交叉验证。为了快速训练模型,使用一个平衡集(每个目标都是正的,随机选择等效的负的)进行训练,但使用整个集(不平衡的)进行评估。DUD-E: A Database of Useful (Docking) Decoys — Enhanced

Human:使用了一个平衡的数据集,其中阳性和阴性样本的比例为1:1。人类数据集包含5423种相互作用和1803种独特的蛋白质。使用80%/10%/10%训练/验证/测试随机分割。https://github.com/masashitsubaki/CPI_prediction/tree/master/dataset

BindingDB:包含来自BindingDB的39747个正例和31218个负例。训练集(50,155个交互),验证集(5607个交互)和测试集(5508个交互)。https://github.com/IBMInterpretableDTIP

2、Evaluation metrics

AUC-ROC。

对于Human,报告精度和召回值。

对于DUD-E,报告ROC富集度量(RE)。具体来说,RE评分被定义为在给定FPR阈值下的真阳性率与假阳性率(FPR)之比。在这里,报告了0.5%、1%、2%和5% FPR阈值下的RE得分。

3、消融实验

4、Comparisons on the human dataset

5、Comparisons on the BindingDB dataset

6、Comparisons on the DUD-E dataset.

7、Attention visualization.

对于蛋白Hsp90(图3a),注意条突出显示了Asn51A、Asp93A和Met98A残基,它们与PDB: 3EKR中观察到的关键口袋残基高度重叠。对于蛋白CDK2(图3b),重要性图中突出显示的残基(Phe80A, Asp145A, Leu134A)和配体官能团与2DUV中观察到的相互作用高度相似。

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

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

相关文章

继承AndroidView Model的错误

ViewModelProvider(this)[RegisterViewModel::class.java] 一行简单的代码,总是报这个错误 Caused by: java.lang.NoSuchMethodException: com.xinfa.registerlogin.viewmodel.LoginViewModel. [class android.app.Application] 经过一下午的思索,终于找…

科普:什么是DNS劫持?

DNS劫持又叫做域名劫持,指攻击者利用其他攻击手段,篡改了某个域名的解析结果,使得指向该域名的IP变成了另一个IP,导致对相应网址的访问被劫持到另一个不可达的或者假冒的网址,从而实现非法窃取用户信息或者破坏正常网络…

我们的第一个 Qt 窗口程序

Qt 入门实战教程(目录) Windows Qt 5.12.10下载与安装 为何使用Qt Creator开发QT 本文介绍用Qt自带的集成开发工具Qt Creator创建Qt默认的窗口程序。 本文不需要你另外安装Visual Studio 2022这样的集成开发环境,也不需要你再在Visual St…

【单片机】有人WH-LTE-7S1 4G cat1 模块连接服务器,教程,记录

文章目录 4G cat1 模块封装引脚名称功能拓扑图串口模块调试WH-LTE-7S1 4G cat1 模块 我买的这个模块内置了电信卡,不用插电话卡就能用,要插也行,在背面。 ⚫ 5-16V 宽电压供电 ⚫ LTE Cat 1,搭载 4G 网络,低时延&…

2023年腾讯云轻量应用服务器优缺点大全

2023年腾讯云轻量应用服务器优缺点大全,腾讯云轻量应用服务器性能如何?轻量服务器CPU内存带宽配置高,CPU采用什么型号主频多少?轻量应用服务器会不会比云服务器CVM性能差?腾讯云服务器网详解CPU型号主频、内存、公网带…

《存储IO路径》专题:IO虚拟化初探

大家好,欢迎来到今天的科技小课堂。今天我们要聊聊的是一项非常有趣且实用的技术——I/O虚拟化(Input/Output Virtualization,简称IOV)。想象一下,如果把物理硬件资源比作一道丰盛的大餐,那么IOV就是那位神…

Java 若依框架系统工具生成代码,前后端以及菜单添加使用示例

前言 若依框架不多介绍,目前比较流行的一款开源的后台管理框架,主要技术栈 后台spingboot、spingcloud 前端vue2 vue3版本的都有,可以去官方下载看看。 若依框架提供代码生成的功能,方便我们把简单的增删改查前后端代码生成直接…

【JAVA基础——JAVA8版本特性】

JAVA基础 版本特性 文章目录 JAVA基础Java8Lambda表达式lambda表达式类型 函数式接口接口默认方法与静态方法接口默认方法接口静态方法 方法引用OptionalStream流生产Stream Source的方式流的方法parallelStream流 Date/Time API其他特性重复注解扩展注解参数名字保留在字节码…

绿色能源迎来跨越式增长新时代

当今世界,百年未有之大变局加速演进,新一轮科技革命和产业变革深入发展,全球气候治理呈现新局面,新能源和信息技术紧密融合,生产生活方式加快转向低碳化、智能化,能源体系和发展模式正在进入非化石能源主导…

ROS中使用Navigation报错信息

在ROS中使用遇到了几个Navigation报错信息,在这里进行下记录: [ WARN] [1688134727.429227824]: The origin for the sensor at (7.35, 13.12) is out of map bounds. So, the costmap cannot raytrace for it. 解决办法: [ WARN] [16881…

flink on yarn with kerberos 边缘提交

flink on yarn 带kerberos 远程提交 实现 flink kerberos 配置 先使用ugi进行一次认证正常提交 import com.google.common.io.Files; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org.apache.flink.client.cli.CliFrontend; import o…

Gorilla LLM:连接海量 API 的大型语言模型

如果你对这篇文章感兴趣,而且你想要了解更多关于AI领域的实战技巧,可以关注「技术狂潮AI」公众号。在这里,你可以看到最新最热的AIGC领域的干货文章和案例实战教程。 一、前言 在当今这个数字化时代,大型语言模型(LLM…

史上最全AP、mAP详解与代码实现

文章目录 前言一、mAP原理1、mAP概念2、准确率3、精确率4、召回率5、AP: Average Precision 二、mAP0.5与mAP0.5:0.951、mAP0.52、mAP0.5:0.95 三、mAP代码实现1、真实标签json文件格式2、模型预测标签json文件格式3、mAP代码实现4、mAP结果显示 四、模型集成mAP代码1、模型mai…

项目:点餐系统3mysql知识回顾MySQL客户端

连接数据库 mysql -uroot -p 密码:空 一、第三方库:MySQL 数据库-存储并管理数据的仓库,是一个C/S架构 MySQL客户端通过sql来告诉MySQL服务器,自己需要做什么操作 1.sql语句 sql:structure query language结构化查询…

LeetCode 44题:通配符匹配

题目 给你一个输入字符串 (s) 和一个字符模式 (p) ,请你实现一个支持 ? 和 * 匹配规则的通配符匹配: ? 可以匹配任何单个字符。* 可以匹配任意字符序列(包括空字符序列)。 判定匹配成功的充要条件是:字符模式必须…

AI识别工人安全绳佩戴检测算法

AI识别工人安全绳佩戴检测算法通过yolov5智能图像识别算法对现场图像进行处理和分析,AI识别工人安全绳佩戴检测算法识别出工人是否佩戴安全绳,一旦发现工人未佩戴安全绳,AI识别工人安全绳佩戴检测算法将立即进行告警,并将事件记录…

SOLIDWORKS中多实体文件到装配体的转换技巧

我们在做机械等工程设计中,有时为了节省时间,需要把多实体的“零件”,直接转换为装配体,不再另外装配,这样能大大简化设计的操作时间,复杂程度。 在这里,我们首先要了解,SOLIDWORKS文…

2023常见前端面试题

以下是一些2023年秋招常见的前端面试题及其答案: 1. 请解释一下什么是前端开发? 前端开发是指使用HTML、CSS和JavaScript等技术来构建网页和用户界面的过程。前端开发人员负责将设计师提供的视觉设计转化为可交互的网页,并确保网页在不同设备…

【活体检测模型】活体检测思路推演

ref:https://arxiv.org/pdf/1611.05431.pdf https://github.com/miraclewkf/ResNeXt-PyTorch 用分类的思想做活体检测,要求准确的分出正负样本,否则,支付宝被别人用了,问题就很严重。 大部分的商用场景还是 摇摇头、张张口&#x…

Android——基本控件(下)(二十)

1. 树型组件:ExpandableListView 1.1 知识点 (1)掌握树型组件的定义; (2)可以使用事件对树操作进行监听。 2. 具体内容 既然这个组件可以完成列表的功能,肯定就需要一个可以操作的数据&…