animalcules-交互式微生物组分析和可视化的R包

animalcules: interactive microbiome analytics and visualization in R

Microbiome [IF:11.607]

DOI:https://doi.org/10.1186/s40168-021-01013-0

发表日期:2021-03-28

第一作者:Yue Zhao1,2,Anthony Federico1,2

通讯作者:W. Evan Johnson (wej@bu.edu)1,2,3

合作作者: Tyler Faits,Solaiappan Manimaran,Daniel Segrè, Stefano Monti

主要单位:

1,2,3美国波士顿大学(Section of Computational Biomedicine, Boston University School of
Medicine, Boston, MA, USA;Bioinformatics Program, College of Engineering, Boston University, Boston, MA, USA;Department of Biostatistics, Boston University School of Public Health, Boston, MA, USA)

写在前面

分享标题:Microbiome:animalcules-交互式微生物组分析和可视化的R包

关键字:微生物组分析,可视化,交互式工具包,生物标志物识别

摘要

背景

生活在人体内外的微生物群落在人类的健康和疾病方面扮演者至关重要的角色。测序技术的最新进展使人们能够以前所未有的分辨率来研究微生物群落。然而,这些数据生成方面的进展给试图分析和可视化这些数据的研究人员提出了新的挑战。

结果

为了解决其中的一些挑战,我们开发了animalcules这是一种易于使用的用于16S rRNA测序数据,鸟枪DNA宏基因组学数据和基于RNA的宏转录组学分析数据的交互式微生物组分析工具包。该工具包结合了新颖的和现有的分析,可视化方法以及机器学习模型。例如,该工具包具有传统的微生物组分析功能,例如α/β多样性和差异丰度分析,并结合了生物标记物识别的新方法。此外,animalcules 提供交互式和动态的图形,使用户能够理解他们的数据并发现新的想法。animalcules 可以作为一个独立的命令行R包使用,或者用户可以使用附带的交互式R Shiny界面浏览其数据。

结论

我们在此介绍了*animalcules这是一个R包,可用于通过R Shiny提供的交互式界面或各种命令行函数进行交互式微生物组分析它是第一个支持所有16S rRNA基因,基于DNA的鸟枪宏基因组学和基于RNA测序的宏转录组学数据集分析的微生物组分析工具包animalcules*可以从GitHub网站https://github.com/compbiomed/animalcules免费下载,也可以通过Bioconductor网站https://www.bioconductor.org/packages/release/bioc/html/animalcules.html进行安装。

背景

近年来,人们对肠道菌群在塑造人类健康和疾病中的复杂作用进行了深入的研究和探索,这在很大程度上归功于不依赖于培养的基于分子的高通量测序技术的使用。据估计,每个人类宿主平均与500-1000种不同的细菌共存,并且研究发现微生物组与宿主的生活方式和饮食以及许多疾病(例如肥胖症,2型糖尿病和癌症)有关。新的测序技术不仅为微生物组研究带来了更多的数据和可能,同时也为数据的分析和解释带来了新的挑战。改进的微生物组数据分析工具和方法可以提高我们理解微生物在不同环境中的作用的能力,尤其是了解它们之间以及与人类宿主之间的相互作用。

当前的微生物组分析通常包括两个重要组成部分:上游群落概况分析(例如,每个样本中所有微生物的丰度是多少?)和下游高级分析(例如,alpha/beta多样性分析,差异丰度分析)。近年来,不断发展的数据分析、可视化和机器学习方法已逐渐被应用到用于涵盖了这两个方面的微生物组数据分析的许多软件工具和web服务器的开发中。然而,新技术和测序技术使科研人员采用新方法进行微生物组数据分析和解释的学习曲线变陡。此外,现有工具大部分致力于分析的一个方面和/或仅限于分析一种类型的微生物组数据。例如,尽管有许多用于分析16S rRNA基因数据的工具和工作流程,但没有现成的工具和流程用于全面解决基于RNA的宏转录组学的分析需求。

表1总结了这些工具在微生物组数据分析方面的功能。对于基于标记基因的数据,例如16S rRNA,QIIME II和Mothur提供了用户界面以及大量的分析和可视化工具,但不支持宏基因组和宏转录组数据Vegan包提供了多种用于宏基因组数据可视化的功能,但缺乏用户界面,以及宿主和微生物序列对齐,差异表达等工具。BioBakery为微生物群落的大多数宏基因组分析需求提供了一套全面的工具,但是它依赖于小组标记物来识别物种,并且不能解决宿主或微生物的表达问题。微生物组助手是一个多语言脚本的集合,以促进微生物组和宏基因组学工具的交互和互操作性,但不提供交互式可视化或图形用户界面。R中的微生物组软件包为各种宏基因组数据分析任务提供了命令行工作流程。Phyloseq有一个Shiny界面,其带有用于注释,可视化和多样性分析的工具,但不提供丰度分析,并且不再由其开发人员积极维护。Metavizr为特定的宏基因组可视化提供了一个界面和一套功能。这些方法中没有一种是全面或专门解决多种类型16S rRNA、宏基因组或宏转录组数据需求的。因此,没有现有的工具包包含用于微生物组数据分析和解释的完整工作流程(带有或不带有图形用户界面)

