Pheatmap绘制多分组热图

Pheatmap绘制多分组热图

首先是准备材料:

1.R包

2.绘图数据

install.packages('pheatmap')#安装R包

library(pheatmap)#加载R包 

画图

画个基础图形

Rscript  heatmap.r -i fpkm.txt -s -n heatmap绘制图形,并保存文件。

画的图拍你可以根据自己的喜好进行调整,包括横, 纵轴; 颜色,聚类;长宽比例都可以进行调整。


attachments-2022-11-yYOmp4n2637b2f6e4dad6.png


聚类调整

在默认情况下,生成的热图是含有行列聚类,如果不想显示聚类,可加入参数cluster_row = FALSE, cluster_col = FALSE,样品会按照输入顺序进行绘制。

pheatmap(data, cluster_row = TRUE, cluster_col = FALSE,filename = 'test.png')#行聚类,列不聚类

绘制单个分组信息

绘制单个分组信息,输入分组信息annotation_col添加列的注释信息。

colgroup=read.table('group.txt',sep='t',header=F,row.names=1,check.names=F,quote='')

colnames(colgroup)=c('Group')#分组文件设置列名

pheatmap(data,annotation_col = colgroup, filename = 'test.png')

绘制多个分组信息

绘制多个分组信息,annotation_col和annotation_row参数同时添加行和列的注释信息

colgroup=read.table('group.txt',sep='t',header=F,row.names=1,check.names=F,quote='')

rowgroup=read.table('taxon.txt',sep='t',header=F,row.names=1,check.names=F,quote='')

colnames(colgroup)=c('Group','Time','Other')#分组文件设置列名

colnames(rowgroup)=c('Class')

pheatmap(data,annotation_col = colgroup,

annotation_row=rowgroup, filename = 'test.png')

自定颜色列表

Rscript  heatmap.r -i fpkm.txt -s -n heatmap -c blue brown  black

也可以输入十六进制颜色(html),但要加引号

Rscript  heatmap.r -i fpkm.txt -s -n heatmap -c "#470024"   "A9A9A9"  "#0000ff"

或者修改脚本命令

利用ann_colors自定注释信息的颜色列表

col = colorRampPalette(c('lightblue', 'yellow', 'orange', 'red'),bias=3)(300)#设置数据颜色

ann_colors = list( Time = c('white', 'firebrick'), Group = c(B ='#00447E',L= '#F34800'),

Class = c(taxon1 = '#64A10E', taxon2 = '#795EA2', taxon3 = '#3370CC') )#设置注释信息颜色

pheatmap(data,annotation_col = colgroup, annotation_row=rowgroup,

col=col,annotation_colors = ann_colors, filename = 'test.png')

结果分块

利用cutree_col,将列聚类结果分块要求队列聚类,gaps_row参数将行结果分块,要求对行不聚类

pheatmap(data, cluster_row = FALSE, cluster_col = TRUE, annotation_col = colgroup,

annotation_row=rowgroup, col=col, gaps_row = c(5, 10),#在5和10行添加分隔

annotation_colors = ann_colors, cutree_col=2,#聚类结果分成两类

filename = 'test.png')

其他参数

sacle: 按照'row”、 'column'或者'none'对数据进行归一化

legend_breaks:设定图例显示范围

legend_labels:设置图例标签

legend = FALSE:去掉图例

annotation_legend = FALSE:去掉注释图例

border_color:设定每个热图格子的边框色

display_numbers = TRUE:设定在每个热图格子中显示相应的数值,

number_color:设置数值字体的颜色

cellwidth和cellheight:设定每个热图格子的宽度和高度

main:添加主标题

fontsize_row 和fontsize_row:设置行名列名文字大小


注意:更复杂的可以参照:pheatmap绘制聚类热图 - 组学大讲堂问答社区 (omicsclass.com)

或者pheatmap绘制热图详解 - 组学大讲堂问答社区 (omicsclass.com)


  • 发表于 2022-11-21 15:51
  • 阅读 ( 1056 )
  • 分类:软件工具

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
生信阿姨
生信阿姨

31 篇文章

作家榜 »

  1. omicsgene 658 文章
  2. 安生水 328 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. 红橙子 78 文章
  6. CORNERSTONE 72 文章
  7. xun 67 文章
  8. rzx 67 文章