Brief. Bioinformatics2021 | sAMP-PFPDeep+:利用三种不同的序列编码和深度神经网络预测短抗菌肽

文章标题:sAMP-PFPDeep: Improving accuracy of short antimicrobial peptides prediction using three different sequence encodings and deep neural networks
代码:https://github.com/WaqarHusain/sAMP-PFPDeep
一、问题
短抗菌肽(sAMPs):红色是α-helices,蓝色为随机coil

最著名的生物计算问题之一是在离散模型中描述生物序列,使其关键序列特征不被改变。以载体形式表达生物序列可能导致失去其重要的基于序列的特征。除此之外,各种基于物理化学特征的方法,主要包括氨基酸组成(AAC)、伪氨基酸组成(PseAAC)、归一化氨基酸组成(NAAC)、疏水性、净电荷、等电点、α-螺旋倾向、β-片倾向和转向倾向,已经被提出用于预测amp,这些表征具有很强的预测肽序列性质的能力。
将序列转换为图像时,分别考虑了包含位置、频率和12个理化特征之和信息的三个通道。
二、Materials and methods
预测sAMPs,即具有少于或等于30个氨基酸残基的序列长度的肽。流程:

1、Training and benchmark dataset
本研究使用了先前数据集【Deep-AmPEP30: improve short antimicrobial peptides prediction with deep learning】。数据集由1529个sAMPs和1529个Non-sAMPs组成,表明数据集是平衡的。
数据样本:

最终用于训练的数据集包含1529 + 1529 = 3058个样本。数据集已经经过CDHIT处理,去除冗余的阈值为0.8,即排除相似性超过80%的序列。由于已经执行该预处理,因此在本研究中没有重复该步骤,并且数据集被用作训练目的。188个多肽的基准数据集,包括来自同一研究的94个sAMPs和94个非sAMPs。
2、Sequence to image generation
Sequence to square matrix conversion
将序列转换为方阵。首先,在所有序列中填充假氨基酸,即序列长度小于30的X。这有助于使数据集中的所有样本具有均匀的长度。在下一阶段,将这些序列转换为5 × 6矩阵,例如:

Square matrix to 3-channel image conversion
方阵被转换为3通道图像。为此,对每个通道进行了不同的计算。
第一通道:编码矩阵。每个氨基酸的编码从1到20,X氨基酸被认为是零。
第二通道:各自序列的方阵中的氨基酸被替换为氨基酸频率。例如,如果氨基酸A,即丙氨酸在一个序列中出现3次,则该序列中的每个A都被替换为3。频率矩阵。频率分布:

