今天给大家介绍的是由MIT在“Biorxiv”上发表的预印本”Sequence-based prediction of protein-protein interactions: a structure-aware interpretable deep learning model ”。

蛋白质-蛋白质相互作用(PPI)网络在系统生物学中是一种促进发现和理解蛋白质功能的有价值工具。然而,实验PPI数据在大多数模式生物中仍然稀少,而且在新物种推广上不佳或是需要特定类型和大小的数据训练。因此,本文提出了D-SCRIPT(Deep Sequence Contact Residue Interaction Prediction Transfer,深度序列接触残基相互作用预测迁移),一种仅使用序列训练的PPI预测模型。与现有方法相比,D-SCRIPT不仅对新物种有更好的泛化能力,而且对训练数据大小的限制有较强的鲁棒性。作者在人类PPI上训练了一个模型,并使用来自其他5个模型生物的PPI数据集对其进行了评估,取得了不错的结果。这说明,仅人类蛋白质语言也有助于解码其他生物的蛋白质。

1

背景和相关工作

细胞中物理蛋白-蛋白相互作用(PPIs)的系统映射已经被证明对加深我们理解蛋白质功能和生物学非常有价值。然而,尽管引入了高通量方法来测定PPIs,但迄今为止,通过实验确定的人类PPIs仅代表物理结合在人类细胞中真实蛋白质对的一小部分。在其他物种中,相关数据甚至更少。如图1所示,在大多数模式生物的情况下,实验确定的PPIs数量远远少于人类,而在非模式生物的情况下,几乎不存在PPIs。这促使科学家研究预测PPIs的计算方法。

图1 实验PPI数据的语料库有限

本文介绍了一种新的深度学习方法D-SCRIPT(Deep Sequence Contact Residue Interaction Prediction Transfer,深度序列接触残基相互作用预测迁移),它基于氨基酸序列来确定两个蛋白质是否在细胞内发生物理相互作用。该模型关键的进步在于合理的特征和结构能使模型仅通过序列数据训练,监督只有一个二进制互动标签,然而可以产生一种捕捉蛋白质之间相互作用对的中间表示。

D-SCRIPT能够同时提供迄今为止无法同时实现的优势:广泛的适用性、可解释性和高跨物种准确性。D-SCRIPT与最近其他成功的深度学习方法PIPR和DPPI一样,属于单独从蛋白质氨基酸序列进行PPI预测的方法。它可以从一类蛋白质PPI的数据进行训练,来进行任意蛋白质预测任务。

类似D-SCRIPT这样基于序列的方法的优点是输入的序列数据几乎总是可用的,这是以为低成本基因组测序的巨大进步。在基于序列的方法中,D-SCRIPT的优势在于其更强的跨物种泛化能力和在现有训练数据稀疏的情况下更准确的预测。此外,作者基于接触图的方法与最近在蛋白质序列的单结构接触图的深度学习预测方面的工作相似。虽然这些方法都是在三维结构数据上进行训练,但该方法被设计成只使用序列数据进行训练。尽管如此,作者的方法和这些方法的见解可能在未来的工作中结合起来。

2

方法

模型预测可以分为两个阶段:1.分别为每个蛋白质生成丰富的特征表示;2.根据这些特征预测交互。两个阶段都是端到端训练的。

与PIPR、DPPI将大部分计算复杂性放在阶段1不同,D-SCRIPT的一个关键创新是作者设计了一个更具有结构感知(structurally-aware)的阶段2。

阶段1是通过使用Bepler & Berger预训练的蛋白质序列模型和投影模块来完成的,其中模型学习低维蛋白嵌入,这也可以用作下游相互作用和结构预测任务的紧凑表示。

对于阶段2,作者提出了一种新的结构来编码蛋白质相互作用的物理模型,如图2所示。作者预测两个蛋白质只有在残基高度兼容时才会发生作用。阶段2分成三部分:投影模块,残基接触模块和预测模块。在投影模块中,对原始嵌入进行压缩。在残基接触模块中,低维投影嵌入用于计算稀疏接触图。最后,相互作用预测模块在接触图上使用定制的maxpooling操作来预测输入蛋白质之间的交互概率。

