文献解读——基于深度学习的病毒宿主预测

news2025/7/12 11:32:03

文章目录

  • 背景介绍
  • 作者介绍
  • 文章概述
  • 流程
  • 数据准备
  • 输入数据处理
  • 深度神经网络
  • 结果


背景介绍

人畜共患病病毒对人类和动物的健康产生巨大了威胁,例如近期爆发的寨卡病毒、埃博拉病毒以及冠状病毒。病毒起源的宿主信息对于有效控制和消灭传播是至关重要的,这是因为病毒需要时间去完全适应新宿主,人们可以利用这段时间去隔离起源宿主。但是确定起源宿主的信息是一个挑战。目前使用的监督学习、概论模型以及相似性排序模型都由于病毒知识的缺失,不能发现并使用具有生物学意义的特征,导致它们在预测宿主数量以及准确性上出现问题。

作者想要构建一个具有高准确性、广宿主谱以及利用具有生物学意义的特征的模型,来解决病毒起源的宿主信息这一问题。


作者介绍

作者是来自耶拿大学的生物信息系的硕士,名字是Florian Mock,从它的发表文章的主题来看,作者是长期从事于使用机械学习的方法去解决分类问题。如果大家也从事这方面的研究可以关注该作者,他似乎挺“高产”的。

该文章发表Bioinformatics上,这个也是很不错的刊了(个人觉得)。该刊2022年的影响因子是24.79。
在这里插入图片描述

文章概述

文章想解决的科学问题与目前研究的空白与之前提到的背景信息相同。此处不再赘述。

文章的结果是作者使用病毒基因组序列信息作为唯一的特征构建了一个深度学习的方法,使用100-400bq的序列便可在流感A病毒、狂犬病毒以及轮状病毒每个物种上的准确率取得了0.93-0.98的准确率。
在这里插入图片描述

流程

文章的流程是获得病毒序列→建立训练集、验证集、测试集→将序列信息转换为深度神经网络能处理的输入信息→模型训练→得到预测结果。
在整个流程中有两个难点:

  1. 如何去除数据偏向性带来的影响
  2. 将序列信息转化为模型能处理的数据信息

在这里插入图片描述

数据准备

本文的数据来自欧洲核酸档案(ENA)数据库,序列的accession号来自ViPP数据库。流感A病毒、狂犬病毒以及轮状病毒的宿主分别有49、19和6种。从右边这张热图可以看出大量数据集中在流感病毒中(这是可以理解的,历史上爆发过五次流感病毒疫情),如何去除大量数据在预测中导致的偏向性呢?这便是之前提到的第一个难点,作者使用Repeated random under-sampling的方法(翻译过来应该是重复随机下采样,还是不翻译的好)。这个方法首先确认验证集和测试集,然后在剩余的样本中随机采样,因此避免了水桶效应,即数据量最少的数据决定其他数据的数量。
在这里插入图片描述

输入数据处理

病毒序列之间长度不同,深度学习模型只能处理矩阵数据,于是如何将不同序列长度处理成等长数据便是第一个问题。其次是如何将ATCGN的序列编码转变为数字编码。第二个问题比较容易解决,使用one hot 编码方式即可。第一个问题的难点是将其变为等长后,如何体现生物学意义?虽然作者给出了八种方法,但是这八种方法的生物学意义都没有解释,这是一个疑惑点。然后将序列切断以缩短模型训练的时间。
在这里插入图片描述

深度神经网络

LSTM,全称 (Long Short Term Memory)是一种特殊的递归神经网络 。这种网络与一般的前馈神经网络不同,LSTM可以利用时间序列对输入进行分析;简而言之,当使用前馈神经网络时,神经网络会认为我们x时刻输入的内容与x的下一时刻输入的内容完全无关。一般用于处理文本数据,这里将病毒序列当成一种特殊的文本数据。
本文的作者构建了两个深度学习模型。每个模型中,除输出层外,每层含有150个节点。输出层是按照可能宿主的可能性进行排序输出,这具有生物学意义,因为自然界中一个病毒可以感染多个宿主,即病毒的跨宿主传播。
第一个模型简而言之就是输入层+三层双向LSTM网络+输出层,第二个模型便是在输入层之后增加了CNN模型,用来筛选重要的序列。对每个模型首先在训练集上进行500次训练,然后在验证集上得到最高的表现(这里用准确性和分类交叉熵),而后用于测试集。
在这里插入图片描述