表 1 animalcules和其他流行的微生物组分析工具的比较

Comparison of animalcules and other popular microbiome analysis tools

在这里,我们介绍了animalcules,一种用于微生物组数据的交互式分析和可视化工具包。animalcules 支持以多种格式导入微生物组数据,如物种计数表、操作分类学单元(OTU)或扩增子序列变体(ASV)计数表,或生物观察矩阵(BIOM)格式。这些格式可以从常见的微生物组数据源和分析工具生成,包括16S rRNA,宏基因组学和宏转录组学数据。数据上传后,animalcules 提供了一个有用的数据汇总和过滤功能,用户可以使用样本元数据,出现频率或相对丰度查看和过滤其数据集以这种方式过滤数据可以大大减少执行预处理和下游分析任务所花费的时间。对于数据可视化,例如相对丰度条形图和3D降维图(PCA / PCoA / tSNE /
UMAP),animalcules支持交互式操作,用户可以在其中检查每个数据点上的样品/微生物信息,并根据需要调整图形格式,当样本量或微生物数量很大时,这有助于识别元素或数据模式
。除了常见的多样性分析,差异丰度分析和降维之外,animalcules**还通过训练具有交叉验证的生物标记物性能评估的逻辑回归或随机森林模型来支持生物标记物的鉴定animalcules 通过R/Shiny提供了一个图形用户界面(GUI),即使没有编程知识的用户也可以使用它,而经验丰富的程序员可以选择基于命令行的R包或两者的组合**。

执行

数据结构和软件设计

Data structures and software design

animalcules**中的所有数据处理任务和功能均基于和使用MultiAssayExperiment(MAE)数据结构。MAE类是用于多组学实验的标准数据结构,其有效的数据检索和操作方法支持跨多个分析的样品链接。MAE对象具有三个关键组件:colData(包含受试者或细胞系水平元数据),ExperimentList(存储一个或多个分析的数据)和sampleMap(关联实验和样本)。在animalcules中,三个表(样本元数据表,微生物计数表和分类表)及其之间的映射关系存储在MAE类中。它可以确保分析方法和实验对象的正确对齐,并提供样品和特征的协调子集。此外,很容易在SummarizedExperiment类中的MAE对象之间进行转换,该类已在许多Bioconductor程序包中应用,从而可以实现其他工具之间的顺畅交互。在微生物组研究领域中应用MAE类的一个重要优势是其可扩展的设计,支持许多多组学数据层。多组学正在成为该领域的趋势,例如,通过结合宿主基因表达数据和微生物丰度数据来研究宿主-微生物相互作用。animalcules是用于整合MAE对象的微生物组分析的第一个软件工具*,它通过允许用户在同一对象内存储微生物数据,宿主转录组学,代谢组学和分类信息,从而利用其独特的特性(目前,animalcules*仅支持微生物组分析,但MAE结构使未来的开发能够处理这些数据类型。此外,MAE可以与其他管理这些数据类型的工具集成,例如宿主转录组学)。MAE对象还可以存储各种分析的处理版本(例如,降维数据),其允许在下游进行有效的操作和分析。这种方法通过有效地集成所需的各种多组学数据集来推进标准微生物组分析和数据共享。

最后,由于所有数据都集成在单个R对象中,因此用户可以将数据序列化为单个文件,以用于进一步分析或与其他研究人员共享。例如,在通过Shiny应用程序处理和分析了数据之后,用户可以以序列化的MAE对象文件的形式导出其数据集,然后可以通过animalcules命令行函数或其他方法将其上传到Shiny或导入R中进行进一步探索。通过animalcules集成的MAE对象为微生物组分析带来了效率,可扩展性和可重复性。

安装及使用

animalcules 需要R≥4.0.0,可以通过Github或Bioconductor安装。将animalcules包加载到R中之后,用户可以选择启动R Shiny GUI(通过run_animalcules()函数),或者直接使用可用的命令行函数。在GUI中,用户可以从以下选项卡中进行选择:上传(选择一个示例数据集,上传一个新的数据集,或加载一个之前上传的数据集),汇总和过滤(了解数据分布,并通过微生物特征或样本表型过滤数据),丰度(相对丰度条形图,热图,和单个微生物箱形图),多样性(alpha多样性和beta多样性的统计检验和箱线图)、降维(PCA、PCoA、tSNE和UMAP)、差异丰度(样本组之间的微生物差异丰度)和生物标志物(识别预测微生物生物标记物)。表2**总结了包中的常用R函数**。

有关如何使用命令行版本的animalcules进行微生物组数据分析的详细教程可在 https://compbiomed.github.io/animalcules-docs/articles/animalcules.html 上找到。此外,我们还发布了一个包含我们的animalcules软件包和所有依赖项的Docker容器,该容器可从以下网址获得:https://github.com/compbiomed/animalcules。

表 2 可通过animalcules R软件包获得的导出函数表及其说明

Table of exported functions and their descriptions available through the animalcules R package

数据的上传与输出

