======简介======
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