专栏名称: 生信圈
关注生物医学大数据、以及数据分析方法在转化医学研究中的应用进展,讨论与生物信息相关的一切话题。
51好读  ›  专栏  ›  生信圈

微生物分析——R语言绘图篇1

生信圈  · 公众号  ·  · 2017-10-17 21:00

正文

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

1.     柱状图

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

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

图形实现

#输入文件

data

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

#设置颜色

col

#画图

x

注: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

group

#设置group行名

colnames(group)

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

annotation_col

rownames(annotation_col)

#安装并加载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#设置标题







请到「今天看啥」查看全文