怎么让热图显示基因名_在热图中标注出特定基因名称

本文介绍如何在R使用ComplexHeatmap包创建热图,并仅标注部分重要基因,适用于展示大量基因差异表达情况时突出关键基因。
摘要由CSDN通过智能技术生成

原标题:在热图中标注出特定基因名称

对于基因的差异表达谱,常用热图作为展示。但有时差异基因可能非常的多,热图中不可能将所有基因的名称标注出来。那么此时不妨选择一些比较重要的基因(比方说p值最显著的那些),在图中指示它们的位置。

我们来看这篇文献“Transcriptome Profiling of Adipose Tissue Reveals Depot-Specific Metabolic Alterations Among Patients with Colorectal Cancer”中,是怎样展示热图的。文中比较了结直肠癌患者的内脏脂肪组织(VAT)和皮下脂肪组织(SAT)的转录组谱,将差异表达的基因展示为热图。热图整体结构在标注了部分基因后,并未显得凌乱,同时还能告知读者哪些基因是重要的,必要时还可仔细比较它们的表达值,是种不错的表现方法。

文献插图,热图中只标识出重要的基因或蛋白名称

图1,(a)VAT和SAT之间差异表达基因的热图。

准备作图文件

接下来,就让小编带大家了解怎样在R中绘制这种只标识重要基因的热图。

为了绘制这种热图,首先要准备两类数据。

(1)基因表达矩阵,行是基因,列是样本,表达值可以是FPKM或者log转化后的表达值等都可以。

示例文件,基因表达值矩阵

(2)基因名称列表,将待标识的重要基因名称以一排的形式放在一个列表中。

示例文件,重要的少数基因的名称列表

R包ComplexHeatmap的热图绘制

随后,将上述两个数据导入R中,绘制热图。

首先读取基因表达值矩阵,绘制一个常规的无基因名称的热图。

!!!**************************************************

#读取的示例文件

#gene.txt是基因表达值矩阵

#name.txt是带展示名称的基因列表

#加载ComplexHeatmap包绘制这种类型的热图

library(ComplexHeatmap)

#表达矩阵,考虑到ComplexHeatmap没有scale参数,因此需事先手动做个行标准化

mat

for (i in 1:nrow(mat)) mat[i, ]

mat

#定义样本分组,例如示例文件中共 A、B、C 3组

samples

#先绘制一个不显示任何基因名称的热图

heat

col = colorRampPalette(c('green', 'black', 'red'))(100), #定义热图由低值到高值的渐变颜色

heatmap_legend_param = list(grid_height = unit(10,'mm')), #图例高度设置

show_row_names = FALSE, #不展示基因名称

top_annotation = HeatmapAnnotation(Group = samples,

simple_anno_size = unit(2, 'mm'),

col = list(Group = c('A' = '#00DAE0', 'B' = '#FF9289', 'C' = 'blue')), #定义样本分组的颜色

show_annotation_name = FALSE),

column_names_gp = gpar(fontsize = 10), row_names_gp = gpar(fontsize = 6))

heat

!!!**************************************************

一个常规的不展示基因名称的热图

随后,将重要的待展示名称的基因名称列表读入到R中,并添加在热图右侧显示出。

!!!**************************************************

#读取待展示的基因名称,并添加到热图中

name

heat + rowAnnotation(link = anno_mark(at = which(rownames(mat) %in% name$V1),

labels = name$V1, labels_gp = gpar(fontsize = 10)))

!!!**************************************************

右侧标识重要基因的名称

搞定,是不是非常简单实用呢?

注:!!!*******之间为R脚本内容

搜索微信公众号“纪伟讲测序”,关注我们,欢迎您来电咨询交流返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值