栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

微生物组β-多样性——PCoA分析及可视化

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

微生物组β-多样性——PCoA分析及可视化

在微生物组测序结果中对于β-多样性的分析一般以PCoA 和 NMDS 为主,并且以 Bray-Curtis 距离最为普遍,因此本文以该距离进行PCoA分析和可视化

(一)数据格式

分别为分析样本的特征表和分组信息

表1. pcoa (特征表)

表2,group(分组信息)

()9

#清除变量
rm(list=ls())
library(vegan)
library(ggplot2)
library(ggrepel)
#读取数据(特征表)
df<- read.delim('pcoa.txt', row.names = 1, sep = 't', head = TRUE, check.names = FALSE)
#读取分组
group<-read.delim('group.txt', row.names = 1, sep = 't', head = TRUE, check.names = FALSE)
#数据转置
df1<-t(df)
#计算距离
distance<-vegdist(df1,method='bray')
pcoa<- cmdscale(distance,k=(nrow(df1)-1),eig=TRUE)
#提取前两个分类解释
plot_data<-data.frame({pcoa$point})[1:2]
head(plot_data)
#前两个分类解释命名
names(plot_data)[1:2]<-c('PCoA1','PCoA2') 
eig=pcoa$eig
group1<-group['group']
data<-plot_data[match(rownames(group),rownames(plot_data)),]
data<-data.frame(group,plot_data)
head(data)
tail(data)
#作图
ggplot(data,aes(x=PCoA1,y=PCoA2,shape=group,color=group))+geom_point(alpha=1,size=8)+stat_ellipse(level=0.95,size=3)+labs(x=paste("PCoA1(",format(100*eig[1]/sum(eig),digits = 4),"%)",sep=""),y=paste("PCoA2(",format(100*eig[2]/sum(eig),digits = 4),"%)",sep=""))+geom_vline(aes(xintercept=0),linetype="dotted")+geom_hline(aes(yintercept=0),linetype="dotted")+theme(panel.background = element_rect(fill='white',colour = 'black'),axis.title.x=element_text(colour = 'black',size=20),axis.title.y = element_text(colour = 'black',size=20),legend.text = element_text(size = 15))

(三) 出图

通过以上代码对微生物组β-多样性以PCoA进行计算并可视化得到如下图

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/724925.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号