UDSMProt:蛋白质分类通用深度序列模型

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
简介: UDSMProt:蛋白质分类通用深度序列模型

image.png

今天给大家介绍由德国弗劳恩霍夫·海因里希·赫兹研究所的研究人员发表在Bioinformatics上的一篇文章。该文章针对大多数蛋白质分类的最先进方法都是为单个分类任务量身定制,并且依赖手工制作特征的问题,提出了通用的深度序列模型UDSMProt。该模型在来自Swiss-Prot的未标记蛋白质序列上进行了预训练,并在蛋白质分类任务上进行微调,然后应用于三个典型任务。实验结果表明,UDSMProt与针对这些特定任务量身定制的最新算法的性能相当,并且对于三分之二的任务,UDSMProt的性能更好。


1


介绍


从氨基酸的潜在序列(一级结构)推断蛋白质特性是生物信息学中一个长期存在的主题,而且由于测序技术的进步以及大量具有未知特性的蛋白质的存在,这个主题尤为重要。推断蛋白质特性的方法有很多,大多数都利用了手工制作的特征,但是源自多个序列比对的手工特征依赖于比对算法,该算法的时间复杂度无法跟上当前蛋白质数据库的大小和指数增长。为了突破这些瓶颈,人们开始提出能够直接从单独的氨基酸序列直接预测蛋白质特性的方法,其中自然语言处理(NLP)的自监督算法是在这个方向上很有希望的方法。在自然语言处理中,自监督方法在各种各样的任务中显示出广阔的前景,它们通过使用自回归语言建模或自动编码任务进行预训练来利用未标记的大型语料库中的隐式特征。相关研究表明,使用自监督进行预训练的模型性能有显着改进,可以有效利用来自预训练的生物学敏感信息。


本文中作者的主要贡献为三点:(1)提出了用于蛋白质分类的通用深度序列模型(UDSMProt),该模型在Swiss-Prot上进行了预训练,并针对特定的分类任务进行了微调,而无需进行任何针对特定任务的操作修改。(2)该模型能够达到甚至超过了最先进的蛋白子分类算法的性能水平,其中许多算法都利用了PSSM特征。(3)证明了UDSMProt对于小型数据集的特殊有效性。


2


模型


作者指出UDSMProt的想法是将自监督的预训练应用于最新的使用语言建模任务的递归神经网络(RNN)架构。通过这种方式,模型从未标记的数据中学习隐式表示,这些隐式表示可用于下游分类任务,作者希望在仅输出层的维数必须适应特定任务的通用单一体系结构中解决一系列不同分类问题。为了对下游分类任务进行微调,所有嵌入权重和长短期记忆(LSTM)权重都使用从语言模型预训练中获得的同一组权重进行初始化。


在语言模型训练期间,作者使用了可变长度序列的时间反向传播(BPTT)对梯度进行反向传播,并且输出层仍与嵌入层的权重联系在一起。对于分类器训练,作者使用BPTT进行文本分类。作者的迁移学习训练过程如下:第一步,在Swiss-Prot数据库中训练语言模型。第二步,将语言模型的输出层替换为concat池化层和两个完全连接的层。在对分类器进行微调时,作者逐步逐层解冻层(总共四个)以进行优化,与之前的各个层组相比,作者将学习率降低了两倍。单个模型通过构造只能以单向方式捕获上下文,作为将双向上下文纳入最终预测的最简单方法,使用相应的微调分类器训练单独的前进和后退语言模型,通过对两个分类器的输出概率求平均来获得整体模型。所有超参数均根据模型在单独的验证集上的性能进行了优化,在所有情况下,作者都使用二进制/分类交叉熵作为损失函数和AdamW优化器,除此之外,还有一个潜在的中间步骤是根据分类步骤对语料库进行微调,改进了下游分类性能。

image.png

在下面的实验中作者大多直接将其与预定义数据集上其他文献报道方法的结果进行比较。为了将所提出的方法的结果与最新性能联系起来,作者使用了一个基准模型,该模型在文献基准测试上达到了最新性能,因此可以用作文献中考虑的模型的代替。在基准模型中,作者使用PSI-BLAST方法来输入特征,使用和其他文献报道中一样的参数,基准模型是由一个七层的卷积神经网络(CNN)组成。