animalcules为将数据导入GUI或使用MAE对象进行命令行分析提供了多种选择。其中包括简单的以制表符分隔的OTU、ASV或其他计数矩阵,这些矩阵通常由其他工具(例如QIIME II或PathoScope)生成,或使用在用户会话中或在来自前一个animalcules会话的文件中可用的MAE对象生成。无论数据是如何导入的,试验/OTU数据都将在“上载”选项卡的“分析查看器”部分中提供。

下面介绍了六种数据导入选项:

1、计数表或OTU文件(不带物种分类信息):这是最简单的选项,可以上传一个行为基因组/ OTU信息,列为样品信息的OTU,ASV计数表。所有功能和工具均可用于数据的过滤、可视化、分析,但不能对单个微生物组或OTUs进行不同级别的汇总。

2、计数表或OTU文件(带有物种分类信息):此选项提供了对先前的扩展,但允许将OTU / ASV与物种分类信息和微生物在不同级别(例如,种、属、门等)的汇总联系起来。该信息可以作为单独的表提供,表中的每个OTU对应一行。此外,用户可以提供NCBI物种分类ID或NCBI登录号,而animalcules将使用taxize R软件包中提供的工具自动生成物种分类表。物种分类表将作为一个单独的分析存储在MAE对象中,但将通过内部函数链接到OTU表的行。

3、animalcules 对象文件:用户还可以直接将MAE对象上传到工具包或工作流中。MAE对象可以从先前的animalcules 会话(存储为.rds文件)中生成,也可以从任何预处理流程的输出中转换,或者从其他来源生成。这个选项允许有效地存储和重新上传来自前一个会话的数据,或者启用命令行版本和animalcules 的GUI版本之间的交互。例如,用户可以在GUI中执行部分分析,保存结果,然后使用命令行工具(在animalcules内部和外部)继续进行分析,然后将数据重新上传到GUI进行进一步分析或可视化。此功能可实现其他微生物组GUI或命令行工具包中不具备的兼容性和交互性。

4、Pathoscope输出文件:animalcules 支持直接上传从PathoScope流程生成的文件。这些文件通常是数据集中每个样本的单个制表符分隔表,并包含单个微生物的NCBI物种分类ID。animalcules将这些文件组合并将其转换为MAE对象,并使用taxize包生成物种分类表。

5、BIOM和其他格式:标准的生物观察矩阵(BIOM)格式是一种常用的格式,用于通过观测列联表表示样本。QIIME II流程工具通常使用BIOM格式。我们使用biomformat R包将BIOM文件上传到animalcules中,以及从animalcules中输出BIOM文件。这可以实现animalcules与其他微生物组分析工具(例如QIIME II)之间的交互作用。此外,我们在帮助文档中包含了有关如何在 animalcules 和Phyloseq对象之间进行转换以增强这些工具之间的互操作性的说明

6、示例数据:在animalcules 中,我们有三个预定义的示例数据集,包括模拟数据集,结核病16S rRNA分析数据集和哮喘宏转录组数据集。这些示例数据集允许用户在上传自己的数据之前尝试animalcules的所有特征和功能,从而轻松学习如何使用animalcules并了解他们可以执行哪些分析。

数据过滤和汇总

animalcules Shiny界面提供汇总统计信息,以帮助用户有效地评估数据质量并过滤低质量的微生物和样品。用户可以通过散点图和密度图可视化每种生物的读长总数,并根据平均读长数,相对丰度或流行度过滤样本/特征。此外,用户可以通过饼图和条形图(用于分类协变量)或散点图和密度图(用于连续协变量)来可视化样本协变量(图1)。可以基于一个或多个协变量对样本进行过滤。最后,用户可以选择丢弃特定的样品和/或生物体。通过任何一种过滤方法除去样品和生物后,汇总统计数据和图将自动刷新,以显示可能发生的任何变化。如有更改,用户可下载修改后的数据供日后使用。使用animalcules :: filter_summary_bar_density()和animalcules :: filter_summary_pie_box()函数生成过滤前后样本和微生物数据的可视化。对于希望在过滤前后检查其数据的用户,animalcules可以使用户查看和下载生成的五种类型的分析方法,包括计数表,相对丰度表,logCPM表,物种分类法表和注释表。此外,还可以通过标准R命令行工具直接从MAE对象访问这些表。

图 1 animalcules数据过滤和汇总选项卡

animalcules Data filtering and summary tab

在右侧面板中,显示了连续变量的数据汇总指标表、散点/箱线图和密度图。对于分类变量,animalcules将自动识别并显示饼图和条形图。

数据可视化

一个典型的分析涉及可视化样品或样品组中微生物的丰度。animalcules实现了三种常见的可视化图类型,包括堆叠的条形图,热图和箱形图。使用animalcules :: relabu_barplot()生成的堆叠条形图用于可视化每个样品中给定分类水平上微生物的相对丰度,以单个条形图表示(图2)。条形图可以通过一个或多个样本属性进行颜色标记,还可以通过汇总组内的微生物丰度,通过这些属性来汇总样本。这是研究人员在不同的物种分类水平上识别样本或类群水平模式的有效方法。用户还可以选择根据样本属性或一个或多个生物体的丰度对条形图进行排序。还有一种简便的分离或去除样品的方法。使用该工具,用户可以快速浏览样本属性和物种分类级别的不同组合,以发现一个或多个组中的差异丰度,群落概况方面的离群值以及未被已知属性表示的样本群。

