组合热图
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