首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

The Innovation|MicrobiotaProcess:深度挖掘微生物组学数据的综合R包

MicrobiotaProcess定义了MPSE数据结构以整合微生物组学上游输出的多种不同格式数据以及下游的输出数据,并配合整洁语法框架(tidy framework)开发的分析功能(如数据过滤与标准化,系统进化转换及差异物种鉴定与可视化等),为微生物组学数据的下游分析提供了统一且简洁的分析语法,促进了微生物组学数据的管理与可重复分析。该软件当前支持16S/ITS/18S、宏基因组、宏转录组以及相关生态学数据的处理与分析。

图1 图文摘要

微生物组学数据经上游生信分析产生多种不同格式的文件,且当前下游分析复杂,常需使用不同编程语言的平台或者不同语法的软件,缺乏灵活、全面、统一且用户友好的语法来简化微生物组学的下游分析。为此,我们开发了MicrobiotaProcess。首先,我们定义了MPSE数据结构(图2),该数据结构是在Bioconductor的核心结构SummarizedExperiment上进行构建的,以存储原始和标准化后的特征丰度表,样本信息以及特征信息等数据,同时它也纳入了我们课题组定义的treedata数据结构以存储系统发育树,物种注释信息以及相关的统计信息(如差异统计p值,丰度信息等),以及Bioconductor的另一个核心结构XStringSet以存储代表序列信息,并且下游的相关统计结果也可被整合进去。当然,这些相应的组件都可通过相应的提取函数(以mp_extract_开头)进行提取。总之,通过MPSE数据结构,与微生物组学相关的数据与结果都可以存储在单个实例中,从而改进下游的数据探索,促进数据共享与数据可重复性分析。

图2 MPSE数据结构剖析图

由于微生物组上游不同流程的输出结果格式差异较大,如何解析这些不同格式的数据结果往往是分析人员面临的第一个难题,为方便分析人员进行数据导入,我们开发了相应的导入函数,同时也提供了as.MPSE以方便用户将目前常用的一些R对象(如phyloseq, biom, SummarizedExperiment, TreeSummarizedExperiment)转成MPSE数据结构,并且提供MPSE同名函数以帮助用户从头构建(图3A)。这些功能可以方便用户更好地衔接上游分析结果,并解决下游基于MPSE结构的分析需求,同时也使得MicrobiotaProcess支持16S/ITS/18S等扩增子数据、宏基因组以及宏转录组数据。

图3 MicrobiotaProcess的整体设计框架,功能以及与其他软件的互通性

为促进基于MPSE结构的微生物组数据的操作与探索,我们基于tidy framework框架开发统一简洁的分析功能,为方便分析人员理解,这些分析功能主要以mp_开头,加一个动词以及相应可解释性的名词组成。我们也进一步拓展了dplyr软件包,使得用户可方便使用熟悉的dplyr动词进行自由探索。通过这种统一简洁的方式,MicrobiotaProcess使微生物组数据转换与分析变得灵活自由,并且可使用管道符(%>% 或者 |>)进行自由组合搭配,让用户能够高效轻松地构建可读性强且可重复的工作流程来分析微生物组等生态学数据(图3)。

数据可视化是探索和解释微生物组学数据的一种重要方法。为方便用户快速呈现不同数据整合的清晰、有意义的可视化结果,进而为相关的生物学问题探索提供帮助,我们基于ggplot2和自己开发的ggtree与ggtreeExtra软件包开发了相应的可视化功能,使可视化结果也可变成ggplot2或者ggtree对象,方便用户使用熟悉的ggplot2语法进行自定义修改与探索,促进数据的可重复使用。另外,我们也开发了left_join接口,方便用户将外部数据(如其他软件分析结果)整合到MPSE数据结构中,再进行探索与可视化(图4)。

图4 使用MicrobiotaProcess分析16s数据的可视化结果

总结与展望

微生物组学技术已成为探索微生物群与宿主或环境之间关系的一种常用方法。数据探索分析是其关键步骤之一,下游异构数据的整合以及可重复性分析尤为重要。MicrobiotaProcess定义的MPSE数据结构可整合多种类型的输入数据与结果数据,基于此,我们开发了统一且简洁的语法分析功能模块,随着微生物组数据分析方法的提出与更新,我们将持续维护并更新该软件包,以助力研究者更为高效、可重复地探索微生物组学数据。

责任编辑

叶 足    中国科学院大学附属肿瘤医院

孙 晶    中国石油大学(北京)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230220A000YC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券