ncrfp:一种基于深度学习的端到端非编码RNA家族预测新方法

news/2025/2/24 3:29:26

摘要

本文提出了一种新颖的端到端方法" ncRFP "来完成基于深度学习的预测任务。ncRFP不是预测二级结构,而是通过从ncRNAs序列中自动提取特征来预测ncRNAs家族。与其他方法相比,ncRFP不仅简化了过程,而且提高了精度。

ncRFP的主要新颖之处在于它不同于传统的预测家族过程的方法,它直接基于ncRNAs序列来预测家族。以ncRNAs序列作为输入,ncRFP自动提取特征,并在深度学习模型的辅助下进行学习。

本文分别基于RNN、CNN和DNN建立了3个模型。经过模型对比,RNN的预测性能优于其他两种模型。因此,我们选择了包含Bi-LSTM,Attention Mechanism和全连接神经网络的RNN模型作为最终模型。

材料和方法

数据的收集与处理

本文使用的数据从Rfam数据库中收集。每个家族的所有序列随机分为10个部分。每个家族随机选择一部分组成测试集,其余部分组成训练集,使得所有ncRNAs序列可以形成10折交叉验证的训练集和测试集。本文选择了两种编码方式将ncRNAs序列转化为矩阵。第一种是将每个碱基转换成一个1*8的向量,另一种是将每个碱基转换成一个1*4的向量(独热编码)。

本文提出了一种新的截取/填充方法( IPM ),将各种ncRNA处理成固定长度,长度大于固定长度的ncRNA从开始截取到固定长度,长度小于固定长度的ncRNA在尾部用' N '填充到固定长度。

方法

ncRFP是由Bi-LSTM、注意力机制( attention mechanism,AM )和全连接网络组成的深度学习模型。Bi-LSTM和AM主要负责将不同的ncRNA编码成固定格式的数据全连接网络则是对Bi-LSTM和AM的输出进行解码。图3展示了ncRFP的体系结构。可以发现,原始ncRNAs序列转换为矩阵后,作为Bi-LSTM和AM的输入。Bi-LSTM根据上下文将不同位置的每个碱基编码为固定大小的数据AM主要方便模型关注不同ncRNA的导入位置,并将Bi-LSTM的输出编码成相同的格式大小全连接网络主要承担将Bi-LSTM和AM的输出解码到对应的ncRNA家族的任务

图3 . ncRFP的结构示意图。它由数据处理、Bi - LSTM层、Attention机制和全连接神经网络组成。这4个部分相互协作,共同预测ncRNAs家族。

Bi-LSTM

ncRNAs是上下文敏感的文本数据,因此在预测其家族时需要记录每个碱基的上下文。由于双向RNN可以有效地记录每个基的过去和未来特征,因此我们选择它作为模型的第一部分,将每个基结合其上下文处理成相同格式的数据。普通RNN的记忆和存储能力有限,会随着序列长度的增加而失去学习信息的能力,陷入梯度消失。LSTM作为一种特殊的RNN,通过引入存储单元和门机制,解决了普通RNN中出现的梯度消失问题,使其在表示序列数据中元素的过去信息、未来信息和提取长距离依赖关系方面表现更好。LSTM记忆单元可实现如下:

其中\sigma为logistic sigmoid函数,i、f、o、c分别为输入门、遗忘门、输出门和细胞向量,均与隐向量h在同一维度。同时,w表示权重矩阵,b表示偏置向量。因此,在ncRFP中选择了Bi-LSTM,其原理是相同的碱基连接两个方向相反的LSTM。前向LSTM可以记录过去的信息,后向LSTM可以记录未来的数据信息。Bi-LSTM在t时刻的隐状态H_{t}包括前向隐状态\vec{h_{t}}和后向隐状态h_{t}

注意力机制

AM的核心思想是将注意力更多地分配到输入信息上,而较少地分配到其他信息上,从而巧妙合理地改变对外界信息的关注,忽略无关信息,放大合意信息。从而大大提高了聚焦注意区域信息的接收灵敏度和处理速度。选择AM作为ncRFP的第二部分,负责将ncRFP更多的注意力集中在一致的种子序列上。从而提高预测精度。

