Alpha多样性
通常用Richness,Chao1,Shannon,Simpson,Dominance和Equitability等指数来评估样本的物种多样性。
所以这个节学习主要分两个部分;
## 1 计算 α生物多样性指数
软件: R软件中vegan包
## 1 第一步输入数据整理成矩阵
>data = read.table(inputFile, header = T, sep = "\t", row.names = 1)
>head(data)
sp1 sp2 sp3 sp4 sp5 sp6 sp7
sample1 3 6 1 2 1 0 0
sample2 8 0 30 0 0 0 0
sample3 0 1 0 2 0 1 3
### 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.csv(Shannon, "$yourpath")
##Simpson指数值越大,说明群落多样性越高;Shannon指数越大,说明群落多样性越高
##Chao1值越大代表物种总数越多
以上是计算每个样品的alpha 多样性指数(即每个样品的sp的分布情况)
由于单个样品的多样性指数是不可以绘制箱线图,所以引入分组的概念;
Sample Group
sample1 A
sample2 A
sample3 B
sample4 B
sample5 C
sample6 C
## 2 根据上一步的数据以及分组信息,绘制箱线图
软件: R, ggplot2
以绘制Shannon箱线图为例子
## 1 输入数据整理成矩阵
>head(dataforDraw)
samples shannon groups
sample1 4.3 A
sample2 4.1 A
sample3 3.2 B
## 2 ggplot2 绘制box图
>p <- ggplot(dataforDraw, aes(x=groups, y=shannon),color=groups) +
geom_boxplot(aes(fill=factor(groups))) +
theme(axis.text.x=element_text(angle=50,hjust=0.5, vjust=0.5))
>p
箱线图 说明:从下到上展示的是最小值,第一四分位数 (箱子的下边线)、中位数 (箱子中间的线)、第三四分位数 (箱子上边线)、最大值,两端延长线外的数据为异常值
以上画图的有两点没有详细讲解,但需要注意:
① 输入数据的格式的整理(需要R 数据处理的基础)
②图形的美化
PS:读入数据并转换为ggplot2需要的长数据表格式,melt格式是ggplot2画图最喜欢的格式
继续努力