3


实验


作者主要演示了UDSMProt在三个原型蛋白质分类任务上的功能,分别为酶类别预测,基因本体(GO)预测和远程同源性检测。


酶类别预测 本节中的主要实验分两步进行:1.在定义明确的实验环境中针对自定义数据集的拟议方法与基于PSSM功能运行的基线模型进行比较2.作者直接与文献结果进行比较,证明所提出的方法确实达到或超过了该任务的最新性能。除了现有的DEEPre和ECPred数据集,作者还使用两个定制的EC40(相似度阈值40%)和EC50(相似度阈值50%)数据集,提供所有集群成员。作者使用有代表性的序列训练CNN模型,因为这大大减少了确定PSSM特征的计算负担,UDSMProt通常使用包括冗余序列的完整训练集进行训练,而相应的测试和验证集始终仅包含非冗余序列。


表1 在EC40和EC50上的EC分类准确率

image.png

在所有实验中,CNN(seq;non-red)与CNN(seq+PSSM;non-red)之间在性能上都有明显的差距,这强烈表明PSSM功能的强大功能。可以通过使用来自训练群集(CNN(seq))的冗余序列来减少此差距,最重要的是,可以通过使用语言模型预训练来缩小差距, 性能最佳的UDSMProt优于使用PSSM功能的基准算法, 结合来自前向和后向上下文的信息,始终比具有单向上下文的模型更好。另一个观察结果是,与从头开始训练的模型相比,预训练具有一致的优势.。作者还指出UDSMProt分类模型从下游分类任务的冗余训练序列中获得的好处是,相似性阈值越低,收益越大。比较不同相似度阈值的相应结果,即EC40与EC50的结果,揭示了预期的模式,因为降低相似度阈值会使分类任务复杂化,因为测试序列与训练集的序列重叠较小。


表2在ECPred和DEEPre上的EC分类准确率

image.png

为了将UDSMProt与最新方法联系起来,作者对文献提供的ECPred和DEEPre两个数据集进行了实验,表2显示了相关实验结果,与不考虑那些包含功能注释(例如Pfam)的功能的文献方法相比,作者的基准模型达到了最新的性能,因此可以在以下研究中用作最新算法的代替,作者所提出的UDSMProt模型在两个文献数据集上都具有很强的竞争力。


作者为了证明在较小数据集的情况下UDSMProt方法的特殊优势,进行了连续减少训练集大小的实验,同时保持测试和验证集固定不变,使用完整的训练数据将超参数固定为运行参数。试验结果表明,双向UDSMProt模型总是胜过CNN基线模型,对于较小的数据集两个模型之间的差距会增加,经过预训练的模型性能也更好。

image.png

基因本体(GO)预测 为了说明整合不同分类器的前景,作者报告了将预先训练的(向前和向后)模型与DiamondScore的BLAST结果进行整合的结果,使用与Kulmanov和Hoehndorf(2019)相同的相对权重。为了直接与最新技术进行直接比较,作者使用了基于时间的分割构造的数据集。


表3 GO预测性能

image.png

表3中的结果证明了UDSMProt在GO预测领域的强大性能。特别是,就三个GO类而言,在Fmax方面,前向后向模型均优于基于神经网络的最新方法,甚至在CCO类别的所有最大Fmax单模型方法以及所有三个类别的精确召回曲线(AUPR)下的面积方面,都达到了最新结果。结合Kulmanov和Hoehndorf(2019)的预测与DiamondScore的BLAST-KNN功能相结合,在Fmax和AUPR方面与最新的集成方法相比甚至具有非常好的竞争性结果。


远程同源性和折叠检测 作者根据SCOP数据库进行远程同源性检测,为了使过程尽可能简单,作者为给定任务的所有数据集保留一组全局超参数。该过程如下,因为没有为原始数据集提供验证,作者将训练数据分为基于CD-HIT聚类(阈值0.5)的训练和验证集,在验证集中测得的给定任务的所有数据集的平均AUC优化超参数,并基于验证集AUC执行模型选择,即对于每个单独的数据集,作者验证AUC最高的时期选择模型。