结果

之前提到过序列被切断为子序列,因此不同子序列得到的结果应该如何组合?作者又提出了四种方案,就是统计学的方法。关于它的结果我觉得没有什么意义去讨论,肯定是比它参考的要好。这篇文章的亮点可能是将病毒序列当成一种特殊的文本去处理,以及数据处理过程中去除偏向性的方法。
如果大家要使用这个预测模型可以参考作者的Github。
在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/38419.html

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

相关文章

Linux——【ftp环境搭建】

前言 FTP(File Transfer Protocol)是文件传输协议,主要是用来进行文件的传输,尤其是大型文件的传输使用 FTP 更是方便。比如在RedHat Enterprise Linux操作系统中,用户可以在RHEL服务器上建立一个FTP服务器&#xff0…

v-model的修饰符

1.lazy修饰符 输入框失去光标跳动&#xff0c;即失焦状态&#xff0c;或者敲击回车时&#xff0c;输入框的值才动态绑定&#xff0c;以此减少过度频繁的绑定 <div id"app"> <!-- 1.lazy--><input type"text" v-model.lazy"message&q…

Node.js 入门教程 12 使用 Node.js 输出到命令行

Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录&#xff0c;不存在任何商业用途&#xff0c;如侵删 文章目录Node.js 入门教程12 使用 Node.js 输出到命令行12.1 使用控制台模块的基础输出12.2 清空控制台12.3 元素计数12.4 打印堆栈踪迹12.5 计算耗时…

基因组 组装教程 (T2T)

导读 本文将介绍T2T基因组&#xff0c;并提供一份基因组组装的资料&#xff0c;其中包含&#xff1a;基因组组装数据和组装策略介绍&#xff1b;染色体水平基因组组装&#xff1b;基因组补洞&#xff1b;着丝粒和端粒分析等&#xff0c;获取方式见文末。 简介[1] 随着物种基因组…

vscode平台上通过Embedded IDE搭建单片机开发环境

软件安装 安装vscode&#xff0c;具体下载连载如下 [vscode官网下载地址](https://code.visualstudio.com/Download)更改vscode插件安装位置 在C:\Users\13547.vscode\路径中找到extensions&#xff0c;并右键点击extensions文件夹然后点击剪切&#xff0c;这里必须是剪切而不…

Jenkins 构建Maven 项目

Jenkins中自动构建项目的类型有很多&#xff0c;常用的有以下三种&#xff1a; 自由风格软件项目&#xff08;FreeStyle Project&#xff09;Maven项目&#xff08;Maven Project&#xff09;流水线项目&#xff08;Pipeline Project&#xff09; 每种类型的构建其实都可以完成…

Python 中导入csv数据的三种方法

这篇文章主要介绍了Python 中导入csv数据的三种方法,内容比较简单&#xff0c;非常不错&#xff0c;具有一定的参考借鉴价值&#xff0c;需要的朋友可以参考下微点阅读小编收集的文章介绍。 Python 中导入csv数据的三种方法&#xff0c;具体内容如下所示&#xff1a; 1、通过…

4、python中函数、匿名函数、递归函数

文章目录函数的创建和调用空函数变量的作用域全局变量局部变量函数内部修改全局变量函数参数传递参数检查常见的4类形参必选参数默认参数可变参数--*args接收的是一个元组关键字参数--**kwargs接收的是一个字典匿名函数练习题&#xff0c;将整型数组的0移动到末尾递归函数求n的…

软件测试 -- 进阶 4 软件测试策略

巧而好度&#xff0c;必攻&#xff1b;勇而好问&#xff0c;必胜&#xff1b;智而好谋&#xff0c;必成。-- 《孔子家语》 翻译&#xff1a;灵巧而有擅长揣摩的人&#xff0c;必定坚定&#xff1b;勇敢而有擅长请教的人&#xff0c;必定取胜&#xff1b;富有智慧而有擅长谋…

