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

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

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

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

网络分析

根据不同的采样跨度,对群落进行网络分析可以揭示物种间潜在的相互作用(采样跨度小)或共发生模式(采样跨度大)。LorMe包基于封装对象(是否配置都可),对封装对象包括的所有样品,进行物种之间的spearman或者pearson共发生网络分析。分析结果将输出节点信息表(包括ZIPI、物种分类、节点拓扑性质等信息)、邻接关系表(以上两表可无缝衔接gephi和cytoscape软件)、邻接矩阵(可用于衔接网络稳定性等后续分析)、网络拓扑参数及igraph对象。在进行网络分析前,有一些注意事项:

  1. LorMe包已经优化了相关性矩阵生成算法以加快运行速度。以酷睿2双核i5处理器为例,不调用多线程的情况下,400个样品&10000个物种的16s样品相关性分析仅需不到2分钟。如以较新的电脑配置(i7-12核),计算600个样品超6W的物种的网络分析仅需不到30秒。尽管如此,网络分析时过多的节点(2000个以上)和边(10000个以上)依然会拖慢运行速度并影响可视化效果。因此,我们建议所有样品初次进行网络分析时,将‘threshold’参数调至0.95以上,将n参数调至样品数量的80%以上,将display参数调整至F进行预分析;随后根据控制台的网络拓扑参数下调threshold或n值。

  2. 对于宏基因组数据(尤其是kraken注释数据),由于物种数量较大且具有一定自相关性,需通过设置rel_threshold参数,按相对丰度进行数据过滤后进行网络分析。如,仅将平均相对丰度大于0.5%(rel_threshold设置为0.005)的物种纳入网络。

  3. 如对网络没有相关性阈值的特殊要求,我们建议通过调整合适的n值和threshold值,将右侧plot界面中的网络图形调整至类球形以进行更好可视化,类似这样:

  4. 理论上超过6个样本即可进行网络分析,实际为避免假阳性,请至少设置8个样本,并且我们推荐最好有10个样本以上。此外该功能基于封装对象内的所有样品进行网络分析,如需选择特定的处理,请通过sub_tax_summary 选择相应处理的样品,比如:

data("Two_group") CT<- sub_tax_summary(taxobj = Two_group, Group=="Control") #后续将taxobj参数指定为CT进行Control组内网络分析
示例代码
 ## 数据准备  library(LorMe)  data("Three_group") #使用内置示例数据
set.seed(999) #设置种子保证可复现性 ## 一键分析 network_results <- network_analysis( taxobj = Three_group, # 封装对象 taxlevel = "Genus", # 分析水平 n = 10, # 物种出现在样本中的数量阈值 threshold = 0.9, # 相关性值阈值 method = "spearman",# 相关性计算方法 rel_threshold = 0 # 纳入网络分析的物种平均丰度阈值 ) #此时控制台会打印网络的统计信息,plot界面会显示网络的简单可视化图形 ## 结果提取 ### 节点信息表 network_nodes <- network_results$Nodes_info head(network_nodes) #
### 邻接关系表 network_adjacency <- network_results$Adjacency_column_table head(network_adjacency)
### 邻接矩阵 network_matrix <- network_results$Adjacency_matrix print(network_matrix[1:10, 1:10])
### igraph 对象 igraph_object <- network_results$Igraph_object
### 网络拓扑属性 network_stat(igraph_object)

导出节点信息表和邻接关系表后,可以去交互式网络可视化软件gephi和cytoscape进行可视化(这两个软件生成的可视化图像颜值会高一些)。不想麻烦的话,LorMe包也提供了内置的可视化功能。

# 网络可视化 ## 极简模式  network_visual_obj <- network_visual(network_obj = network_results)
## 高亮节点数最多的10个模块 network_visual_obj <- network_visual( network_obj = network_results, major_num = 10, # 显示模块数量 palette = "Set1", # 色板名,默认值,可选 vertex.size = 6 # 点的大小,默认值,可选)


 ## 高亮节特定分类 network_visual_obj <- network_visual(    network_obj = network_results,    mode = "major_tax",             # 可视化模式    taxlevel = "Phylum",            # 映射的分类水平    select_tax = "p__Proteobacteria" # 指定映射物种  ) ### 配合community_plot高亮相对丰度前5的主要物种  community <- community_plot(  taxobj = Three_group,  taxlevel = "Phylum",  n = 5,  palette = "Paired"  )display_phyla <- names(community$filled_color) #提取主要物种
network_visual_obj <- network_visual( network_obj = network_results, mode = "major_tax", taxlevel = "Phylum", select_tax = display_phyla, palette = community$filled_color )


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



猜你喜欢


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

编辑|汪宁褀

排版|许家正

审核|韦中


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


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