微生物联合挖掘教程连载-PC-9-Correlation network analysis(相关和网络分析)

文摘   科学   2024-09-26 16:14   江苏  

主编寄语

微生物组发展到现在,相关分析技术和体系已经十分成熟,而微生物组数据的分析方法更是各式各样,我们借助“R语言在微生物组的最佳实践”这篇之前我们发表的论文带领大家从简单到困难,从基础到流程,从单一功能到组合功能,从上游分析到下游分析的全部代码。全套流程全部借助于Rstudio作为平台,在win和linux和mac下都可以完善运行,大家可以自己准备相关硬件资源,跟着我们这批教程进行全面学习。

这篇综述是我们小组在2023年发表在protein cell 期刊,整体内容几乎囊括了微生物组数据分析的全部内容,代码脚本有2w+行,全部属于公开分享阶段,但由于内容很多,为了方便大家理解和使用学习,这里选择分期带大家运行。

微生信生物分享的这批内容经过如下步骤:

同学A进行代码整理运行,基础注释书写,形成分享稿件的基本样貌;

同学B对代码复现一遍,解决其中无法顺利运行的地方,以及再次注释内容无法让自己明白的地方,完善分享稿件;

同学C再次运行一遍,进行全部流程代码学习,继续注释自己不明白的地方,最终形成完善分享稿件。


我们希望通过这个教程带领需要学习的小伙伴开启全民免费学习微生物组联合挖掘时代。给大家尽量做高质量的教程;

写在前面

“R语言在微生物组的最佳实践”的综述流程,我们已经学习了8节,今天我们继续开始前面的基础分析

今天继续带大家学习一下:网络分析

需要注意的是:每次分析之前,需要加载”数据分析准备“ 这一节的代码,才可以开始下游分析

这次的分享内容希望能够帮助大家更加深入的挖掘自己的数据,给大家带来分析数据的便捷,同时也欢迎大家可以引用我们的文章。

下面是文章的具体信息:

Wen, T., et al., The best practice for microbiome analysis using R. Protein & Cell, 2023. 14(10): p. 713-725.

文章链接:https://doi.org/10.1093/procel/pwad024

流程实践数据:https://github.com/taowenmicro/EasyMicrobiomeR

数据代码获取地址

数据地址:https://github.com/taowenmicro/EasyMicrobiomeR/tree/master/data

全套数据代码整套流程下载地址:https://github.com/taowenmicro/EasyMicrobiomeR/tree/master

实例介绍

以下图片来自“Root exudate chemistry affects soil carbon mobilization via microbial community reassembly”文章,于2022年发表于Fundamental Research,查看链接https://www.sciencedirect.com/science/article/pii/S266732582200070X#/sec0010

图例书写参考:
(h) Co-occurrence networks of the abundance OTU (> 1%). n, node. L, line. Edges represent significant Spearman correlations (ρ > |0.8|, p < 0.05). Light blue lines represent a significant negative correlation and light red lines represent a significant positive.

网络分析:主要基于==ggClusterNet ==R包

具体可以查看这篇文章 https://onlinelibrary.wiley.com/doi/full/10.1002/imt2.32#/

概念

网络分析在微生物组研究中是一种强大的工具,它允许研究者探索和理解微生物群落之间的复杂相互作用和关系。微生物组指的是一个特定环境或宿主中所有微生物的集合,包括细菌、古菌、真菌和病毒等。这些微生物之间存在着复杂的相互作用,包括共生、竞争、捕食和通讯等,这些相互作用对于微生物群落的稳定性和功能至关重要。

在微生物组研究中,网络分析通常涉及以下几个关键概念:

  1. 节点(Nodes):在网络中,节点通常代表微生物组中的个体微生物或微生物群体。每个节点可以具有不同的属性,如物种丰度、功能潜力或特定的生物学特征。

  2. 连接(Links):节点之间的连接(或边)代表微生物之间的相互作用。这些连接可以基于共现模式、基因表达相似性、代谢途径的相互作用或其他生物学关系。连接的强度可以反映相互作用的强度或频率。

  3. 网络结构(Network Structure):网络的整体结构可以揭示微生物群落的组织方式。例如,网络的聚类系数可以反映微生物群体内部的紧密程度,而网络的模块化可以揭示微生物群落中的子群体或功能群体。

  4. 网络功能(Network Function):通过网络分析,研究者可以探索微生物群落的功能特性。例如,关键物种的识别可以帮助理解哪些微生物对群落稳定性和功能至关重要,而网络的鲁棒性分析可以揭示群落在面对扰动时的恢复能力。

  5. 网络动态(Network Dynamics):网络分析还可以用于研究微生物群落随时间的动态变化。通过长期监测,可以分析微生物群落如何响应环境变化、宿主健康状况变化或其他外部因素。

  6. 环境因素(Environmental Factors):网络分析还可以揭示环境因素如何影响微生物群落的结构和功能。通过分析微生物与环境参数之间的关联,可以更好地理解环境变化对微生物群落的影响。

