α多样性主要关注局域均匀生境下的物种数目,因此也被称为生境内的多样性(within-habitatdiversity)。群落生态学中研究微生物多样性,通过单样品的多样性分析(α多样性)可以反映微生物群落的丰度和多样性,包括一系列统计学分析指数估计环境群落的物种丰度和多样性。
α分类有多种,分别表达物种的丰富度、均匀度及多样性等。
多样性指数(Community Diversity)反映的是物种丰富度和均匀度的综合状况,常见的有Shannon、Simpson等。Shannon指数反映的是物种丰度与均匀度,与这两者均呈正相关;Simpson指数为在样本中抽取两条序列属于不同种的概率。Shannon指数越高表明α多样性越高,而Simpson相反(但当前很多Simpson是1-x)。
丰富度指数(Community Richness)反映的是群落内物种的丰富程度,常见的有Sobs、Chao、ACE等。Sobs为该样本实际包含的OTU(或ASV等)的物种数目。而Chao为修正后的物种数目。(有的文章中Sobs也称Richness)
Chao1 = Sobs + n1(n1-1)/2(n2+1) ,其中n1为只有1条的OTU数目,n2为只有两条的OTU数目。
基于丰度的覆盖估计值(Abundance-based Coverage Estimator, ACE)是用来估计群落中含有OTU 数目的指数。默认将序列量10以下的OTU定义为稀有并单独计算,从而估计群落中实际存在的物种数。ACE指数越大,表明群落中物种数目越大。
均匀度指数(Community Evenness)反映的是群落内物种的分配状况,也即各物种相对丰度的均匀程度,在同一群落内与丰富度指数呈正相关,常见的有Pielou等。Pielou的均匀度指数(Pielou’s Evenness Index)其实就是香农指数与Observed OTU/ASV对数的比值。
接下来上代码!
#先加载可能需要的所有包。
library(vegan)
#加载数据
df = read.delim("C:/Users/Shizhe Zhang/", row.names=1,header = T, sep = "t")
#可以查看用法
#?diversity()
Shannon = diversity(df, index = "shannon", MARGIN = 2, base = exp(1)) #MARGIN决定横竖,base为底,此处为e
Simpson = diversity(df, index = "simpson", MARGIN = 2, base = exp(1))
Richness = specnumber(df, MARGIN = 2) # Sobs
#以数字形式统计成表格并合并
result1 = as.data.frame(cbind(Shannon, Simpson, Richness))
#转置+取整(ceiling向上取整,trunc去除小数部分,floor向下取整,round四舍五入),接下来的分析需要全为整数。
tdf=ceiling(as.data.frame(t(df)))
result2 = t(estimateR(tdf))
result2 = obs_chao_ace[rownames(result1),] #同一行名
#合并结果
result1$Chao1 = result2[,2]
result1$Ace = result2[,4]
result1$pielou = Shannon/log(Richness,2)
#Goods _coverage是指微生物覆盖率,其数值越高,则样本中新物种没有被测出的概率越低,该指数实际反映了本次测序结果是否代表样本的真实情况
result1$Goods_coverage = 1 - colSums(df ==1) / colSums(df)
#添加分组
group = read.delim("C:/Users/Shizhe Zhang/", header = T,row.names=1)
colnames(group)[1:2]= c('regions','species') #更改分组名
group=group[rownames(result1),] #统一行名
result1$rigions=group[,1]
df格式如下:
group格式如下:
本文发布于:2024-02-02 11:51:54,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170684591243612.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |