Briefings in Bioinformatics2021 | Bert-Protein+:基于Bert的抗菌肽识别

news/2024/12/22 14:47:50/

论文标题:A novel antibacterial peptide recognition algorithm based on BERT

论文地址:novel antibacterial peptide recognition algorithm based on BERT | Briefings in Bioinformatics | Oxford Academic

代码:https://github.com/BioSequenceAnalysis/Bert-Protein

一、问题提出

抗菌肽是一种小分子多肽,是生物先天免疫系统的关键组成部分。它们的作用方式多种多样,如破坏目标细菌的细胞膜、干扰DNA产生等,对细菌、病毒和真菌具有广谱抗菌活性。

目前,AMPs(Antimicrobial peptides,抗菌肽)的识别方法主要分为湿实验法和计算机辅助识别法。

湿法实验设计复杂,操作困难且耗时。它们需要大量的人力和材料成本

计算机辅助识别方法可分为基于经验分析的方法和基于机器学习的方法。基于经验分析的方法以确定类型的AMP为模板,利用已知的经验规则对肽链性质与抗菌活性之间的关系进行统计分析,然后建立模型。

建模方法主要包括主成分分析(PCA)、偏最小二乘法等。本质上,它是为了识别待测试序列是否具有训练集的某些特定特征。缺点是依赖于训练集现有的语义模式,并且很难迁移到其他类型的AMP,现有研究表明,氨基酸序列本身包含了关于其是否具有抗菌活性的关键信息。

蛋白质序列类似于自然语言,可以自然地表达为一串字母。此外,自然进化的蛋白质通常由重复使用的模块化元件组成,这些元件表现出轻微的变化,可以以分级的方式重新排列和组装

提出了一种新的基于BERT的模型训练算法,以实现对AMP数据集的准确识别。从UniProt中获得蛋白质序列用于预训练,然后使用三种分词方法在六个不同的AMP数据集上对模型进行微调和测试。证明了预训练的作用以及平衡正样本和负样本的作用,并最终使用构建的新数据集训练了一个通用的AMP识别模型

二、Methods

1、Data

Pretraining:UniProt下载556603条蛋白质数据作为预训练样本。

fine-turning:自行构建

阳性样本来自APD、抗菌活性和肽结构数据库(DBAASP)、CAMPR3和LAMP,通过直接筛选功能类型、抗菌对象和肽链长度等特征获得。由于没有专门的非抗菌肽(non-AMP)数据库,研究人员通常通过在UniProt中设置一些条件(如非抗菌功能注释、细胞内蛋白质等)来过滤阴性样本。不平衡数据集对训练集的负样本进行随机下采样

2、Representation of the peptides

蛋白质都是由不同比例的氨基酸组成的。用字母表中的20个不同字母来表示20种天然氨基酸。肽链表示为x=[x1,x2,…,xn]T,其中xi是肽链中的第i个氨基酸,n是氨基酸的数目。

每个肽序列都包含标签y。当肽是AMP时,y的值为1;否则为0。

蛋白质序列不同于英文文本和中文文本。英文文本使用空格来区分序列中的每个单词,中文文本可以通过分词算法进行分割。在本文中,每个k个氨基酸作为一个组被视为一个“词”,称为k-mer,并且分别选择k=1、2、3。蛋白质序列从开始到结束是分开的。当序列的末端少于k个氨基酸时,剩余的氨基酸形成一个“单词”

3、预训练-微调

在UniProt中对未标记的蛋白质序列进行分词和掩蔽处理,并执行两个预训练任务:掩蔽语言模型(MLM)和下一句预测(NSP)

对于特定的下游任务,即AMP识别和预测,我们改变预训练模型的输出层,并使用六个不同的标记数据集对其进行微调。

4、Model training  +  performance evaluation

BERT库的12层Transformer,其隐藏层包含768个单元节点和12个注意力头,参数为110M,TITAN Xp上进行了1000万次训练,学习率为2e−5,batchsize为32。

敏感性(Sn)、特异性(Sp)、准确性(Acc)和马修相关系数(MCC)、AUC-ROC:

Sn和Sp分别反映了模型识别AMP和非AMP的能力,Acc体现了模型的整体预测效果。三者的取值范围为[0,1],值越大,模型预测越准确。

MCC通常被视为一种平衡指标,即使样品不平衡。值介于−1和+1,参考选择测试集中样本的真实标签与预测结果之间的相关性。值越高,相关性越大。当该值接近1时,模型的分类性能优异;当接近−1时,模型的预测结果与实际结果相反;当接近0时,模型预测结果与随机预测相似。

三、Results

1、comparsion with baseline

最好模型与现有模型的差异:

2、预训练有效性

预训练对k值较大的模型有更明显的影响:

3、Balanced dataset analysis

对每个训练集的负样本进行随机下采样,以平衡数据集。为了查看模型在不平衡训练集上的表现是否不同,选择了两个数据集:MAMPsPred模型的数据集和iAMP-2L模型的数据集:

性能:无论数据集是否平衡,该方法都显示出优异的性能。与平衡集的结果相比,在不平衡集上训练的模型的整体识别性能降低,这特别体现在Acc和MCC指标的下降上。

AmPEP模型提供的数据集中有大量的负面数据,这为尝试评估不同的正面:负面(P:N)数据比率对AMP预测的影响提供了基础。根据原始数据集(P/N比为1:51),生成了5组数据,其中P/N比为1:1、1:3、1:5、1:7和1:9。通过10倍交叉验证评估了每个分类器的预测性能。

尽管随着训练集中非AMP数量的增加,Sp指数迅速增加,Acc随后被拉高,但Sn和MCC随着数据集变得更加不平衡而减少。

4、A general model

增加训练集的多样性可以在一定程度上提高模型的通用性。(i)使用AntiBP2模型的训练集来微调用UniProt预训练的模型以获得模型A(ii)使用AntiBP2模型的训练集对在上述新的AMP和非AMP数据集上训练的模型进行微调,以获得模型B。以k=1时两种方式训练的模型为例,两种模型都在一定程度上提高了测试精度:

用大量AMP训练的模型具有良好的可迁移性,更适合用作新样本识别或预测任务的预训练模型,以同时捕获新数据集特有的特征和AMP序列之间的共同特征。

使用StarPepDB数据库中包含的16990个非冗余AMP序列,加上相同数量的随机选择的非冗余非AMP多肽链作为训练集来训练通用模型。对该模型进行了5倍的交叉验证,结果如表所示。每个评估指标的最佳结果用黑体字表示。

在每个测量指标中,k=1的模型是最好的。


http://www.ppmy.cn/news/1099325.html

相关文章

LeetCode141:环形链表

给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(…

企业架构LNMP学习笔记28

企业架构LNMP高可用负载均衡服务器之Nginx: 1)能够描述负载均衡的作用;loadbalance LB。 2)能够了解负载均衡常见的实现方式; 3)能够使用nginx实现负载均衡; 4)能够描述nginx的常…

微信小程序onReachBottom事件使用

在微信小程序中,onReachBottom事件用于监听页面滚动到页面底部的时候触发的事件。当用户滑动页面到底部时,可以通过监听该事件来执行相应的操作。 要使用onReachBottom事件,需要在对应的页面或组件中定义一个函数,并在Page或Comp…

操作系统-线程复用

操作系统执行线程复用的过程涉及到线程调度和管理。线程复用是指操作系统能够有效地重用现有的线程来执行新的任务,而不必每次都创建新线程。这有助于减少线程创建和销毁的开销,提高系统性能。下面是操作系统如何执行线程复用的关键步骤: 线程…

hive安装步骤

centos7安装hive,hive版本3.1.2 一、环境准备 JDK版本:jdk-8u381 Hadoop版本:hadoop-3.1.3 MySQL版本:8.0.34 二、hive安装步骤 1.解压 将压缩包复制到/opt/software目录下,并解压至/opt/module/目录 tar -zxf…

PY32F003F18之RS485通讯

PY32F003F18将USART2连接到RS485芯片,和其它RS485设备实现串口接收后再转发的功能。 一、测试电路 二、测试程序 #include "USART2.h" #include "stdio.h" //getchar(),putchar(),scanf(),printf(),puts(),gets(),sprintf() #include "…

【Java 基础篇】Java Collection 详解:集合入门指南

Java 是一种流行的编程语言,其中的集合(Collection)框架为处理和操作数据提供了丰富的工具。无论你是刚刚开始学习 Java,还是已经有一些经验,理解如何使用集合是非常重要的,因为它们是 Java 程序中最常用的…

用通俗易懂的方式讲解大模型分布式训练并行技术:流水线并行

近年来,随着Transformer、MOE 架构的提出,使得深度学习模型轻松突破上万亿规模参数,传统的单机单卡模式已经无法满足超大模型进行训练的要求。因此,我们需要基于单机多卡、甚至是多机多卡进行分布式大模型的训练。 而利用AI集群&…