Linux系统配置及服务管理-07-文件系统及RAID

文件系统详解 EXT4文件系统 EXT4是第四代扩展文件系统&#xff08;Fourth extended filesystem) 类型&#xff1a;索引(index ) 文件系统 系统限制&#xff1a; Ext3&#xff1a; 文件系统最大16TBExt4&#xff1a; 文件系统最大16TBXFS : 文件系统最大100TB. 名词 inod…

进程间通信之匿名管道和命名管道

目录 管道是什么 匿名管道 命名管道 命名管道创建方式 管道的特点&#xff1a; 管道是什么 概念&#xff1a;管道是计算机通信领域设计者&#xff0c;设计出的一种单向通信的方式&#xff0c;linux原生提供管道通信 管道都是单向传输内容的 管道中传输的都是"资源&…

SSM_整合篇

一、整合步骤 1.1 数据表的介绍 team表&#xff1a; player表&#xff1a; 1.2 创建maven项目 1.3 pom.xml引入jar依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"…

ps打开图片的三种方式 同步部分基本操作方式

观看本文 需要您的电脑已安装PS工具 如果没有 可以观看我的文章 PS软件下载安装以基本配置 然后打开PS 就会变成一个这样的界面 然后点击右上角的 PS 进入工作区 然后我们就会进入 一个这样的工作区 然后我们在左上角点击文件 选择 打开 然后 在文件框中 找到自己想处理的图…

OJ练习第23题——Z字形变换

OJ练习第23题——Z字形变换题目要求示例Java代码如下&#xff1a;思路分析力扣链接&#xff1a;Z字形变换题目要求 将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。请你实现这个将字符串进行指定行数变换的函数&#xff1a;str…

canvas学习

canvas 是一块画布&#xff0c;可以设置宽高 &#xff0c;默认 300 * 150 使用方式 1. 声明书写 canvas标签 2. 拿到canvas的dom 3. 调用方法 getContext (注意 此方法在prototype上) 方法集合&#xff1a; 填充&#xff1a; 1. fillStyle&#xff0c; 设置填充颜色 &…

详解非负矩阵分解(NMF)及其在脑科学中的应用

非负矩阵分解及其在脑科学中的应用 基本原理确定最优因子数量代码实现非负矩阵分解与主成分分析的区别非负矩阵分解在脑科学中的应用应用一:神经发育模式:T2w/T1w比值映射的非负矩阵分解(NMF)应用二:微观结构的协方差模式基本原理 NMF的基本思想可以简单描述为:对于任意给…

Python用PyMC3实现贝叶斯线性回归模型

在本文中&#xff0c;我们将在贝叶斯框架中引入回归建模&#xff0c;并使用PyMC3 MCMC库进行推理。 最近我们被客户要求撰写关于叶斯线性回归模型的研究报告&#xff0c;包括一些图形和统计输出。我们将首先回顾经典频率论的多重线性回归方法。然后讨论贝叶斯如何考虑线性回归。…

8、MyBatis核心配置文件之typeAliases(mybatis-config.xml)

MyBatis核心配置文件之typeAliases&#xff08;mybatis-config.xml&#xff09; 1、&#xff01;&#xff01;&#xff01;&#xff01;注意 2、 设置类型别名&#xff08;比如有的全类名&#xff08;resultType&#xff09;太长了不好使用&#xff09; typeAlias :设置某个类…

Python版本的温湿度+Nokia5110 display(SPI)

前提需要把micropython的固件安装到系统中 安装micropython到esp8266中 本实验需要&#xff1a; 1. ESP8266&#xff08;我的是Wemos D1) 2. DHT11 3. Nokia5110 LCD 连线&#xff1a; DHT11 out --> D2(GPIO-016) (-接入GND&#xff0c;接入3.3vcc) Nokia 5110 LCD We…

GO语言最常用的语法

一 ,变量&#xff1a;变量赋值只能在函数内使用&#xff0c;故第三种方式只能在函数内使用&#xff0c;可使用var()同时定义多个变量变量定义 使用var关键字 var a bool var a bool true 不指定类型直接初始化让编译器选择 var a "abc" 使用 “ : "…