问题:usearch计算出来的多样性指标中没有eveness指标,R里边可以算,但觉得应该会有现成的。
解决:vegan包
1 第一步输入数据整理成矩阵
data = read.table(“otutab.txt”, header = T, sep = "\t", row.names = 1)
data=t(data)#如果格式不对的话需要转置
2 基于最小值进行重抽样标准,如果16数据通过single_rarefaction.py进行标化
dataR = rrarefy(data,min(rowSums(data)))
计算各Alpha多样性指数
library(vegan)
计算Shannon-Wiener指数
Shannon.wiener = diversity(dataR, "shannon")
计算Simpson指数
Simpson = diversity(divdata,"simpson")
计算Inverse Simpson指数
Inverse.Simpson = diversity(dataR, index = "inv")
计算物种累计数
S = specnumber(dataR)
计算Pielou均匀度指数
J = Shannon.Wiener / log(S)
计算chao1, ACE
ca = data.frame(estimateR(dataR))
数据保存,将上述数据保存为.csv文件
write.table(J, "Pielou.txt", append = FALSE, sep="\t", quote=F)
Simpson指数值越大,说明群落多样性越高;
Shannon指数越大,说明群落多样性越高
Chao1值越大代表物种总数越多
备注 python scikit包
http://scikit-bio.org/docs/latest/generated/skbio.diversity.alpha.html
qiime2可以计算
http://www.biostack.org/?p=598
网友评论