微生物分析--R语言绘图篇1
卖萌控的博客
点击这里进入电脑版页面!体验更好
微生物分析--R语言绘图篇1
2022-6-27 萌小白


前几期我们介绍了扩增子测序分析流程,包括:微生物群落组成分析,α多样性分析,β多样性分析。接下来几期将结合R语言将扩增子测序分析结果可视化,从而更直观地展现群落结构及丰度分布。R是一门用于统计计算和作图的语言,其强大的绘图功能主要由众多的图形函数来实现,包括:高级绘图函数,低级绘图函数,图形参数。本期主要介绍通过柱状图,热图,韦恩图实现对微生物群落组成分析的可视化。



1. 柱状图



输入文件:在OTU聚类和物种注释后,通过对物种丰度表排序,均一化等处理后,获得不同分类层级下物种丰度表,例如:tax_table.p.txt






其中,第一行代表样本名,第一列代表门水平下的物种,sample1拟杆菌相对丰度为0.1154。



图形实现



#输入文件



data <- read.table('tax_table.p.txt',header=TRUE,row.names=1,sep=' ')



注:header设置文件第一行为行名,row.names设置文件第一列为列名,sep设置分隔标识符为tab键



#设置颜色



col <- rainbow(11)



#画图



x<-barplot(as.matrix(head(data,n=10)),legend.text=row.names(data),args.legend=list(xjust=0,cex=0.6),
xaxt='n', col = col,ylab='Relative Abundance',cex.axis=0.8)



注:legend.txt设置图例内容,args.legend设置图例位置和大小,xaxt设置横轴坐标是否显示,col设置颜色,ylab设置纵坐标标题内容,cex.axis设置坐标字体大小






#添加坐标



axis(at=x,labels=colnames(data), cex.axis=0.6,font=2,side=1,las=2)



注:labels设置添加的坐标内容,cex.axis设置坐标字体大小,font设置字体,side设置添加的坐标轴位置,las设置字体方向






2. 热图



输入文件:tax_table.g.txt, 物种丰度表(与上同)



group.list,样品分类信息表,格式如下:






图形实现



#文件输入



data <- read.table('./input/tax_table.g.txt',header=TRUE,row.names=1,sep=' ')



group <- read.table('./input/group.list',header=F,sep=' ')



#设置group行名



colnames(group) <- c('Sample','group')



#设置数据框annotation_col(只有一列Group,且行名为样本名)



annotation_col <- data.frame(Group=factor(group$group))



rownames(annotation_col) <- group$Sample






#安装并加载R包pheatmap



install.packages('pheatmap')



library(pheatmap)



#画图



pheatmap(head(data,n=30))



注:提取前30个物种相对丰度值画热图,如图所示图形很丑。为了看一个物种在不同样本中的丰度分布,需要消除样本间差异,即对丰度表进行标准化处理。






pheatmap(head(data,n=30),scale='row')



注:scale设置标准化参数,取值为“row”“column”或“none”






pheatmap(head(data,n=30),scale='row',annotation_col=annotation_col)



注:annotation_col设置样本分类






其他重要参数:



clustering_distance_rows = 'correlation'#设置行聚类使用的聚类方法,也可以自定义方式



breaks#用于调整区间



cluster_row = FALSE#表示行不聚类



legend = FALSE#表示右侧图例不显示



display_numbers = TRUE#表示在热图中格子显示对应的数字



cellwidth, cellheight#表示热图中小方格的宽度和高度



fontsize#表示字体大小



filename #将图形保存成图片文件



main#设置标题



3. 韦恩图



输入数据:韦恩图可用于分析不同样本之间物种分布差异,因此可以构建一个列表,其中每一个分量代表每一组样本聚类到的OTU,如下图所示。






图形实现:



#下载及安装包



install.packages('VennDiagram')



library('VennDiagram')



#设置颜色



cols <- rainbow(4)



#画图



venn <- venn.diagram(data,fill=cols, filename=NULL)



注:fill设置填充颜色,filename设置图形保存的文件名



#显示图形



grid.draw(venn)






发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容