ggplot集锦

组合热图

2023-01-05  本文已影响0人  余绕
1. 导入数据
rm(list = ls())
mat_expr <- read.csv(file = 'data/ComplexHeatmap/example3/mat_expr.csv', 
                     row.names = 1)
mat_meth <- read.csv(file = 'data/ComplexHeatmap/example3/mat_meth.csv', 
                     row.names = 1)
sample_info <- read.csv(file = 'data/ComplexHeatmap/example3/sample_info.csv', 
                        row.names = 1)
gene_info <- read.csv(file = 'data/ComplexHeatmap/example3/gene_info.csv', 
                      row.names = 1)

image.png

2. 加载R包

library(circlize)
library(ComplexHeatmap)
3.1 绘图
#注释热图数据
col_ha<-HeatmapAnnotation(
  type=sample_info$type,
  annotation_name_side = "left",
  col=list(type=c("Tumor"="pink",
                  "Control"="royalblue"))
)



Heatmap(mat_meth,
        show_row_names = F,
        cluster_columns = F,
        row_km = 2, #聚类kmeans分类
        row_split = gene_info$meth_direction, #在kmeans基础上,根据meth_direction继续分类
        col=colorRamp2(c(0,0.5,1),c("blue","white","red")), #自定义颜色
        top_annotation = col_ha, #添加注释热图
        name="Methylation",
        column_title = "Methylation"
        )+
image.png

3.2 添加甲基化数据的 heatmap

Heatmap(mat_meth,
        show_row_names = F,
        cluster_columns = F,
        row_km = 2, #聚类kmeans分类
        row_split = gene_info$meth_direction, #在kmeans基础上,根据meth_direction继续分类
        col=colorRamp2(c(0,0.5,1),c("blue","white","red")),
        top_annotation = col_ha,
        name="Methylation",
        column_title = "Methylation"
        )+
  Heatmap(gene_info$meth_direction,
          name = "methy direction",
          column_title = "meth direction",
          col=c('hypo'='blue','hyper'='red'))
image.png

3.3 添加甲基化数据的 heatmap


col_ha2<-HeatmapAnnotation(
  type=sample_info$type,
  annotation_name_side = "left",
  show_annotation_name = F,
  col=list(type=c("Tumor"="pink",
                  "Control"="royalblue"))
)
Heatmap(mat_meth,
        show_row_names = F,
        cluster_columns = F,
        row_km = 2, #聚类kmeans分类
        row_split = gene_info$meth_direction, #在kmeans基础上,根据meth_direction继续分类
        col=colorRamp2(c(0,0.5,1),c("blue","white","red")),
        top_annotation = col_ha,
        name="Methylation",
        column_title = "Methylation"
        )+
  Heatmap(gene_info$meth_direction,
          name = "methy direction",
          column_title = "meth direction",
          col=c('hypo'='blue','hyper'='red'))+
  Heatmap(mat_expr,
          show_row_names = F,
          cluster_columns =  F,
          top_annotation = col_ha2,
          name = "Expression",
          column_title = "Expression")

image.png

3.4 添加p_value Gene_type以及distance数据

Heatmap(mat_meth,
        show_row_names = F,
        cluster_columns = F,
        row_km = 2, #聚类kmeans分类
        row_split = gene_info$meth_direction, #在kmeans基础上,根据meth_direction继续分类
        col=colorRamp2(c(0,0.5,1),c("blue","white","red")),
        top_annotation = col_ha,
        name="Methylation",
        column_title = "Methylation"
        )+
  Heatmap(gene_info$meth_direction,
          name = "methy direction",
          column_title = "meth direction",
          col=c('hypo'='blue','hyper'='red'))+
  Heatmap(mat_expr,
          show_row_names = F,
          cluster_columns =  F,
          top_annotation = col_ha2,
          name = "Expression",
          column_title = "Expression")+
  Heatmap(gene_info$cor_pvalue,
          name = 'cor_p_value',
          col=colorRamp2(c(0,2,4),c("green","white","red")))+
  Heatmap(gene_info$gene_type,
          name = "gene_type")+
  Heatmap(log2(gene_info$dist),
          name = 'Log2(distance)')
image.png
上一篇下一篇

猜你喜欢

热点阅读