模型的输入的是一对序列s1,s2,长度分别为n和m,预测概率p和预测接触图矩阵C。p和C的元素输出都在0到1范围内。

图2 D-SCRIPT架构

序列嵌入

首先,利用Bepler & Berger预训练模型将序列s1,s2分别嵌入为E1,E2。他们的模型是一个Bi-LSTM神经网络,训练三个独立的信息: 1)蛋白质的SCOP分类,表明其一般结构,2)蛋白质的三维结构的自接触图,3)相似蛋白质的序列比对。其余的可选嵌入可以被替代。

投影模块

在投影模块中,嵌入E通过一个全连接层压缩成低维投影嵌入Z。

残基接触模块

对每个残基嵌入投影对Z1,Z2,计算传播矩阵B:

B的大小为n×m×h,公式内符号为元素差和hadamard乘积。再通过传播矩阵B计算接触预测矩阵C的元素,即每个残基对的接触概率:

接触图C的大小为n×m,计算通过2D卷积,并使用sigmod将输出限制在[0,1]之间。

相互作用预测模块

这个模块输出PPI预测概率p,模型采用2个池化操作。第一个是标准的最大池化。输出的最大池化矩阵P代表了蛋白质局部区域相互作用的概率,并且只保留了每个区域的最大残留接触概率,用于全局预测。第二个池化是全局池化,计算如下:

公式通过一个学习参数γ使P稀疏化,保留高概率预测结果。这种全局池化操作获得了这样一种直觉:仅使用高概率区域预测残基接触,低概率被忽略。

交互预测的最后一步是增强输出分布的双峰性,从而使临界点的选择在区分正预测和负预测时变得不那么重要。通过一个激活函数实现并输出最终的概率p。

损失函数

除了二元交叉熵BCE Loss外,文章引入接触图的损失MAG Loss,损失函数为

MAG Loss起到一种正则化的作用,由接触图矩阵C的算数平均值计算得到,使接触图的大小最小化。作者认为要根据少数高概率残基接触而大多数不接触来优化。

3

结果

PPI数据集

为了评估D-SCRIPT在预测蛋白质-蛋白质相互作用方面的性能,本文使用了来自STRING数据库(v11)的数据。作者限制了序列长度并除去了40%以上的相似序列。为了产生PPI的负面例子,遵循Neyshabur等人的工作从非冗余集合中随机配对的蛋白质,选择10:1的负对正比率,以反映真正的正例PPI。

本文的人类PPI数据集包含47,932个阳性和479,320个阴性蛋白相互作用,作者将其中得80%(38,345)用于训练,20%(9,587)用于验证。对于5种模式生物(表1),我们使用这个程序为每一种选择了5000个正相互作用和50000个负相互作用,而大肠杆菌则是(2000 / 20000),因为在STRING中可用的大肠杆菌正例是有限的。

跨物种预测

作者在人类PPI上训练了一个模型,并使用来自其他5个模型生物的PPI数据集对其进行了评估。作者比较了D-SCRIPT和PIPR,两者在相同的人类PPI集上训练。此外,作者还使用了混合方法(PIPR + D-SCRIPT)。

在表1中,本文列出5个物种的各方法的精度、召回率、精确召回曲线下面积(AUPR)、ROC曲线下面积(AUROC)。对于高度不平衡的数据,比如这里,AUPR通常被认为是比AUROC更好的指标。D-SCRIPT的跨物种表现明显优于PIPR,并且在所有物种中都保持了较高的AUPR,即使是那些进化上与人类极为遥远的物种。事实上,它在这些物种中的AUPR与人类交叉验证中的AUPR相当。在跨物种分析中,混合方法优于单独使用D-SCRIPT和PIPR方法,但对D-SCRIPT的改进不大。

人类交叉验证

