在线客服
客服热线
400-664-9912
客服组:
阿趣客服
客服组:
在线客服
QQ:
Amy
服务时间:
8:00 - 24:00

关注官方微信平台

电话:400-664-9912

QQ:2850277929

邮箱:marketing@biotree.cn

地址:上海市嘉定区新培路51号焦点梦想园B栋5楼

 

Copyright 2012-2020 SHANGHAI BIOTREE BIOTECH CO., LTD. All rights reserved.上海阿趣生物科技有限公司. 版权所有 沪ICP备17019893号-1

实用干货 | 如何为热图添加指定的代谢标记

分类:
阿趣动态
发布时间:
2022/03/31 17:03
浏览量

在一些文章中经常看到只添加了部分感兴趣代谢标记的热图,非常清爽简洁。手工添加的方法其实比较麻烦,尤其是在代谢物比较多得时候,很难快速找到目标代谢物的准确位置。下面就为大家介绍一种可以完美重现范例文章中加标签热图的方法。

R包安装与数据导入
library(ComplexHeatmap)

library(circlize)

library(openxlsx)

data<-read.xlsx("C:\\Users\\19449\\Desktop\\test.xlsx",colNames=T,rowNames=T)


查看导入数据结果

热图的绘制
#对数据进行归一化,由于scale函数默认对列进行归一化,因此这里做了两次转置;

data<-t(scale(t(data)))
 

#初步绘制热图


 

#添加关注的标记,比如关心AA,AdA,DHA,EPA这四个物质

labs<-c("AA","AdA","DHA","EPA")
#使用labels_gp调整字体大小;
lab2=rowAnnotation(foo=anno_mark(at=index,
labels=labs,
labels_gp=gpar(fontsize=8),
lines_gp=gpar()))



#出图Heatmap(data,
row_names_gp=gpar(fontsize=6),
column_names_gp=gpar(fontsize=8),
right_annotation=lab2,
show_row_names=FALSE,
name="map")



#如果想看每个物质在所有样本中含量趋势图,或者每个样本中所有物质综合的含量趋势图,runif()中要按照实际输入的代谢物数量和实际输入的样本数量填写lab2=rowAnnotation(bar2=anno_points(runif(98)),foo=anno_mark(at=index,
labels=labs,
labels_gp=gpar(fontsize=8),
lines_gp=gpar()))
lab1=HeatmapAnnotation(bar1=anno_barplot(runif(6)))

#出图Heatmap(data,
row_names_gp=gpar(fontsize=6),
column_names_gp=gpar(fontsize=8),
right_annotation=lab2,
top_annotation=lab1,
show_row_names=FALSE,
name="map")

 

#如果让含量相近的样本分块聚类,近似于PCA的功能;或者含量相近的代谢物分块聚类,看能聚到一起的物质是否属于同一类,或者同一功能

Heatmap(data,row_km=3, column_km=2,
row_names_gp=gpar(fontsize=6),
column_names_gp=gpar(fontsize=8),
right_annotation=lab2,
top_annotation=lab1,
show_row_names=FALSE,
name="map")

>
>
>
实用干货 | 如何为热图添加指定的代谢标记