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

news2024/11/26 12:18:47

论文标题: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.coloradmin.cn/o/978625.html

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

相关文章

【BI看板】Superset时间过滤控件二次开发

有没有人发觉Superset时间过滤组件非常高级,😟但又有点复杂,没有选择时间区间的快捷方式。 Superset的时间过滤控件可以通过在代码中进行二次开发来进行定制。以下是一些可能有用的提示: 查找源代码:可以在Superset的源…

没有一颗美国芯片,还测试了6G技术,卫星手机代表中国再次领先

随着国产5G卫星手机的发布,关注中国手机的日本媒体已对这款手机进行拆解,拆解结果显示已没有一颗美国芯片,显示国产手机产业链取得了彻底的突破,从此即使美国不供应芯片,国产手机也能实现5G技术。 日本这几年对中国科技…

Codeforces Round 560 (Div 3)

Codeforces Round 560 (Div. 3) Dashboard - Codeforces Round 560 (Div. 3) - Codeforces A. Remainder&#xff08;模拟&#xff09; 思路&#xff1a;模拟取余操作 &#xff0c; 只需考虑数字的后 x 位变成要变成的数字即可。 #include<bits/stdc.h> using namespa…

java的一个catch语句捕获多个异常

说明 在java的异常处理中&#xff0c;如果几个异常的处理完全相同&#xff0c;那么可以考虑在一个catch语句中捕获。但要注意&#xff0c;用一个catch捕获的几个异常类中&#xff0c;一个类不能是另外一个的子类&#xff0c;否则会编译报错。因为如果有父子关系&#xff0c;那…

“Fatal error compiling: 无效的目标发行版: 11“的解决

"Fatal error compiling: 无效的目标发行版: 11"的解决 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project xxxxx: Fatal error compiling: 无效的目标发行版: 11 -> [Help 1] PS D:\…

第三方软件测试公司如何选择?2023国内软件测试机构排名

软件检测公司 随着互联网技术的快速发展&#xff0c;应用软件也如春笋般越来越多&#xff0c;软件测试成为了软件企业离不开的话题。但软件企业的精力大多投入在软件开发上&#xff0c;因此要想更好更高效的完成软件测试&#xff0c;企业一般会将软件测试交付给外包公司完成。…

基于改进人工蜂群算法的 K 均值聚类算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

ModaHub魔搭社区专访百度智能云李莅:什么样的企业适合什么类型的向量数据库?

ModaHub魔搭社区:向量数据库会像传统数据库一样面临着选型问题吗?您能介绍下,什么样的企业适合什么类型的向量数据库吗?是单机版的还是插件版的,还是企业级的? 李莅的观点非常明确,他认为在选型的时候,首先要考虑的是需求。如果业务量级不是特别大,而且有成本方面的考…

背书方法--记忆宫殿

项目进度管理的工具 记忆宫殿或场景法&#xff1a;果树抽水&#xff08;流程是&#xff1a;果树的果子&#xff0c;水池的水&#xff0c;抽水机的水&#xff09;&#xff1a;想象一下你家附近有个巨大的果树&#xff0c;人们为了保护它&#xff0c;修建了个池子&#xff0c;昨…

IDEA中的“Deployment“ 将项目直接部署到服务器上

ntelliJ IDEA中的"Deployment"工具栏是一个方便的工具&#xff0c;用于将你的项目直接部署到服务器上。这个工具栏提供了三种部署的方式&#xff1a; 1.Web Server在本地电脑上&#xff0c;并且服务器运行目录也在项目目录下。 2.Web Server在本地电脑上&#xff0c;…

JWT一篇通

JWT 是什么&#xff1f; JWT&#xff08;JSON Web Token&#xff09;是一种开放的标准&#xff0c;标准的编号是RFC7591。用于在不同实体之间安全地传输信息。它是基于 JSON 编码的令牌。 JWT 的组成 JWT由三个部分组成&#xff1a;头部&#xff08;Header&#xff09;、载荷…

从C++98到C++26,经历了什么?

作为一名程序员&#xff0c;2023年最应该关注的话题就是C的标准更新。 C标准遵循3年开发周期&#xff0c;并以发布年份命名。C在临发布的一年前会进入“功能冻结期&#xff08;feature freeze&#xff09;”&#xff0c;即版本开发进入半稳定状态&#xff0c;不再添加重大功能及…

【C语言】入门——指针

目录 ​编辑 1.指针是什么 2.指针类型和指针运算 2.1指针-整数 2.2指针-指针 2.3指针的关系运算 3.野指针 3.1野指针成因 &#x1f44d;指针未初始化&#xff1a; &#x1f44d;指针越界访问&#xff1a; &#x1f44d;指针指向空间释放&#xff1a; 3.2如何规避野指针 …

PDF转Word的方法分享与注意事项。

PDF和Word是两种常用的文档格式&#xff0c;它们各有优点&#xff0c;适用于不同的场景。然而&#xff0c;有时候我们需要将PDF转换为Word&#xff0c;以便更好地进行编辑和排版。本文将介绍几种常用的PDF转Word的方法&#xff0c;并分享一些注意事项。 一、PDF转Word的方法 使…

性能炸裂c++20协程+iocp/epoll,超轻量高性能异步库开发实战

前言&#xff1a; c20出来有一段时间了。其中一大功能就是终于支持协程了&#xff08;c作为行业大哥大级别的语言&#xff0c;居然到C20才开始支持协程&#xff0c;我也是无力吐槽了&#xff0c;让多少人等了多少年&#xff0c;等了多少青春&#xff09;但千呼万唤他终于还是来…

python图书书籍管理系统及推荐评分系统vue

本系统提供给管理员对书籍分类、书籍信息、书籍评分、留言板等诸多功能进行管理。本系统对于用户输入的任何信息都进行了一定的验证&#xff0c;为管理员操作提高了效率&#xff0c;也使其数据安全性得到了保障。随着信息化时代的到来&#xff0c;网络系统都趋向于智能化、系统…

拿下数千万元A轮融资,这家HUD厂商驶入规模上车的“快车道”

进入2023年&#xff0c;AR HUD市场迎来了爆发式增长&#xff0c;一批本土HUD厂商开始备受资本市场的关注。 近日&#xff0c;深圳前海智云谷科技有限公司&#xff08;以下简称“智云谷”&#xff09;完成数千万元A轮融资&#xff0c;本轮融资由清新资本等投资方投资。智云谷表…

你以为的直线,在多维空间里是复杂的曲线

你以为的直线&#xff0c;在多维空间里是复杂的曲线 AI回答&#xff1a; 这句话是说&#xff0c;在多维空间中&#xff0c;我们的直觉和经验可能会误导我们&#xff0c;认为一条直线应该是简单直接的。然而&#xff0c;在高维空间中&#xff0c;直线可能会有很多突变和弯曲&am…

ES6中let和const关键字与var关键字之间的区别?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 变量作用域&#xff08;Scope&#xff09;&#xff1a;⭐ 变量提升&#xff08;Hoisting&#xff09;&#xff1a;⭐ 重复声明&#xff1a;⭐ 初始化&#xff1a;⭐ 全局对象属性&#xff1a;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#…

41.SpringMVC实现下载和上传功能

SpringMVC实现下载和上传功能 下载 ResponseEntity用于控制器方法的返回值类型&#xff0c;该控制器方法的返回值就是响应到浏览器的响应报文 index.html <a th:href"{/testDown}">下载图片</a>使用ResponseEntity实现下载文件的功能FileUpAndDownCon…