文章目录

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

背景介绍

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

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


作者介绍

作者是来自耶拿大学的生物信息系的硕士,名字是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。


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

  1. Nature论文解读 | 基于深度学习和心脏影像预测生存概率

    作者丨Peter 单位丨某基因科技公司生物信息工程师 研究方向丨生物信息 本文解读的文章来自今年 2 月份的 Nature 杂志新子刊 Machine Intelligence,标题为:Deep-le ...

  2. 基于深度学习的病毒序列识别

    随着宏病毒研究的日益火热,许多小伙伴都在想自己曾经测过的宏基因组数据能否再深挖一波?当然可以!前面几期小编给大家抛砖引玉介绍了组装软件以及病毒数据库的基本知识,这期我们就来聊一聊,如果不依赖于数据库的 ...

  3. QB:基于深度学习的病毒序列识别

    全球COVID-19新型冠状病毒肺炎疫情使人们对病毒有了前所未有的关注.病毒不仅可以侵入人体等真核生物,还可以侵入细菌等原核生物.侵入细菌的病毒数量大约有1031,是地球上最丰富的生物体 [1].病毒 ...

  4. 基于深度学习的病毒检测技术无需沙箱环境,直接将样本文件转换为二维图片,进而应用改造后的卷积神经网络 Inception V4 进行训练和检测...

    话题 3: 基于深度学习的二进制恶意样本检测 分享主题:全球正在经历一场由科技驱动的数字化转型,传统技术已经不能适应病毒数量飞速增长的发展态势.而基于沙箱的检测方案无法满足 APT 攻击的检测需求,也 ...

  5. 基于深度学习的驾驶行为预测方法

    基于深度学习的驾驶行为预测方法 1 概述 2 深度学习算法 3 驾驶行为预测建模 4 结论 5 参考文献 6 python LSTM程序 7 python LSTM模型调用 1 概述 在汽车前向仿真中 ...

  6. i6mA-DNC:基于深度学习的二核苷酸表示预测水稻基因组DNA n6 -甲基腺苷位点

    i6mA-DNC:基于深度学习的二核苷酸表示预测水稻基因组DNA n6 -甲基腺苷位点 摘要 一.简介 二.材料和方法 1.基准数据集 2.提出的模型 3.绩效评估 3.1交叉验证 三.结果与讨论 四 ...

  7. A Deep Learning-Based Remaining Useful Life Prediction Approach for Bearings 基于深度学习的轴承剩余寿命预测

    A Deep Learning-Based Remaining Useful Life Prediction Approach for Bearings 基于深度学习的轴承剩余寿命预测 目录 A De ...

  8. 基于深度学习的建筑能耗预测04——能耗建模

    天津城建大学建筑学院18级-数字设计-基于深度学习的建筑能耗预测-2021WS 作者:徐仔 指导老师:万老师.丁老师 带组导师:宋学姐(建筑学专业).卢学长(计算机专业) (转载请注明出处)  基于G ...

  9. 【点宽专栏】基于深度学习的股票涨跌预测

    01背景 股票价格的预测是学界和业界一直以来尝试去研究解决的问题,由于股票的价格受到的影响因素众多,涵盖了上市公司基本面,产品价格的波动,国内的宏观经济数据,国际市场的各种金融资产和价格的波动等等,并 ...

  10. PyTorch深度学习实战 | 基于深度学习的电影票房预测研究

    基于深度学习的映前票房预测模型(Cross&Dense网络结构模型),该模型通过影片基本信息如:电影类型.影片制式.档期和电影的主创阵容和IP特征等信息对上映影片的票房进行预测. 本篇采用45 ...

最新文章

  1. linux dd 大文件下载,Linux dd+grep 大文件二分查找
  2. js创建对象的高级模式
  3. IOS 项目名称修改(XCODE4.6)
  4. Mysql俩种表级锁
  5. centos查找linux大文件,centos中查找出大文件命令汇总
  6. NodeJS 使用官方oracledb库连接数据库教程
  7. 测试是为了对软件质量进行度量和评估,软件测试复习题
  8. 为Vista写程序,不把界面整漂亮点,你都不好意思和别人打招乎 :)
  9. 开源|Davinci用户体验:你离数据可视精美大屏只差一个Davinci!
  10. 第7.3节 Python特色的面向对象设计:协议、多态及鸭子类型
  11. .NET使用存储过程实现对数据库的增删改查
  12. HDU 4731 Minimum palindrome 打表找规律
  13. 嵌入式编程规范与原则
  14. lua 计算日期差值 计算时间戳日期差
  15. 浅学 web安全知识(好奇)
  16. ioredis自定义函数以及在ts声明文件库添加声明
  17. GemBox.Pdf v15Crack
  18. gym 100543 CERC 2014 L Outer space invaders
  19. 在线语音识别和离线语音识别哪个好
  20. 哔哩哔哩视频弹幕爬取

热门文章

  1. Android中使用SVG矢量图打造多边形图形框架
  2. 分类流控qdisc之htb
  3. 银行与沪深300走势对比
  4. java雷霆战机图片_JAVA开发《雷霆战机》雷电类游戏效果演示
  5. Tips_linux
  6. 机器学习之数据集划分-k折交叉验证法(k-fold cross validation)
  7. phyton list排序
  8. Qt播放视频0x8007000e报错 DirectShowPlayerService::doPlay: Unresolved error code 0x8007000e
  9. 刘未鹏的博中带的技术博客链接
  10. 第十二周项目四:银行系统(一)