表4 远程同源性和折叠检测性能

image.png

根据图四结果,根据大多数指标进行同源性和倍数检测从头开始训练的UDSMProt模型的性能要比原始LSTM模型差,通过使用语言模型预训练可以克服此缺陷,其中两种单向模型的性能都优于LSTM基线模型,所提出的方法在折叠和超家族水平上也明显优于经典方法。作者指出远程同源性和折叠检测的出色结果支持了UDSMProt的普遍性以及在小数据集规模方面的特殊优势。


4


总结


在这项工作中,作者利用NLP在此方向上的最新进展,研究了蛋白质分类任务的自监督预训练的前景。除了对氨基酸序列进行微调的步骤之外,没有特定任务修改的单一通用模型体系结构UDSMProt在许多方面都可以达到甚至超过最新技术水平蛋白质分类任务,这是通过自监督的预训练强大而隐式学习的表示来实现的。而大多数最新算法都利用了从BLAST数据库搜索中获得的PSSM功能,这些功能随数据集大小的增加而不利地扩展,UDSMProt对于小型数据集也显示出特殊的优势。


目录
相关文章
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
Java Maven
启动SpringBoot 错误: 找不到或无法加载主类 com.xx.xxApplication
1、在项目名称上右击–Reload from disk 2、清理项目里面的class文件进行重新编译, 鼠标点击右侧Maven,找到项目名称,然后点击Lifecycle中的clean/compile/install
2424 1
|
JSON NoSQL MongoDB
MongoDB Compass的安装及使用图文说明(非常详细)
MongoDB Compass的安装及使用图文说明(非常详细)
4115 2
|
9月前
|
机器学习/深度学习 人工智能 PyTorch
使用PyTorch实现GPT-2直接偏好优化训练:DPO方法改进及其与监督微调的效果对比
本文将系统阐述DPO的工作原理、实现机制,以及其与传统RLHF和SFT方法的本质区别。
529 22
使用PyTorch实现GPT-2直接偏好优化训练:DPO方法改进及其与监督微调的效果对比
|
JSON Kubernetes API
Kubernetes详解(八)——Kubernetes资源配置清单
Kubernetes详解(八)——Kubernetes资源配置清单
209 2
|
11月前
|
存储 JSON NoSQL
MongoDB Compass 的教程
这篇文章提供了MongoDB Compass的基本使用教程,包括如何建立数据库连接、创建和删除数据库、插入和修改文档数据,以及执行聚合查询来分析和排序数据。
2769 0
MongoDB Compass 的教程
|
消息中间件 存储 API
微服务间的通信机制
【8月更文第29天】随着微服务架构的普及,服务间的通信变得尤为重要。微服务架构强调将单一应用程序拆分为一组小型服务,每个服务运行在其独立的进程中,并使用轻量级机制(通常是HTTP资源API)进行通信。本文将详细介绍几种流行的微服务间通信方式,包括 RESTful API、gRPC 和消息队列,并探讨它们各自的优缺点。
707 1
|
11月前
|
JavaScript 数据可视化 开发者
echart:所有类型的图
本文档介绍了基于 Vue 3 的 ECharts 基础代码示例,包括柱状图、折线图、饼状图、环状图、散点图和雷达图的配置和使用方法。每个图表类型都提供了详细的代码示例和配置说明,帮助开发者快速上手并实现各种图表展示效果。
346 0
|
机器学习/深度学习 数据采集
开源多结构蛋白质预测大模型——Genie 2
【6月更文挑战第24天】Genie 2,一款开源的深度学习蛋白质设计模型,扩展了原始Genie的结构预测能力,通过创新架构和大规模数据增强处理更复杂多样的蛋白质结构。引入的多基序框架允许设计多功能蛋白质,提升无条件和有条件生成的性能。尽管面临数据质量、复杂相互作用处理及模型可解释性的挑战,Genie 2仍为蛋白质设计树立新标杆。[论文链接](https://arxiv.org/abs/2405.15489)
260 1
|
安全 BI
ERP系统的培训与用户支持:确保系统高效使用与用户满意度
【7月更文挑战第29天】 ERP系统的培训与用户支持:确保系统高效使用与用户满意度
758 0