https://gitee.com/bioinfoFungi/amplicon
http://www.drive5.com/usearch/manual/alpha_metrics.html
usearch -alpha_div results/otutab_rare.txt \ -output results/alpha/alpha.txt
otutab
library(vegan) suppressMessages(library(tidyverse)) species = read.table("https://gitee.com/bioinfoFungi/amplicon/raw/master/results/otutab.txt", header=T, sep="\t", quote = "", row.names=1, comment.char="") set.seed(1) # min(colSums(species)) 抽样数使用最小值,或指定抽样数 depth <- 10000 # vegan::rrarefy抽平至最小值或指定值 otu = vegan::rrarefy(t(species), depth) # 筛选大于抽样数量的样本 idx = rowSums(otu) >= depth # 丢弃的样本列表 # rownames(otu[!idx,]) # 筛选大于抽样数量的样本的特征表 otu = otu[idx,] ## Alpha diversity # vegan::estimateR计算obs, chao1和ACE指数 estimateR = t(estimateR(otu))[,c(1,2,4)] colnames(estimateR) = c("richness", "chao1", "ACE") # vegan::diversity计算多样性指数shannon, simpson和invsimpson shannon = diversity(otu, index = "shannon") simpson = diversity(otu, index = "simpson") invsimpson = diversity(otu, index = "invsimpson") # 合并6种指数 alpha_div = cbind(estimateR, shannon, simpson, invsimpson) alpha_div
vegan