查看原文
其他

基于R语言的微生物群落组成多样性分析—β多样性之PCoA分析

王志山 科研后花园 2023-09-08
戳蓝字“科研后花园”关注我哦!

引言
1

       PCoA,即主坐标分析(Principal Coordinates Analysis),是一种用于研究样本微生物群落组成相似性或差异性的数据降维分析方法。PC1 和PC2 是两个主坐标成分,图中每个点代表一个样本,点的颜色代表样本的分组,样本间的距离越近代表微生物群落结构越相似。图中圆圈一般是置信水平为95%时的置信椭圆,用于比较组间的群落结构组成相似性。

正文
2

1、设置工作目录

rm(list=ls())setwd('D:\\桌面\\PCoA')

2、安装及加载包

#安装所需R包install.packages("vegan")install.packages("ggplot2")#加载包library(vegan)#计算距离时需要的包library(ggplot2)#绘图包

3、读取数据及数据处理

otu_raw <- read.table(file="otu.txt",sep="\t",header=T,check.names=FALSE ,row.names=1)otu <- t(otu_raw)

4、计算bray_curtis距离

otu.distance <- vegdist(otu)

5、pcoa分析

pcoa <- cmdscale (otu.distance,eig=TRUE)pc12 <- pcoa$points[,1:2]pc <- round(pcoa$eig/sum(pcoa$eig)*100,digits=2)

6、数据格式转换及数据整合

pc12 <- as.data.frame(pc12)pc12$samples <- row.names(pc12)head(pc12)

7、简单绘图

p <- ggplot(pc12,aes(x=V1, y=V2))+  geom_point(size=3)+theme_bw()p

8、加入分组信息

group <- read.table("group.txt", sep='\t', header=T)colnames(group) <- c("samples","group")df <- merge(pc12,group,by="samples")color=c("#1597A5","#FFC24B","#FEB3AE")p1<-ggplot(data=df,aes(x=V1,y=V2, color=group,shape=group))+  theme_bw()+  geom_point(size=1.8)+ theme(panel.grid = element_blank())+ geom_vline(xintercept = 0,lty="dashed")+  geom_hline(yintercept = 0,lty="dashed")+ #geom_text(aes(label=samples, y=V2+0.03,x=V1+0.03, vjust=0),size=3.5)+  #guides(color=guide_legend(title=NULL))+ labs(x=paste0("PC1 ",pc[1],"%"),       y=paste0("PC2 ",pc[2],"%"))+ scale_color_manual(values = color) + scale_fill_manual(values = c("#1597A5","#FFC24B","#FEB3AE"))+ theme(axis.title.x=element_text(size=12), axis.title.y=element_text(size=12,angle=90), axis.text.y=element_text(size=10), axis.text.x=element_text(size=10), panel.grid=element_blank())p1

9、添加置信椭圆

p1 + stat_ellipse(data=df,geom = "polygon",level=0.9,linetype = 2,size=0.5,aes(fill=group),alpha=0.2,show.legend = T)

通过上面的代码就可以实现PCoA的分析及可视化,当然,我们也可以加入箱线图以显示分组间的显著性:



源码下载链接请在公众号后台回复关键词PCoA获取!



以上就是今天所有的内容,希望对您有所帮助!!!

大家如果有什么问题请在后台留言,小编看到后会在第一时间回复

欢迎大家点赞转发并点亮,让更多朋友看到!!!

也欢迎大家关注我的公众号

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存