虽然本文的目标是增强跨物种PPI预测,但作者试图研究D-SCRIPT在预测人类PPIs的表现。作者进行了5折交叉验证,并在此报告了所有的平均值。此外,本文还评估了一种混合方法(PIPR + D-SCRIPT)。表1显示,尽管在交叉验证中,PIPR在人类PPIs上的表现明显优于DSCRIPT,但组合方法的表现要优于单独一种方法。DSCRIPT在涉及PPI网络中不常见蛋白的相互作用方面表现更好,而PIPR在涉及频繁发生蛋白的相互作用方面表现更好。

表1 在人类PPI上的模型评价

自我接触预测

设计D-SCRIPT的目的之一是捕捉交互作用的结构,训练过的投影模块产生的每个蛋白质嵌入应该编码结构信息。为了验证这一点,本文从蛋白质数据库(PDB)中随机选择了300个蛋白质,并使用在人类PPIs上训练的D-SCRIPT模型生成这些蛋白质的(n x d)维嵌入。图3显示,投影模块输出的特征通过线性组合能够实现真实接触的一个重要子集,在测试数据集上,每个per-structure的AUPR中位数为0.19。这些结果强烈表明, D-SCRIPT只使用序列数据的端到端训练可以捕获每个蛋白质层次结构信息的中间表示。

图3使用D-SCRIPT嵌入的自接触预测

可解释性

蛋白质间对接接触的预测。作者研究了D-SCRIPT模型的可解释性是否有助于预测蛋白质间的对接接触。D-SCRIPT的残基接触模块的输出是一个蛋白间接触图C,其中C中的元素Cij可以解释为蛋白S1的残基i与蛋白S2的残基j接触的概率。本文验证了训练后生成的接触图与设计目标是一致的:对应于负例的接触图Cij分数应该接近零,而对应正例预测的接触图应该是稀疏的,但有孤立的高分数区域。作者发现通常情况下确实是这样的,并在图4中展示了一些例子:正例的最大C值高,负例的最大C值低。

接下来,作者试图测试矩阵C是否在物理上代表实际的对接机制的相互作用。作者强调,这是一个很高的标准,因为他们没有为模型提供任何三维信息,也没有任何对接指导,原则上,在矩阵C不具备物理精度的情况下,模型可以很好地完成分类任务。本文使用Hwang等人的对接蛋白结构基准数据集进行了这项测试。基准集中每个PDB复合体中的每一对链生成一个候选PPI。作者在295个候选PPIs上应用了本文的人类数据训练的模型,并根据真实接触点评估了预测的接触图(在8埃进行评估)。在D-SCRIPT预测了交互作用的情况下,作者发现接触矩阵C实际上基本概括了真实接触点(图4a,4b)。甚至在某些情况下, D-SCRIPT没有预测的交互,C的分布Cij分数仍然是真实的(图4c)。作者发现,接触图C与真实值显著相似,即使在D-SCRIPT不能预测交互作用的情况下,C接触图与ground truth的相似性也高于随机基线。

图4 D-SCRIPT正确预测时的接触图与真实值比较

4

总结

本文介绍了一种可解释的基于序列的PPI相互作用预测方法——D-SCRIPT。结果表明,它的预测比其他方法更适用于与组成蛋白相互作用的训练实例较少的PPIs,更重要的是适用于只针对不同物种的蛋白序列进行训练的跨物种环境,有点类似迁移学习。D-SCRIPT说明,学习单个蛋白质的语言也有助于解码蛋白质相互作用的语言。

参考资料

https://www.biorxiv.org/content/10.1101/2021.01.22.427866v1