图 2 animalcules 丰度选项卡

animalcules Abundance tab

在子选项卡面板中,用户可以在条形图,热图或箱形图之间进行选择。在条形图设置的左面板中,用户可以根据变量,分类级别和按选项排序来选择颜色。在右侧面板中,animalcules将显示一个交互式的图,用户可以将鼠标悬停在该图上以检查图中显示的任何颜色条的信息。

或者,用户可以通过热图可视化来探究这些问题,该图表示一个可以在不同的物种分类级别上能被可视化的生物样本矩阵。前面提到的许多选项也与热图兼容,例如用颜色标记样本、按属性或生物体对矩阵行进行排序,以及分离或丢弃生物体和样本。在确定潜在的差异丰度的微生物之后,用户可以使用箱线图可视化以直接比较分类属性之间一种或多种生物体的丰度。可以从给定的物种分类学水平中选择生物,丰度可以表示为计数,logCPM或相对丰度。这个图也可以在命令行中使用animalcules::relabu_heatmap()函数生成。

多样性分析

Alpha多样性描述了微生物群落的丰富度和均匀度,是微生物组分析中的重要指标和衡量指标。animalcules 提供了一个交互式箱形图,用于比较所选样本组之间的alpha多样性。物种分类水平和alpha多样性指标(例如Shannon,Gini Simpson,Inverse Simpson,unique organisms)都可以更改,并且可以在多个物种分类水平上计算多样性。每个样本的Alpha多样性值可以输出到MAE对象中,也可以将其输出为单独的表或文件。用户还可以进行alpha多样性统计检验,包括Wilcoxon秩和检验、T检验和Kruskal-Wallis检验。可以使用animalcules :: alpha_div_boxplot()函数和animalcules :: do_alpha_div_test()函数在命令行中生成alpha箱线图以及进行统计检验。

另一方面,可以将每个微生物群落样本之间的距离(即所谓的β多样性)用作要进行每次分析的另一项关键指标。用户可以通过选择不同的β多样性差异矩阵(包括Bray-Curtis,Jaccard指数或加权/未加权unifrac)来绘制β多样性热图。用户还可以进行组间beta多样性统计检验,包括PERMANOVA检验、Wilcoxon秩和检验或Kruskal-Wallis检验(图3)。可以使用animalcules :: diversity_beta_boxplot()函数和animalcules :: diversity_beta_test()函数在命令行中生成Beta多样性比较箱线图和统计检验。

图 3 animalcules 多样性选项卡

animalcules Diversity tab

在子选项卡面板中,用户可以在α多样性分析和β多样性分析之间进行选择。在beta多样性分析中,右侧面板控制着要使用的统计检验,要检验的条件,并在表格和箱线图中显示统计检验结果。

降维

在任何数据分析工作流中,一个关键的步骤是在一个低维空间中可视化和汇总高变数据(图4)。在animalcules中,我们实现了四种常用的降维技术,包括主成分分析(PCA),主坐标分析(PCoA),t-分布随机邻接Eebedding (t-SNE)和均匀流形近似和投影(UMAP)。PCA和PCoA都将样本投影到一组新的轴上,由此最大的变化量由第一,第二和第三轴解释,而t-SNE和UMAP是将数据映射到低维嵌入的非线性方法。数据集的降维值可以输出到MAE对象中,也可以作为单独的表或文件输出。

图 4 animalcules 降维选项卡

animalcules Dimension Reduction tab.

在子选项卡面板中,用户可以在PCA,PCoA,t-SNE和UMAP之间进行选择。在PCA子选项卡中,用户可以选择物种分类级别、变量颜色,在高级选项中,用户还可以指定最多三个PCs进行可视化,按变量调整形状以及使用哪种数据类型。

每种降维方法中使用的原始数据可以是计数,logCPM或相对丰度,并且可以使用2D或3D(如果两个解释的方差维度不足)散点图进行可视化。数据点可以通过连续的样本属性进行着色,并可以通过分类属性进行改变形状。借助多维降维技术和数据归一化方法,用户可以快速可视化其数据的全局和局部结构,跨一个或多个条件识别聚类模式以及检测样本离群值。降维也可以在命令行中使用用于PCA的animalcules::dimred_pca()函数、用于PCoA的animalcules::dimred_pcoa()函数、用于t-SNE的animalcules::dimred_tsne()函数和用于UMAP的animalcules::dimred_umap()函数来实现。

差异丰度分析

