首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >NC:多样性引发的确定性细菌组装限制了群落功能

NC:多样性引发的确定性细菌组装限制了群落功能

作者头像
Listenlii-生物信息知识分享
发布2020-06-01 16:40:05
发布2020-06-01 16:40:05
1.2K0
举报

Link: https://www.nature.com/articles/s41467-019-11787-5

Journal: Nature Communications

IF: 11.878

Published: 23 August 2019

First author: Weibing Xun

Corresponding author: Qirong Shen & Ruifu Zhang

Department: Nanjing Agricultural University (南京农业大学)

很多研究表明了α多样性对生态功能具有正向的影响。但是目前对β多样性这方面的研究还很少。

本文针对确定性或随机性的群落构建组成的细菌群落的β多样性与生态功能之间的关系进行了研究。

结果表明随机过程在高多样性群落中占主导地位,确定性过程在低多样性群落中占主导地位,这与特定细菌类群相关的特殊功能的减少有关。

作者认为低多样性的确定性群落装配过程可能限制群落功能。

建立了252个土壤微环境实验(Soil microcosms),包括:

5个pH梯度(4.5,5.5, 6.5, 7.5, and 8.5);

土壤稀释为4个梯度;

2种土壤类型混合:黑土和红土;

单独的两种土壤;

6个技术重复;

[(5 pH levels × 4 dilution levels × 2 soil types +2 initial soils) × 6 replicates]

DNA扩增16S rRNA gene V4区。Illumina MiSeq测序,UPARSE pipeline分析,去掉singleton。对于16S数据,resample number为11,020。

与此同时,Illumina HiSeq 2000 platform进行宏基因组测序。

结果

NMDS:

pH、土壤类型、对土壤进行稀释都会改变群落的结构。

|βNTI|<2为随机过程;反之为确定性过程。

稀释土壤、改变pH对βNTI都会有影响。其中shannon和βNTI呈负相关关系。

随着稀释倍数增加,群落多样性减少,趋于确定性过程。群落中具有特异性功能的菌群丰度下降,而具有广泛功能的丰度上升。

不同PH条件下群落装配过程的不同,及功能性的差异。pH从中性向极端变化时,群落趋于确定性过程。多样性越高越趋于随机性过程。

参考材料中有计算βNTI的代码可供参考:

代码语言:javascript
复制
rm(list=ls()) 
data.set.name = 'test'  
setwd("E:/NTI_files") 
library(picante) 
# read in a rarefied OTU table with all OTUs have abundance of 1 or greater. 
otu = as.data.frame(read.table(paste(data.set.name,"_rarefied_otu.txt",sep=""),header=T,row.names=1));  
# species as rows, samples as columns for otu table
# read in phylo and match 
phylowb = read.tree(paste(data.set.name,"_phylo_tree.nwk",sep="")) 
phylowb 
match.phylowb.otu = match.phylowb.data(phylowb, t(otu)) 
str(match.phylowb.otu)  
write.tree(match.phylowb.otu$phy,paste(data.set.name,"_matched_tree_to_rarified_ot u.tre",sep=""))
phylowbMatch = read.tree(paste(data.set.name,"_tree_matched_to_rarified_otu_table.tre",sep="")) 
phyloMatch 
match.phylowbMatch.otu = match.phylowbMatch.data(phylowbMatch, t(otu)) str(match.phylowbMatch.otu) 
beta.mntd.weighted = as.matrix(comdistnt(t(match.phylowbMatch.otu$data),cophenetic(match.phylowbMat ch.otu$phy),abundance.weighted=T)); 
dim(beta.mntd.weighted); 
beta.mntd.weighted[1:5,1:5]; 
write.csv(beta.mntd.weighted,'betaMNTD_weighted.csv',quote=F); 
identical(colnames(match.phylowbMatch.otu$data),colnames(beta.mntd.weighted)); 
# Just checking and should be TRUE 
identical(colnames(match.phylowbMatch.otu$data),rownames(beta.mntd.weighted)); 
# Just checking and should be TRUE 
# calculate randomized betaMNTD 
beta.reps = 999; # number of randomizations 
random.weighted.bMNTD.comp = array(c(-999),dim=c(ncol(match.phylowbMatch.otu$data),ncol(match.phylowbMatch. otu$data),beta.reps)); 
dim(random.weighted.bMNTD.comp); 
for (rep in 1:beta.reps) { 
  random.weighted.bMNTD.comp[,,rep] = as.matrix(comdistnt(t(match.phylowbMatch.otu$data),taxaShuffle(cophenetic(match. phylowbMatch.otu$phy)),abundance.weighted=T,exclude.conspecifics = F)); 
  print(c(date(),rep)); 
} 
weighted.bNTI = matrix(c(NA),nrow=ncol(match.phylowbMatch.otu$data),ncol=ncol(match.phylowb Match.otu$data)); 
dim(weighted.bNTI); 
for (columns in 1:(ncol(match.phylowbMatch.otu$data)-1)) {   
for (rows in (columns+1):ncol(match.phylowbMatch.otu$data)) { 
random.vals = random.weighted.bMNTD.comp[rows,columns,];     
weighted.bNTI[rows,columns] = (beta.mntd.weighted[rows,columns] - mean(random.vals)) / sd(random.vals);    
rm("random.vals"); 
  }; 
}; 
rownames(weighted.bNTI) = colnames(match.phylowbMatch.otu$data); 
colnames(weighted.bNTI) = colnames(match.phylowbMatch.otu$data); 
weighted.bNTI; 
write.csv(weighted.bNTI,"weighted_bNTI.csv",quote=F); 

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Listenlii 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档