微生物群落构建(community assembly)

Introduction

Zhou, J. & Ning, D. Stochastic Community Assembly: Does It Matter in Microbial Ecology? Microbiol Mol Biol Rev 81, e00002-17 (2017).
This review is very comprehensive (1)!

周集中老师实验室的长期研究兴趣集中在从基因组到生态系统的不同组织层面的环境微生物学,其中一项就是宏基因组学和微生物生态学:利用高通量基因组测序和相关基因组学技术检查不同栖息地的微生物群落多样性、微生物生物地理学和形成微生物多样性模式、分布和动态的机制;

Understanding the mechanisms controlling community diversity, functions, succession, and biogeography is a central, but poorly understood, topic in ecology, particularly in microbial ecology. Traditional niche-based theory hypothesizes that deterministic factors such as species traits, inter-species interactions (e.g., competition, predation, mutualisms, and trade-offs), and environmental conditions (e.g., pH, temperature, salt, and moisture) govern community structure, which are often referred to as deterministic processes.

In contrast, neutral theory assumes that community structures are independent of species traits and governed by stochastic processes of birth, death, colonization, extinction, and speciation.

Although, recently, it has been generally accepted that both deterministic and stochastic processes occur simultaneously in the assembly of local communities, a central debate is on their relative importance in controlling community structure, succession, and biogeography.

Methods

目前在文章中普遍出现的计算群落构建的方法主要有三套:

1.Stegen (βNTI & RCbray-based)

原始的文章 (2), (3)

在确定性与随机性二分法的背景下塑造微生物群落多样性的生态过程。该方案显示了在文中讨论的假设下,基于系统发育和分类多样性划分各种生态过程的不同步骤。 NTI(最近分类单元指数)基于系统发育多样性指数 MNTD(平均最近分类单元距离)的空模型检验,RCBray(修正的 Raup-Crick 指数)基于 Bray-Curtis 的空模型检验分类多样性指数。这两个框分别表示确定性选择和未支配部分的主要组成部分。除了影响较小的选择外,未支配部分的弱选择也可能是由于抵消了有影响的选择因素和/或不同分类群的对比选择。该图主要是根据 Stegen 等人先前报告的数据制作的。

beta-NTI(nearest taxon index):

使用 NTI/NRI 指示单个群落内共存的分类单元相比偶然预期的关系更为紧密还是分散,使用 βNTI/βNRI 指示两两群落间的变化受确定性或随机性因素影响的大小。
MNTD 即mean-nearest-taxon-distance (最近种间平均进化距离) , 关于 NTI/NRI、βNTI/βNRI 的结果解释时其显著性的判断依据是其临界值是否大于|2|,实际上这是依据标准正态分布的 95%置信区间得到的,一般认为 NRI 或者 NTI 大于 1.96 或者小于-1.96 的结果,在 95%的水平是显著的。

RCbray: 相异指数的一种。

code

https://blog.csdn.net/weixin_43367441/article/details/118515090

非常重要的一点:这类方法是基于系统发育树推断的,所以一定要有跟tax表对应的系统发育树。 但事实上,除非用的是16S/ITS测序,否则我们很难给自己的数据建一个树。 所以,替代方法是利用阶层分类关系(界门纲目科属种)来做一个拟系统发育树(枝长都为1) 参见自己写的df2tree函数

data(otutab)
df2tree(taxonomy)->phylo

#计算
nti_rc(otutab,phylo,metadata[,"Group",drop=F])->nti_res
## [1] "Result saved as nti_rc_res.rda"
#可视化
nti_res$type=factor(nti_res$type,levels = c("Homo_S","Heter_S","Homo_D","D_limit","Undominated"))
table(nti_res$type,nti_res$variable)%>%reshape2::melt()->com_p
colnames(com_p)=c("type","variable","n")
ggplot(com_p,aes(x=variable,y=n))+geom_bar(stat = "identity",aes(fill=type),position = "fill")
iCAMP

现在大家经常用的iCAMP包就是基于这个理论框架进行分析的 (4)。

2.ST,NST,MST (stochasticity ratio)