第三通道:氨基酸的理化特性。PepData从CRASP程序中收集了属性值,除Solvent_Exposed_Area,而Solvent_Exposed_Area的值取自(http://prowl.rockefeller.edu/aainfo/access.htm)。

在将所有三个通道划分为单个图像之前,所有通道都在0-255的范围内归一化。这有助于生成三个实际的均匀通道,并在合并它们后,从每个肽序列生成一个3通道图像。
3、Classification through VGG-16 and RESNET-50
经过20个epoch后,模型收敛。为优化所有参数,使用Grid进行超参数调优。VGG-16和RESNET-50:

两种神经网络的最小输入层尺寸均为32 × 32 × 3,而本研究生成的图像为5 × 6 × 3。因此,为将这些微小的图像传递给模型,对图像执行零填充。
4、Validation study
为验证,采用基于分子对接(AutoDock Tools和AutoDock Vina)。首先,建立从UniProt中检索长度≤30个残基的AMP的数据集。通过关键字抗菌[KW-0929]进行检索,长度设置为∗TO30,检索到728个已审查的肽序列。随后,为去除检索序列中的冗余,应用CD-HIT,相似度阈值为60%,从原始的728个序列中检索到301条肽序列。
除预测标签外,对于阳性样本,还计算以p值(概率)表示的预测分数,因为这些收集的肽实际上都是阳性的。这些肽被归类为阳性sAMPs,进行三级结构预测,并使用SWISSModel建模。通过与八种已知细菌受体的分子对接,评估这些肽的抗菌潜力。

每次对接后计算反应的结合能,并利用这些结合能计算μM中的抑制常数Ki值为:

其中G为结合能,T为温度,为298.15 K, R为气体常数,为1.9872036 kcal/mol。
在进行分子对接时,使用AutoDock Tools为观察到的每个蛋白质的结合位点生成一个Grid box dimensions(size),并记录。
使用AutoDock Vina进行分子对接,并计算所有对接肽的结合亲和力值,以了解它们与感兴趣的蛋白质的相互作用。
在本研究中,采用E = 4、E = 8、E = 16、E = 32、E = 64和E = 128六种不同穷举启发式的对接仿真方法。然而,在穷举E = 8后,结合方面未见改善,因此,报告E = 8的结果。
为更好地描述,预测分数,即p值与所有肽的结合能(γG)和抑制常数(Ki)相关。
5、Evaluation of performance

三、Results and discussion
1、Estimation of training performance

VGG-16的训练效果优于ResNet-50:

基于VGG-16的预测产生了1502个真阳性和1504个真阴性,假阳性和假阴性分别为25个和27个。预测1484个真阳性和1456个真阴性,而假阳性和假阴性分别为73和45。这表明VGG-16的精度与RESNET-50相比有显著差异:

2、Evaluation of predictors based on independent dataset testing
使用了94个samp和94个非samp的未见数据。VGG16在所有评估指标方面都比RESNET-50表现出更好的结果:


另一个独立的数据集,Indp2,包括1032个samp和1032个非samp,仅考虑长度在11 ~ 30个残基之间的序列,用于测试模型:


3、Comparative analysis with state-of-the-art methods

4、Validation through molecular docking
为描述sAMP-PFPDeep预测与对接结果的相关性,绘制结合能(γG)与预测评分(p值)的相关图:

预测结果与图中趋势线所示的结合能密切相关,除了少数被错误预测为阴性的肽(non-sAMPs)。趋势线的起伏对所有287个肽都是同步的。此外,这些肽与8种细菌受体的结合能较高,表明它们具有较强的抗菌活性候选性,而sAMP- pfpdeep对sAMP的预测也证明了这一点。这表明,通过提出的方法预测为sAMP的肽是对细菌受体表现出强结合能的候选肽。此外,该方法主要用途是,实验生物学家可以在进行分子对接模拟或任何体外实验之前,通过所提出的方法预测肽的类别是sAMPs还是non-sAMPs。
相关文章:
Brief. Bioinformatics2021 | sAMP-PFPDeep+:利用三种不同的序列编码和深度神经网络预测短抗菌肽
文章标题:sAMP-PFPDeep: Improving accuracy of short antimicrobial peptides prediction using three different sequence encodings and deep neural networks 代码:https://github.com/WaqarHusain/sAMP-PFPDeep 一、问题 短抗菌肽(sAMPs)&#x…...
问道管理:华为产业链股再度拉升,捷荣技术6连板,华力创通3日大涨近70%
华为产业链股6日盘中再度拉升,到发稿,捷荣技能涨停斩获6连板,华映科技亦涨停收成3连板,华力创通大涨超19%,蓝箭电子涨约11%,力源信息涨超4%。 捷荣技能盘中再度涨停,近7日已累计大涨超90%。公司…...
面试设计模式-责任链模式
一 责任链模式 1.1 概述 在进行请假申请,财务报销申请,需要走部门领导审批,技术总监审批,大领导审批等判断环节。存在请求方和接收方耦合性太强,代码会比较臃肿,不利于扩展和维护。 1.2 责任链模式 针对…...
Qt 开发 CMake工程
Qt 入门实战教程(目录) 为何要写这篇文章 目前CMake作为C/C工程的构建方式在开源社区已经成为主流。 企业中也是能用CMake的尽量在用。 Windows 环境下的VC工程都是能不用就不用。 但是,这个过程是非常缓慢的,所以࿰…...
2.k8s账号密码登录设置
文章目录 前言一、启动脚本二、配置账号密码登录2.1.在hadoop1,也就是集群主节点2.2.在master的apiserver启动文件添加一行配置2.3 绑定admin2.4 修改recommended.yaml2.5 重启dashboard2.6 登录dashboard 总结 前言 前面已经搭建好了k8s集群,现在设置下…...
【代表团坐车】Python 实现-附ChatGPT解析
1.题目 某组织举行会议,来了多个代表团同时到达,接待处只有一辆汽车,可以同时接待多个代表团,为了提高车辆利用率,请帮接待员计算可以坐满车的接待方案,输出方案数量。 约束: 1.一个团只能上一辆车,并且代表团人数(代表团数量小于30,每人代表团人数小于30)小于汽车容量…...
【Java】x-easypdf: 一种简单易用的PDF处理库
引言 在处理和生成PDF文档时,有许多库可供选择。其中,x-easypdf是一种简单易用的PDF处理库,可以帮助开发人员轻松地创建、编辑和操作PDF文档。本文将介绍x-easypdf的基本概念、安装方法、主要功能以及使用示例。 安装x-easypdf 要使用x-ea…...
1 Linux输入子系统
1 Linux输入子系统 https://www.cnblogs.com/beijiqie1104/p/11418082.html Linux input 子系统详解 https://www.cnblogs.com/yikoulinux/p/15208238.html...
Zabbix 利用 Grafana 进行图形展示
安装grafana和插件 配置zabbix数据源 导入模版 查看数据 1.安装grafana wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/Packages/grafana-10.0.0-1.x86_64.rpm [rootrocky8 apps]# yum install grafana-10.0.0-1.x86_64.rpm [rootrocky8 apps]# systemctl sta…...
【LeetCode周赛】LeetCode第362场周赛
LeetCode第362场周赛 与车相交的点判断能否在给定时间到达单元格将石头分散到网格图的最少移动次数 与车相交的点 给你一个下标从 0 开始的二维整数数组 nums 表示汽车停放在数轴上的坐标。对于任意下标 i,nums[i] [starti, endi] ,其中 starti 是第 i…...
Leetcode128. 最长连续序列
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 题解&#…...
K8S:kubeadm搭建K8S+Harbor 私有仓库
文章目录 一.部署规划1.主机规划2.部署流程 二.kubeadm搭建K8S1.环境准备2.安装docker3. 安装kubeadm,kubelet和kubectl4.部署K8S集群(1)初始化(2)部署网络插件flannel(3)创建 pod 资源 5.部署 …...
MaskVO: Self-Supervised Visual Odometry with a Learnable Dynamic Mask 论文阅读
论文信息 题目:MaskVO: Self-Supervised Visual Odometry with a Learnable Dynamic Mask 作者:Weihao Xuan, Ruijie Ren, Siyuan Wu, Changhao Chen 时间:2022 来源: IEEE/SICE International Symposium on System Integration …...
面试求职-面试注意事项
面试技巧和注意事项有哪些? 面试是找工作过程中最重要的一个环节,因为面试成功,你才有可能得到一份工作。求职面试技巧有哪些呢?首先,我们来看看面试注意事项。 企业了解 1、面试前有没有仔细了解过对应企业的情况,…...
sm2 签名验签
目前发现 sm2 有很多实现,比如 gmssl, openssl 1.1.1 ,openssl 3.0,各种代码库实现等等。实践中发现这些实现会出现不能互相验签的情况。后续研究一下。 网上的一些资料,给出了一些 openssl 指令,但是没有标明 openssl 的版本&…...
如何检查Windows 11笔记本电脑电池健康状况
如果你拥有一台运行微软最新操作系统的便携式电脑,那么检查Windows 11笔记本电脑的电池健康状况可能很重要。 电池寿命显然是一件大事,无论你是在最好的商务笔记本电脑上工作,还是在目前市场上最好的游戏笔记本电脑上享受马拉松式的Starfiel…...
编程大师-分布式
分布式锁 mysql redis 【IT老齐122】不只setnx,两张图说清Redisson的Redis分布式锁实现_哔哩哔哩_bilibili zk 用这种方式去实现,zookeeper分布式锁,你会吗?_哔哩哔哩_bilibili...
内网隧道代理技术(二十三)之 DNS隧道反弹Shell
DNS隧道反弹Shell DNS隧道 DNS协议是一种请求、应答协议,也是一种可用于应用层的隧道技术。DNS隧道的工作原理很简单,在进行DNS查询时,如果查询的域名不在DNS服务器本机缓存中,就会访问互联网进行查询,然后返回结果。如果在互联网上有一台定制的服务器,那么依靠DNS协议…...
如何利用Socks5代理IP提升网络安全与跨境电商业务
在今天的数字时代,网络安全对于个人和企业来说都至关重要。随着跨境电商和在线游戏等业务的不断发展,保护网络安全变得尤为重要。Socks5代理IP是一项强大的工具,可以帮助您实现更高水平的网络安全,同时促进跨境电商和游戏领域的增…...
信号量(Semaphore)
信号量(Semaphore)是一种经典的多线程同步工具,用于控制多个线程对共享资源的访问。信号量维护了一个计数器,表示可用的资源数量,线程可以通过信号量来请求资源并释放资源。信号量的主要操作包括获取(acquire)资源和释放(release)资源。 Java 中的信号量通常有两种类…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