全连接网络

在Bi-LSTM和AM之后,毫无疑问需要将Bi-LSTM和AM的输出解码到每个ncRNA对应的家族中。本文提出了一种四层全连接神经网络来完成该任务。图2包含一个输入层,两个隐藏层和一个输出层的结构,其中ReLU作为激活函数。全连接神经网络可以实现如下:

式中:w为权重矩阵,b为偏置向量,x和y为任意两层之间的输入和输出。

ncRFP的参数

1 ) Bi - LSTM隐含层128个节点,输出层256个节点。全连接层节点数分别为128、64和13。

2 )所有权重矩阵均采用高斯分布(平均值为0 ,标准差为0.05)进行初始化。

3 )加入dropout层,通过减少参与计算的点数来防止过拟合。Bi - LSTM的Dropout参数为0.3,全连接神经网络的Dropout参数为0.4。

评价指标


http://www.niftyadmin.cn/n/5863948.html

相关文章

Nginx学习笔记:常用命令端口占用报错解决Nginx核心配置文件解读

Nginx 1. 基础命令1.1 重新加载systemd配置1.2 停止Nginx服务1.3 启动Nginx服务1.4 重启Nginx服务1.5 查看Nginx服务状态1.6 测试配置和重载Nginx 2. 额外命令2.1 启用开机自启2.2 禁用开机自启2.3 强制关闭所有Nginx进程 3. Nginx端口占用解决方案3.1 查找占用端口8090的进程3…

运维基线方案说明

1. 总体思路 建立运维基线的核心目标是保障系统稳定性、提升安全性、及时响应异常事件并不断优化系统性能。初创公司资源有限,方案应尽可能简单、易用,同时具备一定的自动化和标准化能力。建议从以下几个层面入手: 标准化文档:制…

光明谷推出AT指令版本的蓝牙音箱SOC 开启便捷智能音频开发新体验

前言 在蓝牙音箱市场竞争日益激烈的当下,开发一款性能卓越且易于上手的蓝牙音箱,成为众多厂商追求的目标。而光明谷科技有限公司推出的 AT 指令版本的蓝牙音箱 SOC,无疑为行业带来了全新的解决方案,以其诸多独特卖点,迅…

基于Matlab实现串口实时显示波形GUI界面(源码)

在MATLAB中,GUI(图形用户界面)是一种强大的工具,用于创建交互式应用程序。本项目利用MATLAB的GUI功能,构建了一个用户界面,能够实时接收通过串口发送的监测波形数据,并在界面上动态展示这些波形…

go语言闭包的立即执行和不立即执行

在 Go 语言中,闭包(closure)是一种特殊的函数,它可以访问其定义时所在的作用域中的变量,即使这个函数在其他地方被调用。闭包的“立即执行”和“不立即执行”主要取决于闭包的定义和调用方式。 1. 闭包的定义 闭包是…

UE5从入门到精通之多人游戏编程常用函数

文章目录 前言一、权限与身份判断函数1. 服务器/客户端判断2. 网络角色判断二、网络同步与复制函数1. 变量同步2. RPC调用三、连接与会话管理函数1. 玩家连接控制2. 网络模式判断四、实用工具函数前言 UE5给我们提供了非常强大的多人网路系统,让我们可以很方便的开发多人游戏…

《论模型驱动架构设计方法及其应用》审题技巧 - 系统架构设计师

软件测试工程师软考论文写作框架 一、考点概述 “模型驱动架构设计及其应用”这一论题,主要考察了考生对模型驱动架构设计(MDA)这一先进软件设计方法的理解与应用能力。论题涵盖了MDA的基本概念、核心要素、实施流程及在实际项目中的应用等…

Java多线程三:补充知识

精心整理了最新的面试资料,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 Lambda表达式 简介: 希腊字母表中排序第十一位的字母,英语名称为Lambda避免匿名内部类定义过多其实质属于函数式编程的概念 为什么要使用lam…