一次完成全部分组的三元图绘制-查看丰度不在等待

写在前面

三元图用于三组的内容关系查看,应用场景也是非常多的,例如通过比较三组OTU的丰度和关系,了解不同OTU在不同样本中的丰度。

这里我改造了一些代码,让我们可以无论有多少个分组,都会进行三个组三个组的找出来,并且做一个三元图。依赖ggtern完成整个过程,并且自动保存。班次

实战

#---三元图library(phyloseq)

library(ggClusterNet)

otupath = "./"
ternpath = paste(otupath,"/ggtern/",sep = "")
dir.create(ternpath)

library(ggtern)
# BiocManager::install("ggtern")
data(ps)
ps
ps_rela = transform_sample_counts(ps, function(x) x / sum(x) );ps_rela

otu = vegan_otu(ps_rela) %>% as.data.frame()
library("tibble")
#数据分组
iris.split <- split(otu,as.factor(as.factor(sample_data(ps)$Group)))
#数据分组计算平均值
iris.apply <- lapply(iris.split,function(x)colSums(x[]))
# 组合结果
iris.combine <- do.call(rbind,iris.apply)
ven2 = t(iris.combine) %>% as.data.frame()

head(ven2)

ven2$mean = rowMeans(ven2)

tax = vegan_tax(ps)
head(tax)

otutax = cbind(ven2,tax)
head(otutax)

A <- combn(colnames(ven2),3)
i = 1

for (i in 1:dim(A)[2]) {
x = A[1,i]
y = A[2,i]
z = A[3,i]
p <- ggtern(data=otutax,aes_string(x = x,y=y,z=z,color = "Phylum",size ="mean" ))+geom_point() + theme_void()
p

filename = paste(ternpath,"/",paste(x,y,z,sep = "_"),"_OTU.pdf",sep = "")
ggsave(filename,p,width = 12,height = 10)

}

微生信生物简介

微生信生物已经创立三年有余了,在这几年中,感谢铁杆分析的支持,同时希望越来越多的小伙伴加入微生信生物大家庭,目前微生信交流群已经超过2000人。帮助许多小伙伴解决的大量问题。

关注统计分析和出图,关注各大组学数据分析流程和各种高级分析。专注解决尚未解决的问题,在分析领域著重创新,时间,问题解决,用于探索发现。

关注R语言,python,perl,shell等语言使用。定期分分享相关学习指南。R语言是使用的比较多的分析语言,会用大量的R语言教程。

根际互作生物学研究室 简介

根际互作生物学研究室是沈其荣教授土壤微生物与有机肥团队下的一个关注于根际互作的研究小组。本小组由袁军副教授带领,主要关注:1.植物和微生物互作在抗病过程中的作用;2 环境微生物大数据整合研究;3 环境代谢组及其与微生物过程研究体系开发和应用。团队在过去三年中在 isme J, Microbiome, PCE,SBB,Horticulture Research等期刊上发表了多篇文章。欢迎关注 微生信生物 公众号对本研究小组进行了解。

了解 交流 合作

  • 团队负责人邮箱 袁军:

    junyuan@njau.edu.cn;

    团队成员文涛:

    2018203048@njau.edu.cn

  • 团队公众号:

(0)

相关推荐