有许多可用的工具可用于差异丰度评估和推断。例如,基于广义线性模型(GLM)的方法,包括通过负二项式分布(DESeq2和edgeR)或使用对数计数(百万分之一)和高斯分布(limma)假设的基于微生物组数据或基因表达数据的DESeq2、edgeR和limma模型计数。可以确定在不同组中具有不同丰度的核心微生物。在animalcules 中,我们提供了基于DESeq2的差异丰度分析(图5)。使用命令行函数animalcules::differential_abundance(),该函数默认使用“DESeq2”方法。用户可以选择目标变量,协变量,物种分类水平,最小计数界限和调整的p值阈值。分析报告不仅会输出调整后的微生物的p值和log2倍数变化,而且还会输出百分比,流行率和组大小调整后的倍数变化。除了使用DESeq2,在animalcules 中,我们还支持使用limma进行差异丰度分析,这要求用户在命令行函数中指定如:animalcules :: differential_abundance(method =’limma’)。

图 5 animalcules 差异丰度选项卡

animalcules Differential Abundance tab

在子选项卡面板中,用户在DESeq2和limma之间进行选择。在左侧面板中,用户指定物种分类水平,目标条件,协变量,计数界限和调整后的p值阈值。在右侧面板中,显示了详细的差异丰度结果表。

生物标志物鉴定

animalcules的一个独特功能是生物标志物识别模块。用户可以选择逻辑回归或随机森林分类模型来识别微生物生物标志物。除了用于评估生物标志物预测性能的AUC值和平均交叉验证ROC曲线外,还将提供每个微生物的特征重要性评分(图6)。也可以通过命令行函数animalcules :: find_biomarker()进行生物标志物的识别。

图 6 animalcules 生物标志物选项卡

animalcules Biomarker tab

在左侧面板中,用户选择物种分类水平和目标条件。在高级选项中:交叉验证倍数次数,交叉验证重复次数,生物标志物比例和分类模型。在右侧面板中,animalcules 将显示生物标志物列表,重要性图和ROC图。

在微生物组研究项目中,生物标志物的鉴定往往是一项相对困难的任务。默认情况下,我们选择了逻辑回归模型,与随机森林方法相比,该模型具有更好的模型可解释性和更低的模型复杂性。但是,当逻辑回归不适用于数据集时,用户可以很容易地切换到随机森林方法。对于参数选择,通过嵌入在N次K倍交叉验证中的基于网格搜索的超参数调整(默认为K = 3)来启发式地自动选择大多数超参数。较小的K值有利于中小样本量,因为它将减少任何倍数具有不平衡类别分布的可能性。当用户拥有较大的数据集时,我们建议使用较大的K,例如5或10。该方法产生包括特定微生物在内的候选生物标记物(形成交叉验证)的比例,作为“重要性得分”,以帮助选择最终生物标记物的微生物。用户提供的参数P(默认P = 0.20)控制了在最终的模型和评价中包含微生物的重要得分临界值。没有严格的规则或直觉选择P,但多数情况下尝试几个不同的P值并比较测试集中最终生物标记物预测的效果通常是有益的。

我们强调一个担忧,即对于小型数据集(例如,少于100个样本),由于模型过度拟合,所识别的生物标记可能会产生偏差。我们当前的避免在较大数据集中过度拟合的策略依赖于重复的k倍交叉验证。但是,当样本量较小时,由于交叉验证的一倍可能随机具有不平衡的类别分布(例如1个正样本和10个负样本),它仍然可以偏向样本的一个子集。因此,我们建议用户在数据集较小的情况下使用生物标志物识别模块时要格外小心。

结果

为了说明animalcules 的效用,我们使用被包装在animalcules 中的预加载数据集进行了两个示例分析;第一个是哮喘的转录组数据集,第二个是结核病 16S rRNA数据集。为简洁起见,我们不会在每个分析中探索所有animalcules 的功能,而是专注于并拓展每个示例的科学问题的相关分析。通过使用相应的示例数据集,可以在animalcules  Rshiny应用程序中重现这两种分析。

示例1:哮喘鼻拭子的宏转录组数据集

Example 1: asthma nasal swabs metatranscriptomic dataset

哮喘宏基因组鸟枪法RNA测序数据集来自AsthMap(哮喘严重程度改变多态性)项目的参与者,最初在一篇描述哮喘相关微生物群落的研究文章中报道。共收集了14份鼻上皮细胞样本,分别来自8名儿童和青少年哮喘患者和6名健康对照者。

为了表征微生物群落与哮喘之间的关系,我们通过绘制哮喘和对照受试者中微生物的类群相对丰度来可视化物种水平的丰度。该图可以使用animalcules :: relabu_barplot()函数以及在Shiny应用程序的“丰度”选项卡下生成。很明显,与对照组相比,Moraxella菌在哮喘患者中的比例过高,这是最初发表的一项重大发现。这种已知会引起呼吸系统感染的微生物,可以作为早期疾病检测、疾病严重程度或恶化可能性的生物标志物。此外,气道微生物组的其他失调包括其他属的差异,例如Corynebacterium aurimucosum,其在哮喘患者和对照组中代表性不足(图7)。

图 7 微生物物种相对丰度条形图

Relative abundance of microbial species bar plot

堆积的条形图,表示哮喘患者(紫色)和健康对照者(黄色)中微生物物种的群体相对丰富度。

