完成宏网络分析所需的前置分析较多,分析过程的着色、差异化等步骤也较为繁琐。为此,LorMe包提供两个宏网络分析相关功能并配套模块分析功能,首先进行预分析,并可根据预分析效果与研究需求,再次调整可视化内容,最后进行模块分析。在进行宏网络分析前,同样有一些注意事项:
由于采用传统的plot()可视化方法,图例的位置与右下角plot面板的尺寸有关。如图例位置与网络图重叠,可拉伸plot面板进行调整。 使用network_withdiff进行初始化分析后,可提取差异物种的分布统计,并通过network_visual_re进行定制化调整。 对于超过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(
"#FEEFE0"),
5
)#先用独立工具配个色
network_visual_re(
network_visual_obj = network_diff_obj,
module_paint = TRUE,
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)
# 模块组成的其他展示模式请阅读帮助文档
编辑|汪宁褀
排版|许家正
审核|韦中