特点:

  1. 多尺度分析:网络分析能够同时考虑微生物组的不同层次,从单个基因到整个生态系统,为研究者提供了一个多尺度的分析框架。

  2. 复杂性处理:微生物组数据通常包含大量的物种和相互作用,网络分析能够有效地处理这种复杂性,揭示数据背后的模式和结构。

  3. 关系导向:网络分析侧重于微生物之间的相互作用和关系,而不仅仅是物种的丰度或存在性,这有助于理解微生物群落的功能和稳定性。

  4. 模块化和功能预测:通过网络分析,可以识别微生物组中的模块化结构,即相互紧密连接的微生物群体,这有助于预测群落的功能和对环境变化的响应。

  5. 动态性分析:网络分析可以揭示微生物组随时间的动态变化,帮助研究者理解微生物群落的演变过程和稳态机制。

用途:

  1. 生态系统健康评估:通过分析微生物组网络的结构和功能,可以评估生态系统的健康状况和生物多样性。

  2. 疾病诊断和治疗:在临床研究中,网络分析可以帮助识别与疾病相关的微生物群体和代谢途径,为疾病的诊断和治疗提供新的思路。

  3. 环境监测和管理:网络分析可以揭示环境因素如何影响微生物群落的结构和功能,为环境保护和管理提供科学依据。

  4. 进化研究:网络分析可以揭示微生物之间的共进化关系,为理解微生物的进化历史和适应性提供线索。

实践操作

这里只展示了两种布局,还有其他布局有兴趣的可以尝试一下,具体可以参考上面ggClusterNet的文章。

network analysis-1(网络分析1)