为了进一步研究哮喘患者和对照组中M. catarrhalisC. aurimucosum的过度表达和表达不足,我们使用由animalcules :: boxplot()函数生成的箱线图可视化各组中的相对丰度并更好地了解各样本分布的平均值和方差。这些图通过显示丰度的巨大差异证实了先前的结果(图8)。此外,我们使用DESeq2对哮喘患者和对照组进行了微生物物种的差异丰度分析。该分析表明,M. catarrhalis在哮喘患者中的比例显著(q = 1.78e-3)过高(Log2FC = 5.9)。它还显示在对照中C. aurimucosum过高表达(Log2FC = 2.66),但并未达到统计显着水平(q = 0.236)。该表是使用animalcules :: differential_abundance()功能生成的。

图 8 差异丰富物种的相对丰度箱线图

Relative abundance boxplot for differentially abundant species

左边。哮喘患者(绿色)和健康对照者(蓝色)中M. catarrhalis 相对丰度的箱线图。右边。哮喘患者(绿色)和健康对照者(蓝色)中C. aurimucosum相对丰度的箱线图。

通过animalcules界面,我们能够快速可视化哮喘和对照样品之间的样品水平和分组水平的微生物群落,并检测哮喘患者中代表性偏高的微生物和代表性不足的微生物,分别鉴定M. catarrhalisC. aurimucosum

示例2:结核病16S rRNA分析数据集

Example 2: tuberculosis 16S rRNA profiling dataset

该16S rRNA结核病数据来源于一项试验性结核病研究,包括12名受试者、30个呼吸道样本和417种微生物。12名受试者中有6名肺结核患者和6名健康对照者。样本组织类型包括痰液,口咽和鼻呼吸道。这项研究的目的是了解健康人和结核病患者之间呼吸道中的微生物群落差异,并评估样本/组织类型,以最有效地探索结核病样本和对照之间的微生物群落差异。

我们首先对数据进行了全面评估,重点关注微生物物种分类如何影响样本变量(例如疾病状态)。我们使用了animalcules 中的barplot函数来可视化每个样品的物种分类学概况,并用任何注释变量上色(此处我们使用疾病信息,其中深紫色代表对照,黄色代表结核病样品)。在图9中,我们展示了属和门水平的丰度。

图 9 样本方式的相对丰度条形图

Sample-wise relative abundance bar plot

堆积条形图,表示结核菌(黄色)和健康对照(蓝色)样本中微生物菌种的样本方式相对丰度。子图a为属水平,子图b为门水平

从物种分类柱状图上,我们发现结核病样本与对照样本之间存在着不同的模式。在属水平上(图9a),与对照样品相比,结核病样品中的Streptococcus似乎具有较高的相对丰度。在门的水平上(图9b),我们发现在结核样本中厚壁菌门(Firmicutes)更为丰富。这两个图都是使用命令行函数animalcules :: rebalu_barplot()生成的。

为了定量了解结核病样本和对照样本之间的生态多样性差异,我们比较了样本的α和β多样性。对于alpha多样性,我们比较了结核样本和对照样本中的Shannon指数(见图10a)。animalcules 对这些多样性测度自动进行了非参数Wilcoxon秩和检验和参数Welch两样本T检验。此处,Wilcoxon秩和检验的p值为0.0060,而Welch两样本T检验的p值为0.0077,说明结核病组和对照组之间存在显著差异。从箱线图中,我们观察到对照组中的α多样性更高。alpha多样性箱图是由animalcules :: alpha_div_boxplot()生成的,而统计检验是由animalcules :: do_alpha_div_test()生成的。

图 10 结核病示例数据集多样性分析

TB example dataset diversity analysis

a 对照组(红色)组和结核病(蓝色)组之间的Alpha多样性箱线图。

b 结核病组内(蓝色),对照组内(橙色)以及结核病/对照组之间(绿色)的Beta多样性箱线图。

对于beta多样性的比较,我们绘制了Bray-Curtis距离来进行比较:在结核病组内,在对照组内,在TB/对照组之间(图10b)。两组之间的平均距离高于两个单独的组内距离,这意味着结核病样本和对照样本都与自己更相似。此外,我们在两组之间进行了PERMANOVA检验,结果显示差异显著,p值为0.003。Beta多样性比较箱形图由animalcules::diversity_beta_boxplot()生成,PERMANOVA检验由animalcules::diversity_beta_test()生成。

在对该结核病数据集进行相对丰度和多样性分析后,我们确信结核病组和对照组的微生物组之间存在显著差异。在这里,利用animalcules 中的生物标志物功能,我们能够构建起可以帮助我们预测结核病状况的微生物生物标志物。利用logistic回归模型、3倍交叉验证(CV)、生物标志物比例为0.05,我们确定了一个用于结核病分类的8个属的生物标志物。然后,我们仅使用8属生物标志物进行交叉验证,测试生物标志物的性能,预测性能ROC显示在(图11)。我们使用animalcules :: find_biomarker()来识别生物标志物,绘制特征重要性得分条形图和ROC曲线。在这里,我们有一个非常高的AUC = 0.913,从而提供了微生物组可以作为结核病预测的生物标志物的证据,并且我们的生物标志物在结核病与健康对照之间具有区分能力。该结果表明,有必要进一步评估结核病的微生物生物标志物。以前,人们一直在使用转录组生物标志物进行结核病诊断,我们使用微生物作为诊断生物标志物的新发现可能导致潜在的总RNA-seq定向结核病疾病生物标志物,它既涉及宿主转录组基因表达,也涉及微生物丰度,这有可能为结核病诊断提供更高的准确性,因为它同时考虑了宿主和微生物方面,甚至考虑了结核病中宿主与微生物之间的相互作用

