宏基因组鉴定病毒流程中需要的生物信息工具
谷禾健康

许多流行病的爆发都是病毒引起的,面对新的传染性基因组出现的最佳策略是及时识别,以便于在感染开始时立即实施相应措施。
目前可用的诊断测试仅限于检测新的病理因子。适用于同时检测存在的任何病原体的高通量方法可能比使用基于当前方法的大量单独测试更有优势。
宏基因组学测序、全基因组测序和靶向深度测序是目前用于病毒遗传鉴定和表征的最佳工具。通过使用这些技术,可以正确的对病毒进行分类,确定其变异性,识别与毒性相关的病毒遗传标记,并在现有知识的基础上考虑抗原性和对抗病毒药物的易感性。
尽管宏基因组学领域取得了巨大进步,但对于具体数据分析任务应使用各种方法中的哪一种,仍缺乏共识。
本文重点描述了宏基因组生物信息数据处理所需要的工具,以便于改善使用宏基因组学识别动物来源样本中新出现、再出现和未知的新病毒。
宏基因组学识别病毒数据处理流程工具
什么是宏基因组学?
宏基因组学是下一代测序的一个领域,可以识别微生物群落,以及基因检测、识别和表征致病因子。它已被证明是病毒遗传特征的关键因素,并导致了使用传统培养技术无法完成的发现。
目前的分子检测使用特定的引物或探针针对有限数量的病原体,而宏基因组学可以接近样本中存在的所有 DNA 和 RNA 分子,从而能够分析相应的宿主基因组及其微生物集合。
在宏基因组组装中鉴定病毒有五个主要步骤:
- 质量控制(QC)
- 修剪低质量序列
- 组装
- 组装后的数据质检(可选)
- 对组装后序列进行物种注释(识别已经测序的已知病毒和识别尚未测序或未知的病毒)
宏基因组分箱是在物种注释之前可选的附加步骤。分箱的目的是根据根据序列的起源对其进行聚类。
根据这些步骤,列举出以下目前使用较多的主流工具。
序列质检工具
宏基因组学的第一步将是执行序列QC,因为从分析中消除技术错误是必不可少的。
此步骤的主要目的是识别不需要的接头序列、过短的序列、低质量的序列或核苷酸以及其他可能存在的数据。根据数据类型,在这一步中可以使用以下几种工具:

