用户工具

站点工具


pcoa圈图

简介

qiime1分析流程中,PCoA图只有不含置信圈的原始点图与xy轴映射组合图,且只有2个分组时才可以生成图片。现新增PCoA置信圈图与xy轴的映射组合图,且不对分组数量进行限制。

功能

提供修改后的R模板作为参考,以便应对多分组情况。

数据准备

1. PCoA分析的输入文件:

首先进行PCoA分析,生成常规流程中的过程文件,然后我们对绘图的R脚本进行个性化处理。

PCoA分析所需文件unweighted_unifrac_pc.txt,weighted_unifrac_pc.txt,group.list,group_col.list

2. PCoA绘图参考R脚本路径:

/TJPROJ5/META_ASS/16s/chenjiawei/script/gxh/qiime1-PCoA-combine/plot_PCoA-test.R

3. 修改R脚本,将下列代码加入:

###combine

databox = read.table("/TJPROJ7/META_ASS/16s/chenjiawei/X101SC21072896-Z01/X101SC21072896-Z01-F008/gxh-PCoA-20221119/05.Diversity_analysis/PCoA/PCoA/weighted_unifrac/PCoA.txt",head=T, row.names=1,sep="\t")
PCoAbox1<-ggplot()
PCoAbox1<-PCoAbox1+
        geom_boxplot(aes(x=group1,y=databox$V1,fill=plotdata$group)) + ylim(-0.5,0.5)+
        guides(fill=FALSE)+
    scale_fill_manual(values=col) +
    xlab("")+ylab("") +
    theme(axis.text.x = element_blank(),axis.ticks.x = element_blank(),axis.text.y =element_text(color='black',family="Arial",size=8),
  panel.background = element_blank(),panel.border = element_rect(colour = "black",fill=NA))+coord_flip()

PCoAbox2<-ggplot()
       PCoAbox2<-PCoAbox2+geom_boxplot(aes(x=group1,y=databox$V2,fill=plotdata$group)) + ylim(-0.3,0.25) +
        guides(fill=FALSE)+
       scale_fill_manual(values=col) +
       xlab("")+ylab("") +
       theme(axis.text.y = element_blank(),axis.ticks.y = element_blank(),axis.text.x =element_text(color='black',family="Arial",size=11),
       panel.background = element_blank(),panel.border = element_rect(colour = "black",fill=NA),
       legend.background = element_blank(),legend.title = element_blank(),legend.position = "bottom")


k<-ggplot()+
        geom_text(aes(x=0.5,y=0,label="Weighted Unifrac"))+
        theme(axis.text = element_blank(),panel.background =element_blank(),
           panel.grid = element_blank(),axis.ticks = element_blank(),
           axis.title = element_blank())

PCoAbox3<-ggplot()
PCoAbox3<-PCoAbox3+geom_point(aes(x=0.5,y=0.5,fill=plotdata$group,colour=plotdata$group))
PCoAbox3<-PCoAbox3+theme(legend.position=c(0.5,0.5),legend.background = element_rect(colour="black"),legend.title = element_blank(),panel.background = element_rect(fill="white"),legend.key=element_blank()) +scale_fill_manual(values = col)
PCoAbox3<-PCoAbox3+scale_colour_manual(values=col)+
         theme(axis.text = element_blank(),panel.background =element_blank(),
           panel.grid = element_blank(),axis.ticks = element_blank(),
           axis.title = element_blank())

cairo_pdf(filename="/TJPROJ7/META_ASS/16s/chenjiawei/X101SC21072896-Z01/X101SC21072896-Z01-F008/gxh-PCoA-20221119/05.Diversity_analysis/PCoA/PCoA/weighted_unifrac/PCoA_box_combine.pdf",height=10,width=12)

grid.newpage()
pushViewport(viewport(layout = grid.layout(5,4)))
print (p2_cluster,vp=viewport(layout.pos.row = 2:4,layout.pos.col = 1:2))
print (PCoAbox1,vp=viewport(layout.pos.row = 5,layout.pos.col = 1:2))
print (PCoAbox2,vp=viewport(layout.pos.row = 2:4,layout.pos.col = 3))
print (k,vp=viewport(layout.pos.row=1,layout.pos.col=1:2))
print (PCoAbox3,vp=viewport(layout.pos.row = 5,layout.pos.col = 3))
dev.off()

数据分析

1. 根据置信圈样本坐标调整柱形图y轴:

需注意的修改点:由于置信圈图会根据圈的位置对原始样本点的xy轴进行压缩,而xy轴映射的柱形图使用原始样本点xy轴进行绘图,导致置信圈与柱形图样本点坐标对应不上的情况,这就需要我们使用ylim函数对柱形图xy轴进行调整,与置信圈的样本点坐标所对应,此步需要多次手动调整。

2. 根据自己样本分组情况修改PCoA绘图R脚本:

需注意的修改点:由于绘图使用的是grid.newpage函数和viewport函数对图片进行区域划分,随着分组数目的变化,柱形图的所占用区域可能会随之变化,需要手动调整。

3. 调整R脚本后重新运行:

/PUBLIC/software/public/System/R-2.15.3/bin/R -f plot_PCoA-test.R
pcoa圈图.txt · 最后更改: 2023/04/10 06:34 由 chenjiawei