图 11 生物标志物ROC曲线

Biomarker ROC curve

ROC显示了已识别生物标志物的AUC和交叉验证预测性能。

综上所述,在animalcules的帮助下,我们探索并比较了结核病样本和对照样本之间的微生物群落差异。我们的分析表明,与结核病组相比,对照组的微生物群落结构更加多样化,分布更均匀。

此外,结核病组和对照组均具有一个特定的在该组内共享的微生物组成。最后,我们确定了一个微生物子集,表明其在结核病与对照样品之间的区分能力,其可以用作新的结核病的生物标志物。

讨论

animalcules 的基本特征是其通过动态可视化工具与用户的无缝交互。这种设计逻辑基于这样一个事实,这种设计逻辑的根源在于微生物学研究人员必须在多个层次(物种分类法)和多个尺度(标准化)上对数据进行分析,如果没有一个有组织的分析框架和工作流程,数据可视化和分析将变得复杂。animalcules解决了这个问题,它提供了一个平台来交互式地探索大型数据集,使用户可以通过适当的分析方法更容易地识别数据集内在的模式。关键分析方法允许用户探究门水平上多个样本组之间的组间相对丰度模式的差异,检查一个特定样本组中最丰富的物种,或检查不同物种分类水平上的单个样本微生物组组成。可以通过alpha / beta多样性统计检验,差异丰度分析以及生物标志物识别来进一步检验识别出的模式。

此外,animalcules 利用MAE对象(一种用于多组测序数据的有效数据结构),在未来可以扩展到包含宿主测序分析,并使分析宿主-微生物相互作用的简洁方法成为可能。animalcules 的灵活性使其成为将来跨不同数据源和下游分析进行整合的有用工具:除了帮助分析16S rRNA和鸟枪测序微生物组数据外,animalcules 可以用来可视化模拟微生物组研究和涉及合成微生物群落的微宇宙实验的结果。通过animalcules 处理的物种分类学丰度信息可以进一步用于微生物共现网络的系统评估,扩大复杂数据集的信息可视化的可能性,并与微生物-微生物相互依赖的机制模型进行比较。

在可重现性方面,R/Shiny在本文发表时的一个不幸缺陷是缺乏一个用于生成历史记录或进行跟踪分析的系统结构。更具体地说,因为界面中的每一分钟的变化(例如,过滤数字尺度)都会触发应用程序服务器端的操作,所以记录R History可能会变得太大,太快而没有用处。相反,为了再现性,我们建议使用GUI进行初步和探索性分析,然后在R Markdown文档中使用命令行函数和代码创建可共享的再现性报告。

结论

在这份报告中,我们介绍了*animalcules- *一个开源的R包和Shiny应用程序,致力于16S rRNA和鸟枪测序(宏基因组学和宏转录组学)数据的微生物组分析。我们将领先和新颖的方法纳入一个高效的框架中,以使研究人员能够描述和理解其数据中的微生物群落结构,从而对微生物群落和感兴趣的表型之间的联系提供有价值的见解

可用性和要求

项目名称:animalcules

项目主页:https://github.com/compbiomed/animalcules

官方/正式发布:https://www.bioconductor.org/packages/release/bioc/html/animalcules.html

帮助文档:https://compbiomed.github.io/animalcules-docs/

操作系统:Linux, OS X, Windows

编程语言:R

许可证:GNU GPLv3

数据和资料可用