ps = readRDS("./data/dataNEW/ps_16s.rds")
netpath = paste(otupath,"/network2/",sep = "")dir.create(netpath)
library(igraph)library(sna)library(phyloseq)library(ggClusterNet)
result = ggClusterNet::network.2(ps = ps, N = 500, big = TRUE, maxnode = 5, select_layout = TRUE, layout_net = "model_maptree2", r.threshold=0.6, p.threshold=0.05, label = FALSE, path = netpath, zipi = F, ncol = gnum, nrow = 1, # method = "sparcc", fill = "Phylum")
# 全部样本的网络比对p4_1 = result[[1]] + mytheme1# 全部样本网络参数比对data = result[[2]]plotname1 = paste(netpath,"/network_all.pdf",sep = "")ggsave(plotname1, p4_1,width = 6*gnum,height = 6,limitsize = FALSE)# plotname1 = paste(netpath,"/network_all.jpg",sep = "")# ggsave(plotname1, p4_1,width = 16*gnum,height = 16)tablename <- paste(netpath,"/co-occurrence_Grobel_net",".csv",sep = "")write.csv(data,tablename)# 全部样本的网络比对p4_2 = result[[3]] + scale_fill_brewer(palette = "Paired") + mytheme1plotname1 = paste(netpath,"/network_all_cover.pdf",sep = "")ggsave(plotname1, p4_2,width = 10*gnum,height = 10,limitsize = FALSE)

network analysis-2(网络分析2)

netpath = paste(otupath,"/network_igraph/",sep = "")dir.create(netpath)# map = sample_data(ps)# map$Group = "one"# sample_data(ps16s) = maplibrary(igraph)library(ggnewscale)
result = network.i(ps = ps, N = 500, r.threshold=0.8, big = TRUE, select_layout = TRUE, method = "pearson", scale = FALSE, layout_net = "model_igraph2", p.threshold=0.05, label = FALSE, path = netpath , ncol = gnum, nrow = 1, zipi = FALSE, order = NULL)
p1 = result[[1]]
dat = result[[2]]tablename <- paste(netpath,"/co-occurrence_Grobel_net",".csv",sep = "")write.csv(dat,tablename)p = result[[5]]
plotname1 = paste(netpath,"/network_all.pdf",sep = "")ggsave(plotname1, p1,width = 3*gnum,height = 2.5,limitsize = FALSE)
plotname1 = paste(netpath,"/network_all2.pdf",sep = "")ggsave(plotname1, p,width = 6*gnum,height = 6,limitsize = FALSE)


这里的两个曲线红色代表了实体-关系(E-R)网络,和样品网络。样品网络的趋势与实体-关系(E-R)网络的趋势越相似,则表示具有高度相关性。

网络分析的图通常用于可视化复杂系统中的关系,以下是阅读网络分析图的一般步骤:

节点(Nodes):
节点代表网络中的实体,观察节点的数量和位置,以了解网络的规模和结构。

边(Edges):
边代表节点之间的关系或连接。
观察边的数量和权重,以了解节点之间的连接密度和强度。

网络密度(Network Density):
网络密度表示网络中实际连接的数量与可能连接的最大数量之间的比率。
高密度网络意味着节点之间存在大量连接,而低密度网络意味着连接相对稀疏。

社区结构(Community Structure):
社区结构表示网络中紧密连接的节点群体。
观察网络中是否存在明显的社区结构,以了解网络中的群体之间的联系。

节点标签(Node Labels):
节点标签可以是节点的名称、ID、属性等。
通过节点标签可以识别节点代表的实体,并理解它们之间的关系。

网络布局(Network Layout):
网络布局确定了节点在图中的位置。
常见的网络布局包括圆形布局、力导向布局、层次布局等。

本次运行内容结束,如果觉得有用的话,欢迎大家来引用我们的文章:Wen, T., et al., The best practice for microbiome analysis using R. Protein & Cell, 2023. 14(10): p. 713-725.

运行时的错误


还是会遇到上一期没有加载R包的问题,只需要找到函数对应的R包,并读取就可以。

根际互作生物学研究室 简介

根际互作生物学研究室是沈其荣院士土壤微生物与有机肥团队下的一个关注于根际互作的研究小组。本小组由袁军教授带领,主要关注:1.植物和微生物互作在抗病过程中的作用;2 环境微生物大数据整合研究;3 环境代谢组及其与微生物过程研究体系开发和应用。团队在过去三年中在 Nature Communications,ISME J,Microbiome,SCLS,New Phytologist,iMeta,Fundamental Research, PCE,SBB,JAFC(封面),Horticulture Research,SEL(封面),BMC plant biology等期刊上发表了多篇文章。欢迎关注 微生信生物 公众号对本研究小组进行了解。


撰写:牛国庆 文浩仰

修改:文涛

排版:杨雯儀

审核:袁军

团队工作及其成果 (点击查看)

了解 交流 合作



    • 小组负责人邮箱 袁军:junyuan@njau.edu.cn;

    • 小组成员文涛:taowen@njau.edu.cn等

    • 团队公众号:微生信生物 添加主编微信,或者后台留言。


    • 加主编微信 加入群聊

      目前营销人员过多,为了维护微生信生物3年来维护的超5500人群聊,目前更新进群要求:

      • 1.仅限相关专业或研究方向人员添加,必须实名,不实名则默认忽略。

      • 2.非相关专业的其他人员及推广宣传人员禁止添加。

      • 3.添加主编微信需和简单聊一聊专业相关问题,等待主编判断后,可拉群。

      • 微生信生物VIP微信群不受限制,给微生信生物供稿一次即可加入(群里发送推文代码+高效协助解决推文运行等问题+日常问题咨询回复)。

    • 团队关注

    • 团队文章成果

    • 团队成果-EasyStat专题

    • ggClusterNet专题

    • 袁老师小小组

根际互作生物学研究室
根际互作生物学研究室是沈其荣院士土壤微生物与有机肥团队下的一个关注于根际互作的研究小组。本小组由袁军教授带领,主要关注:1.植物和微生物互作在抗病过程中的作用;2 环境微生物大数据整合研究;3 环境代谢组及其与微生物过程研究体系开发和应用。