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

许多流行病的爆发都是病毒引起的,面对新的传染性基因组出现的最佳策略是及时识别,以便于在感染开始时立即实施相应措施。
目前可用的诊断测试仅限于检测新的病理因子。适用于同时检测存在的任何病原体的高通量方法可能比使用基于当前方法的大量单独测试更有优势。
宏基因组学测序、全基因组测序和靶向深度测序是目前用于病毒遗传鉴定和表征的最佳工具。通过使用这些技术,可以正确的对病毒进行分类,确定其变异性,识别与毒性相关的病毒遗传标记,并在现有知识的基础上考虑抗原性和对抗病毒药物的易感性。
尽管宏基因组学领域取得了巨大进步,但对于具体数据分析任务应使用各种方法中的哪一种,仍缺乏共识。
本文重点描述了宏基因组生物信息数据处理所需要的工具,以便于改善使用宏基因组学识别动物来源样本中新出现、再出现和未知的新病毒。
宏基因组学识别病毒数据处理流程工具
什么是宏基因组学?
宏基因组学是下一代测序的一个领域,可以识别微生物群落,以及基因检测、识别和表征致病因子。它已被证明是病毒遗传特征的关键因素,并导致了使用传统培养技术无法完成的发现。
目前的分子检测使用特定的引物或探针针对有限数量的病原体,而宏基因组学可以接近样本中存在的所有 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>…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