MIT | 一种可解释的PPI预测模型相关推荐

  1. 【翻译】DFPE: Explaining Predictive Models for Disk Failure Prediction DFPE: 解释磁盘故障预测模型

    [翻译]DFPE: Explaining Predictive Models for Disk Failure Prediction DFPE: 解释磁盘故障预测模型 Abstract 摘要 1.In ...

  2. flowable DMN规则引擎几种类型解释_04

    文章目录 单一命中 第一个(FIRST) 唯一(UNIQUE) 优先级(PRIORITY) 任何(ANY) 多重命中 输出顺序(OUTPUT ORDER) 规则顺序(RULE ORDER) 采集(CO ...

  3. 使用高级语言编写计算机程序步骤,计算机执行用高级语言编写的程序主要有两种途径解释和编译编译专.doc...

    计算机执行用高级语言编写的程序主要有两种途径解释和编译编译专.doc 计算机执行用高级语言编写的程序主要有两种途径:解释和编译 编译:专指由高级语言转换为低级语言编译和解释的区别: 是否产生目标程序 ...

  4. 04 flowable DMN规则引擎几种类型解释

    项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base 视频地址:https://www.bilibili.com/video/av797746 ...

  5. 个人对计算机知识产权的理解,知识产权的一种多元解释

    摘要: 本文回顾六种不同的解释知识产权的方式,并证明这些解释都没有充分证明知识产权法和知识产权政策的正当性,因为第一存在不同类型的知识产权,第二,多种的不可通约的价值在证明知识产权的正当性中发挥作用. ...

  6. c 语言是一种以解释方式实现的高级语言,高级语言按照计算机执行方式不同可以分为哪两类?它们的执行方式有什么不同,请进行概要说明。...

    满意答案 xp0M0 2019.03.15 采纳率:51%    等级:9 已帮助:513人 计算机高级语言按程序的执行方式可分为:编译型和解释型. 编译型的语言之使用专门的编译器.针对特定平台将某种 ...

  7. JAVA23种设计模式解释(傻瓜版本之泡MM)转载

    创建型模式 1.FACTORY-追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说"来四个鸡翅"就 ...

  8. 【推荐收藏】11种比较常用的时间序列预测模型

    时间序列及其预测是日常工作中建模,分析,预测的重要组成部分. 本文我们将从0开始介绍时间序列的含义,模型及其分析及其常用的预测模型. 文章目录 交流 时间序列定义 时间序列预测模型与方法 原始数据 朴 ...

  9. HTTP请求方法对照表(15种全部解释)

    HTTP Request Method共计15种 序号 方法 描述 1 GET 请求指定的页面信息,并返回实体主体. 2 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 3 ...

最新文章

  1. 产品设计体会(6014)商业智能的尝试
  2. 哪种css实现方式优势更突出_【第十三课】更合理的CSS结构
  3. C语言结构体对齐的不足
  4. iOS 更改项目名称
  5. lsof查看占用高_查看端口占用情况lsof,并关闭对应进程kill
  6. CopyOnWriteArrayList原理及算法题存档
  7. Linux内核构建与开发
  8. 简述什么是 Cloud Native
  9. Linux--内核Uevent事件机制 与 Input子系统
  10. modbus tcp主站和从站_图文讲解PLC通讯MODBUS协议的应用及编程
  11. ExtJs教程----如何改变各个区域的背景色
  12. sql server 2005 T-SQL ALTER SCHEMA (Transact-SQL)
  13. @人生随笔:一年一影帝,百年周星驰
  14. C++转Java个人银行账户管理程序
  15. C++将两个字符串合并在一起
  16. 微信公众号如何添加文档附件【教程】
  17. COLA 4.0 - DDD项目实践
  18. 黑暗即将笼罩着这个世界
  19. 浅析 Kubernetes原生NetworkPolicy 网络策略,让更安全的容器运行环境唾手可得
  20. 武汉工程大学致各位家长及同学们的一封公开信

热门文章

  1. 论坛社区做推广要精心的策划
  2. Leangoo敏捷看板管理 6.3.8
  3. OAuth 2 实现单点登录,通俗易懂!
  4. 基于Protobuf共享字段的分包和透传零拷贝技术,你了解吗?
  5. 网传京东某程序员因压力太大,在商品页面置入骂人代码!京东辟谣:不关我们的事,外部商家干的!...
  6. 一文带你彻底了解Java异步
  7. 从无到有,支付路由系统升级打怪之路|原创
  8. 蚂蚁上市 P8 身价超亿,丢给我这几个牛逼的公众号
  9. 线上经验总结:一台 Java 服务器可以跑多少个线程?
  10. Redis AOF 持久化详解