【LorMe R包】教程5:宏网络分析

文摘   2024-11-21 14:01   江苏  
LorMe包简介

微生物组学分析已成为近年来的研究热点之一。R语言作为微生物组学分析的主要平台,具有相当完善的各类分析功能包。然而,使用R语言进行微生物组分析依然具有较高的门槛,陡峭的学习曲线、复杂的数据预处理与兼容性各异的分析输入格式制约了微生物组学分析效率。

为此,我们开发了一站式微生物组分析R语言高效解决方案:LorMe包。通过易于上手的数据封装成为高兼容性的分析输入对象,一条代码即可完成各类微生物组分析,全面的输出结果兼容深度数据探索的同时,也可直接用于论文制图和文章写作。LorMe包已应用于LorMe实验室新生培训,助力各位学术新秀快速熟悉和上手微生物组分析。

宏网络分析
通过对两组或多组处理包含的所有样本进行宏共现网络(meta co-occurrence network)分析,我们可以揭示跨处理间的共现模式。根据网络模块化拓扑关系并标记差异物种节点,可以集中关注这些差异物种所在的模块。通过这一分析方法,我们可以探究对处理响应敏感的网络模块,从而精确定位关键物种或物种组合,为后续的验证工作提供重要依据。【LorMe成果】持续胁迫——多次施用噬菌体鸡尾酒稳定压制根际病原菌为例,通过差异分析发现48个属被鉴定为指示物种。为进一步聚焦关键物种并探究物种对噬菌体鸡尾酒施用频次的响应,进行宏网络分析,发现了与根际病原菌种群密度呈负相关的两个模块,为后续关键物种验证试验提供了依据。

完成宏网络分析所需的前置分析较多,分析过程的着色、差异化等步骤也较为繁琐。为此,LorMe包提供两个宏网络分析相关功能并配套模块分析功能,首先进行预分析,并可根据预分析效果与研究需求,再次调整可视化内容,最后进行模块分析。在进行宏网络分析前,同样有一些注意事项:

  1. 由于采用传统的plot()可视化方法,图例的位置与右下角plot面板的尺寸有关。如图例位置与网络图重叠,可拉伸plot面板进行调整。
  2. 使用network_withdiff进行初始化分析后,可提取差异物种的分布统计,并通过network_visual_re进行定制化调整。
  3. 对于超过4组处理的封装对象,indicator会提供非常多的tag类型,这种情况建议先查看tag类型,再根据需求手动将tag调整至6类以下方便更好可视化。
示例代码
# 数据准备library(LorMe)data("Two_group"#使用内置示例数据# 首先进行预分析set.seed(999)## 网络分析network_results <- network_analysis(  taxobj = Two_group,  taxlevel = "Genus",  n = 10,  threshold = 0.8)## 差异分析之指示物种分析(也兼容保内DESeq分析获得的结果)indicator_results <- indicator_analysis(  taxobj = Two_group,  taxlevel = "Genus"  )# 宏网络分析network_diff_obj <- network_withdiff(  network_obj = network_results,   # 网络分析结果  diff_frame = indicator_results,  # 差异分析结果  aes_col = Two_group$configuration$treat_col# 差异节点颜色  )## 查看各模块包含的差异物种总数print(network_diff_obj$tag_statistics$sum_of_tags)## 查看各模块包含的不同处理差异物种数量print(network_diff_obj$tag_statistics$detailed_tags)

## 根据差异节点数,如想要只展示差异节点数量在10个以上的模块network_visual_re(  network_visual_obj = network_diff_obj,  module_paint = TRUE, # 把背景着色改为TRUE  module_num = c(1, 4) # 指定模块ID  )
## 或者我们想展示包含差异节点数量最多的5个模块my_module_palette <- color_scheme( c("#83BA9E", "#FEEFE0"), 5  )#先用独立工具配个色network_visual_re( network_visual_obj = network_diff_obj, module_paint = TRUE,  module_num = c(1, 3, 4), module_palette = my_module_palette)

随后,我们根据差异物种聚集的模块,对这些模块丰度进行组间分析。

moduleframe=Module_abundance(  network_obj =network_results,#网络分析结果  No.module = c(1,2,3)#所需分析模块  ) #我们对富集control处理节点较多的模块执行模块分析moduleframe$plotlist$Plotobj_Module3$Barplot #根据我们的样本量选择合适的可视化,这里柱状图比较合适moduleframe$plotlist$Plotobj_Module3$Statistics #查看具体统计信息(写文章或展示需用)#我们对富集treatmment处理节点较多的模块执行模块分析moduleframe$plotlist$Plotobj_Module1$Barplot #富集treatment节点较多的模块#作为比较,我们也看看宏网络可视化中未显示的模块moduleframe$plotlist$Plotobj_Module2$Barplot #此处就没有发现显著差异

接下来进行模块组成分析:

## 此处展示指定物种模式:显示与主要物种组成分析一致的前5个门community <- community_plot(  taxobj = Two_group,  taxlevel = "Phylum",  n = 5,  rmprefix = "p__")  # 主要物种组成分析top5_phyla <- names(community$filled_color) #提取主要门的名字module_results <- Module_composition(  network_obj = network_results,#网络分析结果  No.module = c(1, 3),#所需分析模块  taxlevel = "Phylum",#展示的分类水平  mode = "select",#可视化模式:指定物种  palette = community$filled_color,#分类水平颜色  select_tax = top5_phyla,#指定物种名称  rmprefix = "p__"#移除前缀)print(module_results$Module1$Pie_plot_Module1)print(module_results$Module3$Pie_plot_Module3)# 模块组成的其他展示模式请阅读帮助文档

以上就是完成宏网络分析的方法。想要探索丰富的可视化模式或查看其他一键分析使用说明,请访问:
https://www.notion.so/LorMe-aac2ba66a3bf46bd89c103e78550e6f4


猜你喜欢


【LorMe R包】教程4:网络分析
【LorMe R包】教程3:差异物种分析
【LorMe R包】教程2:微生物群落特征分析
【LorMe R包】教程1:微生物组数据清洗、封装与配置
【LorMe工具】LorMe R包:一站式微生物组高效分析方案

编辑|汪宁褀

排版|许家正

审核|韦中


南京农业大学-土壤微生物与有机肥料团队
微生态与根际健康实验室
Lab of rhizosphere Micro-ecology
立足国家重大需求,探索前沿学科交叉
创新根际微生态研究、培养产教研创新人才
提升环境土壤生物一体化健康
竞争求发展,合作谋共赢
Competition & Cooperation
感谢您的关注和支持!


南农LorMe
欢迎关注LorMe,一起交流微生态、微生物组、土壤生物健康、合成菌群、噬菌体、铁载体、线虫、原生动物、青枯菌等话题。
 最新文章