PNAS:NST方法定量生态过程中的随机性

周老师的文章,开发出新的方法对生态过程中的随机性进行了定量。提出了一个新的指数,normalized stochasticity ratio (NST),作为确定性主导(deterministic, <50%)和随机性主导(stochastic, >50%)的边界点 (5)。

code

已经有相应的包了,NST

#install.packages("NST")
library(NST)

data(tda)
comm=tda$comm
bray=beta.g(comm,dist.method="bray")
bray.3col=dist.3col(bray)
group=tda$group

tnst=tNST(comm=comm, group=group, rand=20,
          output.rand=TRUE, nworker=1)
#检验各组ST、NST的分布情况及各组ST、NST差异的显著性。
nst.bt=nst.boot(nst.result=tnst, group=NULL, rand=99,
                trace=TRUE, two.tail=FALSE, out.detail=FALSE,
                between.group=FALSE, nworker=1)
#ST和NST组间进行Permutational multivariate ANOVA
nst.pova=nst.panova(nst.result=tnst, rand=99)

#可视化
pcutils::group_box(tnst$index.pair.grp,col = 8,group = tnst$index.pair.grp$group)
example

地下水微生物群落演替过程中估计的 NST 动态变化对乳化植物油注入的响应。 NST 是基于 (A) Jaccard 和 (B) Ru ziˇ cka 指标使用空模型算法 PF 计算的。在零模型 PF 中,类群发生的概率与观察到的发生频率成正比,并且每个样本中的类群丰富度是固定的(19)。当使用基于丰度的指标 Ru ziˇ cka 时,每个样本中的空分类群丰度被计算为观察到的个体数量的随机抽取,其概率与样本中空分类群的区域相对丰度成比例(26)。 W8 是植物油对其没有影响或影响最小的对照井。

3.Solan NCM

只有当物种死亡或离开这个系统时,群落结构才会发生改变。此时,离开个体的生态位就会空余出来,其它个体会通过来自群落外的迁移群落内部的繁殖来填补空出的生态位。因此可以把群落的动态描述为死亡——繁殖/扩散——死亡这样的循环 (6)。

计算公式:

- P r ( N i + 1 N i ) = ( N T − N i N T ) [ m p i + ( 1 + α i ) ( 1 − m ) ( N i N T − 1 ) Pr(\frac{N_i+1}{N_i})=(\frac{N_T-N_i}{N_T})[mp_i+(1+\alpha_i)(1-m)(\frac{N_i}{N_T-1}) Pr(NiNi+1)=(NTNTNi)[mpi+(1+αi)(1m)(NT1Ni)

- P r ( N i N i ) = N i N T [ m p i + ( 1 + α i ) ( 1 − m ) ( N i − 1 N T − 1 ) ] + ( N T − N i N T ) [ m ( 1 − p i ) + r e d ( 1 − α i ) ( 1 − m ) ( N T − N i − 1 N T − 1 ) ] Pr(\frac{N_i}{N_i})=\frac{N_i}{N_T}[mp_i+{(1+\alpha_i)}(1-m)(\frac{N_i-1}{N_T-1})]+(\frac{N_T-N_i}{N_T})[m(1-p_i)+{red}{(1-\alpha_i)}(1-m)(\frac{N_T-N_i-1}{N_T-1})] Pr(NiNi)=NTNi[mpi+(1+αi)(1m)(NT1Ni1)]+(NTNTNi)[m(1pi)+red(1αi)(1m)(NT1NTNi1)]

- P r ( N i − 1 N i ) = N i N T [ m ( 1 − p i ) + ( 1 − α i ) ( 1 − m ) ( N T − N i N T − 1 ) ] Pr(\frac{N_i-1}{N_i})=\frac{N_i}{N_T}[m(1-p_i)+(1-\alpha_i)(1-m)(\frac{N_T-N_i}{N_T-1})] Pr(NiNi1)=NTNi[m(1pi)+(1αi)(1m)(NT1NTNi)]

物种 i 占居的频率(occurrence frequency: row sums of binary OTU table/number of sites)为其概率密度函数的积分。 此时该分布是一个beta分布,我们就可以在R语言中利用beta分布对其进行[拟合],获得参数m的评估值。

code
library(devtools)
install_github("Russel88/MicEco")
library(MicEco)
neutral.fit(t(otutab))#使用的是最大似然估计拟合模型,R2计算方法也不同

另一个代码来自https://mp.weixin.qq.com/s/opFXl-TvkJfmPcWKFwhCFA,比较经典,用的是非线性模型:

N描述了宏群落规模(metacommunity size),在本文中为每个样本中所有OTU的总丰度。 m量化了群落层面的迁移率(migration rate),该值对于每个群落成员都是统一的(与物种无关),m值越小说明整个群落中物种扩散越受限制,反之m值越高则表明物种受到扩散限制越低。 Nm是元群落规模(N)与迁移率(m)的乘积 (Nm = N*m),量化了对群落之间扩散的估计,决定了发生频率和区域相对丰度之间的相关性。

自己的绘图代码:

data(otutab)
ncm(otutab)->ncm_res
plot(ncm_res)

R2代表了中性群落模型的整体拟合优度,R2越高表明越接近中性模型,即群落的构建受随机性过程的影响越大,受确定性过程的影响越小。

值得注意,R方不是某个数值的平方,可以是负值。因为拟合程度没有下限,可以无限差,R方的范围是(−∞,1]。R方的取值,有以下的可能性:

  • 等于1。理想状况,该模型对所有的真值预测准确,没有偏差。泼个冷水,如果某篇文章里出现了R方=1,要么是问题过于简单没有研究价值,要么是模型过于复杂,对数据进行了过度拟合。

  • 小于1大于0。这是常见状况,表明该模型的拟合水平比均值模型好。

  • 等于0。该模型的拟合水平接近于均值模型。该模型没有价值。

  • 小于0。该模型的拟合水平不如均值模型。同样,该模型没有价值。

example

**随机过程,例如散布、出生、死亡、灭绝和移民,在呼气细菌和真菌群落的组装中发挥作用。**真菌微生物群的 SNM 拟合性能(图 2)优于细菌(细菌 R2 = 0.353,真菌 R2 = 0.683)。这种差异表明随机过程对于 EBC 真菌群落的组装可能相对更重要,而对 EBC 细菌群落的组装则不太重要。这种现象可能与细菌和真菌之间的大小差异有关,较小的细菌受扩散限制的影响较小,而受确定性过程的影响更大 (7)。

Stochastic processes played a role in assembling expiratory bacterial (A) and fungal (B) communities based on Sloan neutral model fitting. The black solid line represents the best fit, and the dotted lines represent the 95% CI (confidence interval) around the model fit. The blue dots refer to taxa that occur more frequently than predicted, and the red dots refer to taxa that occur less frequently than predicted. The green dots refer to taxa that occur in a manner consistent with predicted values.

原核生物细胞直径大概在0.5 ~ 2.0 μm; 微真核生物个体大小大概在1 ~ 200 mm; 之前的研究已经报道了较小的生物不太可能受到扩散限制的影响,因为它们与较大的生物相比具有更高的扩散能力。因此假设在细菌群落中生态位过程的相对影响可能比在微真核生物群落中更强。微真核生物个体大,可能会影响其扩散过程。

Others

参考自历神公众号文章:https://mp.weixin.qq.com/s/nwNuPlY7x6VScJA44c0MjQ

Competitive lottery

基于竞争彩票模型(competitive lottery model)的群落构建 假设一个两步模型:在第一步中,样本的总丰度(100%)根据某个未知的过程在组之间分配。 然后在第二步中,分配给每个小组的丰度会根据一个竞争彩票模式在小组成员之间进行分配。 竞争彩票模型的概念说明:

在第一阶段,每个样本的总丰度(100%)在一组预定义的组之间进行分割。

在第二阶段,每一组的丰度分配根据竞争彩票模型在子组之间进行分配,其中一个子组获得了大部分的丰度。

DNCI

在PER-SIMPER方法的基础上,提出了一个新的度量指标: dispersal–niche continuum index (DNCI),该指数可估计是扩散过程还是生态位过程主导群落的构建,并便于不同数据集之间的比较。

PER-SIMPER利用物种在不同站点之间的矩阵,在排列过程中生成三种不同的零模型: 通过约束行(生态位构建)、约束列(扩散构建)或两者都约束。 PER-SIMPER利用SIMPER方法对原始群落矩阵组成相似度模式进行建模,并与三个零模型比较。 PER-SIMPER通过识别哪个零模型与经验分析最匹配来进行定性评估。然而,大多数群落都是由生态位和扩散过程共同构成的,这限制了构建机制定性方法的敏感性。此外简单决策过程的定性特性使不同群落之间的构建过程难以进行精确比较。

PER-SIMPER分析返回三个E-metric分布,这与SIMPER经验值与三个PER-SIMPER零模型之间的偏差相关。本文提出的新的DNCI是由这些计算的E值推导而来的。 定量结果是基于标准效应量En(即来自”生态位”模型的E-metric分布)减去标准效应量Ed (即来自”扩散”模型的E-metric分布)。 DNCI提供了一种方法来量化和比较跨数据集构建过程的强度。DNCI值正或负表明生态位或分散过程分别是群组构建的主要过程。指数的绝对值越高,代表占主导地位的构建过程的潜力越大。
D N C I = S E S d − S E S n = 1 n ∑ i = 1 n ( E d ( i ) − E d n ‾ σ E d n ) − 1 n ∑ i = 1 n ( E n ( i ) − E d n ‾ σ E d n ) DNCI=SES_d-SES_n=\frac{1}{n}\sum_{i=1}^n\left(\frac{E_{d(i)}-\overline {E_{dn}}}{\sigma E_{dn}}\right)-\frac{1}{n}\sum_{i=1}^n\left(\frac{E_{n(i)}-\overline {E_{dn}}}{\sigma E_{dn}}\right) DNCI=SESdSESn=n1i=1n(σEdnEd(i)Edn)n1i=1n(σEdnEn(i)Edn)

如果DNCI与0差异不显著,则可以认为扩散过程和生态位过程对群落构建的影响是相等的。 当DNCI显著低于0时,扩散过程是群落构建的主导驱动因素; 如果DNCI显著高于0,生态位过程是群落构建的主要决定因素。 注意,表明扩散过程优势的负DNCI值并不能提供实际扩散速率的信息。

References

1. J. Zhou, D. Ning, Stochastic Community Assembly: Does It Matter in Microbial Ecology? Microbiology and Molecular Biology Reviews. 81, e00002–17 (2017).

2. J. C. Stegen, X. Lin, J. K. Fredrickson, X. Chen, D. W. Kennedy, C. J. Murray, M. L. Rockhold, A. Konopka, Quantifying community assembly processes and identifying features that impose them . The ISME Journal. 7, 2069–2079 (2013).

3. J. C. Stegen, X. Lin, A. E. Konopka, J. K. Fredrickson, Stochastic and deterministic assembly processes in subsurface microbial communities . The ISME Journal. 6, 1653–1664 (2012).

4. D. Ning, M. Yuan, L. Wu, Y. Zhang, X. Guo, X. Zhou, Y. Yang, A. P. Arkin, M. K. Firestone, J. Zhou, A quantitative framework reveals ecological drivers of grassland microbial community assembly in response to warming . Nature Communications. 11, 4717 (2020).

5. D. Ning, Y. Deng, J. M. Tiedje, J. Zhou, A general framework for quantitatively assessing ecological stochasticity . Proceedings of the National Academy of Sciences. 116, 16892–16898 (2019).

6. W. T. Sloan, M. Lunn, S. Woodcock, I. M. Head, S. Nee, T. P. Curtis, Quantifying the roles of immigration and chance in shaping prokaryote community structure . Environmental Microbiology. 8, 732–740 (2006).

7. Y. Zhang, F. Shen, Y. Yang, M. Niu, D. Chen, L. Chen, S. Wang, Y. Zheng, Y. Sun, F. Zhou, H. Qian, Y. Wu, T. Zhu, Insights into the Profile of the Human Expiratory Microbiota and Its Associations with Indoor Microbiotas . Environmental Science & Technology. 56, 6282–6293 (2022).

![关注公众号,获取最新推送](https://img-blog.csdnimg.cn/img_convert/1cbc6d0e6b5833fb6b31b2060cf60531.png)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/600948.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ZIP压缩输出流(将ZIP文件解压)

文章目录 前言一、ZIP压缩输出流是什么&#xff1f;二、使用介绍 1.使用方法2.实操展示总结 前言 该篇文章相对应的介绍如何使用java代码将各种文件&#xff08;文件夹&#xff09;从ZIP压缩文件中取出到指定的文件夹中。解压流将ZIP文件中的文件以条目的形式逐一读取&#xff…

WMS仓储管理系统库存分类的详细讲解

在当今日益复杂和快速变化的商业环境中&#xff0c;仓库管理成为了一个企业不可或缺的关键环节。WMS仓储管理系统解决方案凭借其自动化和信息化的优势&#xff0c;为企业带来了革命性的改变&#xff0c;特别是在库存分类方面。接下来&#xff0c;我们将深入探讨WMS仓储管理系统…

LLMs之GPT4ALL:GPT4ALL的简介、安装和使用方法、案例应用之详细攻略

LLMs之GPT4ALL&#xff1a;GPT4ALL的简介、安装和使用方法、案例应用之详细攻略 目录 GPT4ALL的简介 0、新功能 1、特点 2、功能 3、技术报告 GPT4ALL的安装和使用方法 1、安装 2、使用方法 GPT4ALL的案例应用 LLMs之LLaMA3&#xff1a;基于GPT4ALL框架对LLaMA-3实现…

【笔记】Anaconda命令提示符(Anaconda Prompt)操作

通过anaconda配置python环境有时需要conda安装一些包或者文件&#xff0c;这里作为一个笔记记录如何打开Anaconda命令提示符&#xff08;Anaconda Prompt&#xff09;&#xff0c;并用conda操作 1.打开Anaconda命令提示符&#xff08;Anaconda Prompt&#xff09; 可直接在搜…

如何获得一个Oracle 23ai数据库(RPM安装)

准确的说&#xff0c;是Oracle 23ai Free Developer版&#xff0c;因为企业版目前只在云上&#xff08;OCI和Azure&#xff09;和ECC上提供。 方法包括3种&#xff0c;本文介绍第2种&#xff1a; Virtual ApplianceRPM安装Docker RPM安装支持Linux 8和Linux 9。由于官方的Vi…

人工智能|机器学习——强大的 Scikit-learn 可视化让模型说话

一、显示 API 简介 使用 utils.discovery.all_displays 查找可用的 API。 Sklearn 的utils.discovery.all_displays可以让你看到哪些类可以使用。 from sklearn.utils.discovery import all_displays displays all_displays() displays Scikit-learn (sklearn) 总是会在新版本…

Stack数据结构设计模板

第三章 栈、队列、数组 1.栈 1.1 顺序栈 #define MaxSize 20 typedef int ElemType; //顺序栈的定义 typedef struct {ElemType data[MaxSize];int top; }SqStack; // 初始化顺序栈 void InitSqStack(SqStack &S){S.top -1; }; // 入栈(增) bool Push(SqStack &S,El…

推荐5个免费的国内平替版GPT

提起AI&#xff0c;大家第一个想到的就是GPT。 虽然它确实很厉害&#xff0c;但奈何于我们水土不服&#xff0c;使用门槛有些高。 不过随着GPT的爆火&#xff0c;现在AI智能工具已经遍布到各行各业了&#xff0c;随着时间的推移&#xff0c;国内的AI工具也已经“百花盛放”了…

【R语言从0到精通】-4-回归建模

通过之前的文章&#xff0c;我们已经基本掌握了R语言的基本使用方法&#xff0c;那从本次教程开始&#xff0c;我们开始聚焦如何使用R语言进行回归建模。 4.1 回归简介 回归分析是一种统计学方法&#xff0c;用于研究两个或多个变量之间的相互关系和依赖程度。它可以帮助我们了…

Java性能优化(一):Java基础-ArrayList和LinkedList

引言 集合作为一种存储数据的容器&#xff0c;是我们日常开发中使用最频繁的对象类型之一。JDK为开发者提供了一系列的集合类型&#xff0c;这些集合类型使用不同的数据结构来实现。因此&#xff0c;不同的集合类型&#xff0c;使用场景也不同。 很多同学在面试的时候&#x…

数控六面钻适用场景-不止家具制造

在快节奏的现代生活中&#xff0c;家具作为我们生活的重要组成部分&#xff0c;其美观度和实用性日益受到人们的关注。而在这背后&#xff0c;一个不可或缺的“工匠”正默默地发挥着它的作用——那就是数控六面钻。 数控六面钻&#xff0c;顾名思义&#xff0c;是一种高度自动…

OS复习笔记ch5-2

引言 在上一篇笔记中&#xff0c;我们介绍到了进程同步和进程互斥&#xff0c;以及用硬件层面上的三种方法分别实现进程互斥。其实&#xff0c;软件层面上也有四种方法&#xff0c;但是这些方法大部分都存在着一些问题&#xff1a; “上锁”与“检查”是非原子操作&#xff0…

error: pathspec ‘XXX‘ did not match any file(s) known to git

使用vscode&#xff0c;在本地开发切换分支时&#xff0c;报以下错误&#xff1a; error: pathspec XXX did not match any file(s) known to git 该问题是由于没有对应分支的原因。 首先使用一下命令&#xff0c;查看本地及远程的所有分支。 git branch -a 若没有对应的分…

47.Redis学习笔记

小林coding -> 图解redis的学习笔记 文章目录 Rediswindwos安装docker安装redis启动redis使用RDM访问虚拟机中的redispython连接redis缓存穿透、击穿、雪崩基本数据类型高级数据类型高并发指标布隆过滤器分布式锁Redis 的有序集合底层为什么要用跳表&#xff0c;而不用平衡…

谷歌推出10门免费AI课程,无需教科书及费用

谷歌面向小白以及开发者分别推出了不同的AI课程~ 包含初级、中级和高级。课程章节大致包括&#xff1a;&#xff08;含教学视频、参考材料、测验&#xff09; 基础入门&#xff1a;45分钟深入了解生成式AI 简单实操&#xff1a;30分钟掌握大语言模型 了解如何释放生成式 AI S…

基于小程序实现的投票评选系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…

CSS选择器(基本+复合+伪类)

目录 CSS选择器 基本选择器 标签选择器&#xff1a;使用标签名作为选择器->选中同名标签设置样式 类选择器&#xff1a;给类选择器定义一个名字.类名&#xff0c;并给标签添加class"类名" id选择器&#xff1a;跟类选择器非常相似&#xff0c;给id选择器定义…

数据库数据恢复—SQL Server数据库ndf文件变为0KB的数据恢复案例

SQL Server数据库故障&#xff1a; 存储设备损坏导致存储中SQL Server数据库崩溃。对数据库文件进行恢复后&#xff0c;用户发现有4个ndf文件的大小变为0KB。该SQL Server数据库每10天生成一个大小相同的NDF文件&#xff0c;该SQL Server数据库包含两个LDF文件。 SQL Server数据…

Node.js里面 Path 模块的介绍和使用

Node.js path 模块提供了一些用于处理文件路径的小工具&#xff0c;我们可以通过以下方式引入该模块&#xff1a; var path require("path") 方法描述 序号方法 & 描述1path.normalize(p) 规范化路径&#xff0c;注意.. 和 .。2path.join([path1][, path2][,…

将矩阵按对角线排序(Lc1329)——排序

矩阵对角线 是一条从矩阵最上面行或者最左侧列中的某个元素开始的对角线&#xff0c;沿右下方向一直到矩阵末尾的元素。例如&#xff0c;矩阵 mat 有 6 行 3 列&#xff0c;从 mat[2][0] 开始的 矩阵对角线 将会经过 mat[2][0]、mat[3][1] 和 mat[4][2] 。 给你一个 m * n 的整…