对于短读,可以使用FastQC执行质检 (https://www.bioinformatics.babraham.ac.uk/projects/fastqc/) ,它可以检查序列的质量并生成总结报告。
其他QC程序也可以提供相同类型的报告,如MultiQC,它具有与FastQC相同的功能,但有一个主要区别,它可以同时合并多个fastq的QC报告,生成一个总的报告。
对于长读,可以使用longQC或MinionQC来检查序列质量,这两个工具已经应用于从纳米孔的MinION或其他长读取测序仪中获得的数据。
用于数据预处理的工具
—— 低质量序列修剪工具
序列质检后,就需要修剪工具,删除低质量序列和接头序列。可供使用的工具如下图。

对于短读,常用的是Trimmomatic,其次是Cutadapt和Fastp。
对于长读,NanoPack可用于处理长读数据并可视化QC结果。与Nanopack功能相同的是SequelTools。
——删除测序数据中非靶向或污染序列的工具
删除不感兴趣的序列,这些序列可以从各种来源获得。在对病毒序列的分析中,必须删除宿主序列和被污染序列,它可以减少假阳性,并可以防止嵌合病毒-宿主序列的组装。
如下图,通常使用序列比对的工具:

对于短读,可以使用BWA、bowtie2和BBMap等。
其它工具如FastQ-Screen,可以以fastq格式比对自定义参考序列。
(https://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/)
对于长读,可以使用BWA和BBMap,也可以选择特定的minimap2。
也有专门用于识别和修剪特定微生物类群序列的工具,这类工具通常已包含参考基因组序列,一旦比对上,将通过内置的过滤程序丢弃掉。比如VirusHunter(https://bio.tools/virushunter),用于识别NGS数据中的病毒序列。
某些情况下,可能需要从宏基因组数据中删除非靶向分类群的其他RNA序列类型,如核糖体(rRNA),线粒体(mtRNA),或mRNA类型。这时可以用RiboDetector (https://github.com/hzi-bifo/RiboDetector),因为它专门识别rRNA,从而可以过滤掉rRNA以改进后续分析。
另一种方法是在组装前对序列进行物种注释。使用这种策略,可以过滤掉病毒以外的序列,保留病毒序列以供进一步分析。可以使用kraken2和kaiju。
序列组装
为了更好的进行物种注释和识别存在的病毒,对序列进行组装,生成contigs,以提供更长的连续序列。宏基因组学中使用的组装类型主要为de novo,即从头基因组组装。
可使用的工具如下图:

对于短读,推荐MEGAHIT,这是一个针对宏基因组优化的生物信息学组装工具,或者metaSPADES和IDBA-UD,它们也针对宏基因组进行了优化。
除了de novo,还有一种基于参考的组装,也可以用于宏基因组学。只是,并不是在所有情况下都可以获得合适的参考基因组,而且这种方法不能识别新的病毒或以前没有测序的病毒。
对于长读,推荐metaFlye、Canu和NECAT,这些工具可以用于各种技术下产生的数据格式,从纳米孔测序到PacBio,甚至在高保真序列。
对于混合组装,也就是将短读和长读的两个特性结合起来的组装,推荐OPERA-MS和HybridSPADES工具,它们都是用De Bruijn图算法实现的。
对组装完成后的序列质检
宏基因组组装完成,就应该确定组装的质量。用于此目的的工具可以分为两大类:
一类是需要参考基因组的工具,例如MetaQUAST,它使用参考来计算组装的统计信息。一般而言,在宏基因组学研究中,可能很难使用参考基因组,因为通常没有可用的参考基因组或参考基因组的质量很差。
不需要参考基因组的方法,例如DeepMAsED,它使用机器学习来识别错误装配,或者REAPR,是一种使用映射的配对端读长来评估基因组组装准确性的工具。常用的还有BUSCO和CheckM。
最后,VALET(https://github.com/marbl/VALET)可以用于检测宏基因组数据中的误组装,因为它可以根据覆盖范围对contigs进行分类,并避免由于覆盖深度不均匀而导致的假阳性和假阴性。

在宏基因组分析中识别病毒的一个重要步骤是进行物种注释。实现这一步骤的主要方法有两种:
- 第一种是直接对序列进行分类
- 第二种是通过contigs建立分类
两种方法各有优缺点:
在使用contig(即使用组装序列)进行的物种注释中,分类的对象是较长的序列,它存在一些contigs可能是嵌合的风险。
而直接对reads进行物种注释的统计学意义较小,虽然分析了大量的序列,但序列较短,这种方法可以提供更多样化的结果,只是计算成本会更高。
识别已知病毒或未知的新病毒的工具
对于已知病毒的识别,一种是基于k-mer,直接使用参考数据库与reads/contigs进行比对,如kraken2、bracken、CLARK和Centrifuge,
另一种是先翻译序列,然后与参考蛋白质数据库进行比对,如kaiju、DIAMOND和MMseqs2。
还有基于算法的,如BLAST或DUDes,它们使用DUD(Deepest Uncommon Descent)算法。
使用基因标记的,如MetaPhlAn4、IGGsearch和GOTTCHA。
也有专门用来研究病毒组的工具,如VirusTaxo、Metavir2和DeepVirFinder,其主要算法是卷积神经网络(CNN)。
其中如MetaPhlAn4和MCP (Microbiota Community Profiler),包含未知的宏基因组组装基因组的序列,而MCP只能用于识别微生物区研究中的细菌、古菌、真核生物和病毒序列。
由于每个用于物种注释的工具的性能都不同,且都使用了各种算法和参考数据库,所以这种多样性也会导致不一样的结果、耗时和计算成本。
▪ 基于k-mer的物种注释工具似乎是计算效率最高的,虽然它们需要很大的内存。
▪ 基于标记的,对内存的要求较低,但它们只能对来自特定区域的reads/contigs进行注释分类。
▪ 基于比对的工具要比其他的计算成本更高。

对于新型病毒的识别,现在也有不需要任何参考就能识别病毒序列的工具,即:
• VirSorter(https://github.com/simroux/VirSorter)
• VirFinder(https://github.com/jessieren/VirFinder)
VirFinder是一个基于k-mer的R包,可以以较好的预测识别病毒的contigs;
而VirSorter可以在不同的微生物数据集中识别新的病毒序列。
宏基因组分箱
在物种注释之前可以选择是否执行分箱(binning)。
分箱的主要目的是根据物种对contig进行聚类。根据数据类型,可使用的工具如下图:

CONCOT,它可以根据核苷酸组成和覆盖率数据对宏基因组contigs进行聚类。
GraphBin,它使用组装的连通性信息对contig进行集群化。
但宏基因组分箱并不局限于contigs,对于长读,可使用MEGAN-LR、BusyBee或LRBinner。
结 语
近年来,宏基因组学领域取得了许多进展,新技术可以帮助研究人员发现新的病毒,预测疫情,诊断某些疾病等。
长读测序平台也在快速发展,以得出更可靠的结果助力宏基因组分析。虽然已有许多工具和流程被开发出来以便更快更简单地进行数据分析,但还需要进一步发展,例如在数据处理分析中的通用指南的建立,因为虽然出于同一种目的而开发的工具,但由于计算过程不一样,它们在不同任务中的性能缺乏共识。此外,重要的是保持相关数据库的更新与维护。
宏基因组学检测人类样本中任何基因组(包括细菌、病毒、寄生虫和真菌)的能力,对于传染病的诊断具有重要意义。宏基因组学方法也已应用于其他几个研究领域:环境研究(如海洋样本、土壤、污水、农场灰尘) ;7000 年前青铜时代人类样本中的病毒感染;健康、疾病和法医调查中人体肠道微生物组的特征;临床研究 ; 以及新病毒病原体的发现,例如 SARS-CoV-2等。
Ibañez-Lligoña M, Colomer-Castell S, González-Sánchez A, Gregori J, Campos C, Garcia-Cehic D, Andrés C, Piñana M, Pumarola T, Rodríguez-Frias F, Antón A, Quer J. Bioinformatic Tools for NGS-Based Metagenomics to Improve the Clinical Diagnosis of Emerging, Re-Emerging and New Viruses. Viruses. 2023 Feb 20;15(2):587. doi: 10.3390/v15020587. PMID: 36851800; PMCID: PMC9965957.
相关文章:
宏基因组鉴定病毒流程中需要的生物信息工具
谷禾健康 许多流行病的爆发都是病毒引起的,面对新的传染性基因组出现的最佳策略是及时识别,以便于在感染开始时立即实施相应措施。 目前可用的诊断测试仅限于检测新的病理因子。适用于同时检测存在的任何病原体的高通量方法可能比使用基于当前方法的大量…...
Doris入门篇-分区分桶实验
简介 测试分区分桶效果。 分区的基本操作 添加分区 ALTER TABLE v2x_olap_database.government_car ADD PARTITION p20221203 VALUES LESS THAN ("2022-12-04");动态分区表不能添加分区,需要转为手动分区表。 查看分区 show partitions from <表…...
Spring-Xml配置
一、Spring 简介 1.简介 文档下载地址:Index of /spring-framework/docs 1.简介 Spring framework 是 Spring 基础框架 学习Spring 家族产品 Spring framework SpringBoot SpringCloud Spring 能用来做什么 开发 WEB 项目 微服务 分布式系统 Spring framew…...
设计模式-工作线程 创建多少线程池合适
1、定义 让有限的工作线程(Worker Thread)来轮流异步处理无限多的任务。也可以将其归类为分工模式,它的典型实现就是线程池,也体现了经典设计模式中的享元模式(重用对象)。 例如,海底捞的服务员(线程),轮流…...
【算法基础】深度优先搜索(DFS) 广度优先搜索(BFS)
一、DFS & BFS 1. 深度优先搜索DFS 深度优先搜索属于图算法的一种,英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。 2. 广度优先搜索BFS 广度优先搜索较之深度优先搜索之不同在于,深度…...
【分布式】ProtocolBuffer平滑升级原则
原文链接:https://blog.csdn.net/nash_cyk/article/details/99549719 关于Protocol Buffer优势这里就不详细介绍了,如便于不同开发语言的交互通信,便于服务器上线的平滑升级等。 但Protocol Buffer的Message协议升级是需要注意一些细节&…...
第四阶段17-关于Redis中的list类型,缓存预热,关于Mybatis中的`#{}`和`${}`这2种格式的占位符
关于Redis中的list类型 Redis中的list是一种先进后出、后进先出的栈结构的数据。 在使用Redis时,应该将list想像为以上图例中翻转了90度的样子,例如: 在Redis中的list数据,不仅可以从左侧压入,也可以选择从右侧压入…...
stringstream用法
stringstream是 C++ 提供的另一个字串型的串流(stream)物件,和之前学过的iostream、fstream有类似的操作方式。包含在头文件sstream中(#include <sstream>)。 实例: 1、C++标准库中的<sstream>提供了比ANSI C的<stdio.h>更高级的一些功能,即单纯性、类…...
2022年下半年系统集成项目管理工程师综合知识真题及答案解析
2022年下半年系统集成项目管理工程师综合知识真题及答案解析 1、()不属于“提升云计算自主创新能力”的工作内容。A.加强云计算相关基础研究、应用研究、技术研发、市场培育和产业政策密衔接与统筹协调B.引导大型云计算中心优先在能源充足、气候适宜、自然灾害较少的地区部…...
【洛谷 P2089】烤鸡(搜索)
烤鸡 题目背景 猪猪 Hanke 得到了一只鸡。 题目描述 猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke 吃鸡很特别,为什么特别呢?因为他有 101010 种配料(芥末、孜然等)…...
Mac item2 配置免密登录开发机
1、配置 vi ~/.ssh/config 内容如下: Host * ControlMaster auto ControlPath ~/.ssh/master-%r%h:%p ControlPersist yes ServerAliveInterval 60 学习: ControlMaster #连接共享 ControlPath #与ControlMaster一起使用,指定连接共享的路径…...
vue 解决问题:Webpack安装不成功,webpack -v无法正常显示版本号
目录 一、解决问题:Webpack安装不成功,webpack -v无法正常显示版本号 二、解决问题: ERROR Error: Cannot find module webpack-log 三、 解决报错:error:03000086:digital envelope routines::initialization error 四、解决…...
07-1【openEuler】系统及进程管理(网络管理的补充实验及说明)
文章目录说在前面关于nmcli命令的使用使用nmcli命令修改主机IP地址1、运行ip addr列出openEuler20.03上的以太网卡2、列出当前活动的以太网卡3、开始分配静态IP地址(1)命令语法(2)将 IPv4 地址192.168.74.175分配给 ens33 网卡上&…...
【Linux】磁盘结构、文件系统、软硬链接、动静态库链接
文章目录1、磁盘结构1.1 磁盘的物理结构1.2 磁盘的存储结构1.3 磁盘的逻辑结构2、文件系统2.1 4KB加载到内存2.2 文件系统结构3、软硬链接3.1 软链接3.2 硬链接4、动静态库4.1 什么是库?4.2 静态库和静态库链接4.3 动态库和动态库链接4.4 动静态库的加载下面了解到&…...
交换机电口、光口、网络速率的基本概念总结
电口和光口千兆网 & 万兆网:POE:包转发率:背板带宽/交换容量:)电口和光口 电口: 电口也即RJ45口,插双绞线的端口(网线),一般速率为10M或100M,即为百兆工…...
【面试题 05.02. 二进制数转字符串】
来源:力扣(LeetCode) 描述: 二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示࿰…...
webpack - webpack的基本使用和总结
文章目录1,webpack概念2,为什么学webpack3,webpack特点4,相对于其他工具优点5,准备工作6,webpack的核心介绍7,webpack使用 - 打包js代码8,打包css代码9,生成html文件10&a…...
【蓝桥杯嵌入式】定时器实现按键单击,双击,消抖以及长按的代码实现
🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都在这儿哦,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列专栏 - 蓝…...
基于SSM的Javaweb爱心扶贫捐赠系统
文章目录 项目介绍主要功能截图:后台登录首页个人中心用户管理扶贫物资管理扶贫产品管理留言板管理前台前台首页扶贫产品新闻资讯留言板部分代码展示设计总结项目获取方式🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,…...
Spring Cloud(微服务)学习篇(三)
Spring Cloud(微服务)学习篇(三) 1 nacos中使用openFeign(调用方式)实现短信发送 1.1 在shop-sms-api中创建com.zlz.shop.sms.api.service/vo/dto/util,目录结构如下所示 1.2 在pom.xml(shop-sms-api)中加入如下依赖 <dependencies><dependency><groupId>…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