Animalcules可以在GitHub (https://github.com/compbiomed/animalcules)或Bioconductor (https://bioconductor.org/packages/release/bioc/html/animalcules.html)上免费获得,并在 https://compbiomed.github.io/animalcules-docs/
上附有完整的文档和教程。

Reference

Yue Zhao,Anthony Federico,Tyler Faits,Solaiappan Manimaran,Daniel Segrè,Stefano Monti,W. Evan Johnson. animalcules: interactive microbiome analytics and visualization in R.Microbiome, (2021) 9:76
https://doi.org/10.1186/s40168-021-01013-0

猜你喜欢

10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature Cell专刊 肠道指挥大脑

系列教程:微生物组入门 Biostar 微生物组  宏基因组

专业技能:学术图表 高分文章 生信宝典 不可或缺的人

一文读懂:宏基因组 寄生虫益处 进化树

必备技能:提问 搜索  Endnote

文献阅读 热心肠 SemanticScholar Geenmedical

扩增子分析:图表解读 分析流程 统计绘图

16S功能预测   PICRUSt  FAPROTAX  Bugbase Tax4Fun

在线工具:16S预测培养基 生信绘图

科研经验:云笔记  云协作 公众号

编程模板: Shell  R Perl

生物科普:  肠道细菌 人体上的生命 生命大跃进  细胞暗战 人体奥秘

写在后面

为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外5000+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。PI请明示身份,另有海内外微生物相关PI群供大佬合作交流。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍未解决群内讨论,问题不私聊,帮助同行。

学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”

点击阅读原文,跳转最新文章目录阅读

Microbiome:animalcules-交互式微生物组分析和可视化的R包相关推荐

  1. 刘永鑫:20分钟讲解微生物组数据分析与可视化实战

    编者按: 2020 年 12 月 21 日,国内著名英文期刊 Protein & Cell 与热心肠研究院合作,成功举办了"Protein & Cell人类微生物组专刊线上论 ...

  2. NBT:可重复交互式的微生物组分析平台QIIME 2(2021.4发布)

    QIIME 2021.4版本发布:https://docs.qiime2.org/2021.4/ 本文是软件介绍,接下来将更新软件中文使用教程 2010年发表于Nature Methods的QIIME ...

  3. NBT:可重复交互式的微生物组分析平台QIIME 2(2021.2发布)

    2010年发表于Nature Methods的QIIME[发音同chime]是微生物组领域最广泛使用的扩增子数据分析流程,截止2021年3月14日,Google Scholar统计引用23,878次. ...

  4. NBT:可重复交互式的微生物组分析平台QIIME 2(2020.11发布)

    2010年发表于Nature Methods的QIIME[发音同chime]是微生物组领域最广泛使用的扩增子数据分析流程,截止2020年12月13日,Google Scholar统计引用22,714次 ...

  5. iMeta:青岛大学苏晓泉组开发跨平台可交互的微生物组分析套件PMS(全文翻译,PPT,视频)...

    Parallel-Meta Suite:跨平台可交互的微生物组快速分析套件 Parallel-Meta Suite: Interactive and rapid microbiome data ana ...

  6. QIIME 2教程. 04人体微生物组分析Moving Pictures(2020.11)

    文章目录 QIIME 2用户文档. 4人体各部位微生物组 本节视频视频教程 启动QIIME2运行环境 样本元数据 下载和导入数据 拆分样品 序列质控和生成特征表 方法1. DADA2 方法2. Deb ...

  7. QIIME 2用户文档. 4人体各部位微生物组分析实战Moving Pictures(2018.11)

    文章目录 前情提要 QIIME 2用户文档. 4人体各部位微生物组 启动QIIME2运行环境 样本元数据 下载和导入数据 拆分样品 序列质控和生成特征表 方法1. DADA2 方法2. Deblur ...

  8. 众筹编写《微生物组数据分析与可视化实战》——成为宏基因组学百科全书的创始人...

    众筹编写<微生物组数据分析与可视化实战>--成为宏基因组学百科全书的创始人 高通量测序的发展极大地推动了微生物组/宏基因组领域的发展.微生物组的数据分析和解读需要微生物学.生物信息学.统计 ...

  9. QIIME 2用户文档. 4人体微生物组分析Moving Pictures(2019.7)

    前情提要 Nature Biotechnology:QIIME 2可重复.交互和扩展的微生物组数据分析平台 1简介和安装Introduction&Install 2插件工作流程概述Workfl ...

最新文章

  1. 更改 ubuntu 账户密码
  2. web login do.php,dologin.php
  3. mySQL教程 第9章 触发器
  4. VTK:相互作用之RubberBandZoom
  5. ​内核调试技巧--systemtap定位丢包原因
  6. python做一副54扑克牌发牌技巧_德州扑克讲堂:高级技巧 胜率之摊牌胜率的算法...
  7. centos 6.5网卡dhcp不能获得网关
  8. Linux C 错误 invalid application of 'sizeof' to incomplete type 解决方案
  9. 数据共享,回调函数,threading模块,守护线程
  10. 知识整理2019清北学堂提高储备D1
  11. matlab画三维空间布朗运动,matlab绘制布朗运动的二维三维图.doc
  12. 不懂英文能靠建站卖站达到月入上万?
  13. 关于阿里巴巴编码规范(Java)认证
  14. vue组件封装——公用基础table组件
  15. 响应式网页设计教程:展示响应式设计的基本原理
  16. win7删除u盘linux分区,WIN7系统不用分区工具如何创建、删除和格式化分区
  17. Google Earth Engine(GEE)——中国上海夜间灯光数据时序分析
  18. 用选择公理来预测未来
  19. openstack网络(neutron)模式之GRE的基本原理
  20. JavaScript - 展开运算符

热门文章

  1. 《我想进大厂》之JVM夺命连环10问
  2. 分布式事务 GTS 的价值和原理浅析
  3. 如何在一家内容公司,从零搭建起一支技术团队
  4. 机器学习预测地震的未来
  5. 如果20万用户同时访问一个热点缓存,如何优化你的缓存架构?
  6. 知乎自动批量软件使用教程
  7. IDEA 一些基本概念
  8. 什么是稀疏矩阵算法?
  9. wifi信号桥怎么设置_iPhone信号差怎么办?这样设置,信号满分,网速如飞
  10. C#计时器,记录程序运行时长