美文网首页随机
画热图只标注感兴趣的基因名称

画热图只标注感兴趣的基因名称

作者: KS科研分享与服务 | 来源:发表于2021-11-16 16:55 被阅读0次

    做组学分析的时候,想用热图展示差异基因的情况。很多时候尤其转录组,可能得到上千个差异基因,这时候画热图不可能将所有基因的名称显示,一方面太啰嗦,一方面放不下。那么这种既想展示差异基因在样本表达中的全局情况,又想显示基因名称(自己感兴趣的或者对于研究比较关键的),怎么操作呢?接着看:

    首先,准备画热图需要的文件,基因表达矩阵。(示例数据,自己瞎编的,没有任何意义)

    图片

    将数据入读R:

    setwd("D:/生物信息学")
    A <- read.csv("热图标注特定基因.csv", header = T,row.names = 1)
    

    一般情况下用pheatmap画简单的热图,不过复杂的热图就需要用其他的包了,也就是ComplexHeatmap,学会它,在复杂的热图都能搞定。

    加载包:

    library(ComplexHeatmap)
    

    先绘制一个很常规的热图:

    A <- as.matrix(A) #将表达矩阵转化为matrix
    samples <- rep(c('Control', 'Treat'), c(3, 3)) #定义样本分组信息  
    for (i in 1:nrow(A)) A[i, ] <- scale(log(unlist(A[i, ] + 1), 2)) #对数据进行标准化处理
    B <- Heatmap(A,#表达矩阵
            col = colorRampPalette(c("navy","white","firebrick3"))(100),#颜色定义
            show_row_names = F,#不展示行名
            top_annotation = HeatmapAnnotation(Group = samples, 
                                               simple_anno_size = unit(2, 'mm'), 
                                               col = list(Group = c('Control' = '#00DAE0', 'Treat' = '#FF9289')),
                                               show_annotation_name = FALSE))#分组注释
    

    做出的效果如下:

    图片

    接下来,注释需要展示的基因信息。手动输入或者做一个列表读入,此外为了方便自己创建了一个gene list。

    genes <- c("S100A10",
               "S100A11",
               "S100A9",
               "S100A8",
               "ILF2",
               "RPS27",
               "HAX1",
               "SNRPE",
               "SLFN5",
               "CCL5",
               "SYNRG",
               "MLLT6",
               "RPL23",
               "NCOA4",
               "BUD31",
               "TNIP1",
               "KDM6B",
               "SMG1")
    genes <- as.data.frame(genes)
    

    将注释信息添加到热图中:

    B + rowAnnotation(link = anno_mark(at = which(rownames(A) %in% genes$genes), 
                                          labels = genes$genes, labels_gp = gpar(fontsize = 10)))
    

    做出来的效果如下:一张完美的热图出现了!

    图片

    除了这个方法,也有人自己编写函数,比复杂。我认为这种能简单就简单,达到自己的目的,取得美化的效果就可以了!

    相关文章

      网友评论

        本文标题:画热图只标注感兴趣的基因名称

        本文链接:https://www.haomeiwen.com/subject/ekqhtrtx.html