在生物群落的研究中,经常会使用物种群落间的距离来评估样本间物种群落的差异程度,这种群落间的距离就是beta多样性。
用来评估物种群落距离的beta多样性指数有很多种,其中最常用的是Bray-Crutis距离和Unifrac距离。
Bray-Crutis距离
Bray-Crutis距离在计算是同时考虑了物种在群落中是否存在以及物种在群落中的丰度,可以参考alpha多样性指数中的Shannon指数进行理解。
Bray-Crutis距离的计算结果在0-1之间,0代表两个样本的微生物群落没有任何差异,数值越接近1,两个样本微生物群落之间的差异越大。
Bray-Crutis距离计算
R语言vegan包中的vegidst()函数可以很方便的计算多种beta多样性距离。
用于计算Bray-Crutis距离的输入文件为抽平后各样品OTU的丰度表格。
library(vegan)
bray <- vegdist(otu,method = "bray")
计算得到的距离文件为dist类型,需要将其转换为矩阵,才能将其保存到本地并进行下一步绘图。
bray <- as.matrix(bray)
write.table(bray,"bray-crutis.txt",sep = "\t")
聚类热图绘制
我们使用pheatmap包根据计算的结果绘制一个聚类热图。
library(pheatmap)
library(RColorBrewer)
pheatmap(bray,color = colorRampPalette(brewer.pal(7,"RdYlBu"))(100))