更为强大的复杂热图​

写在前面

目前基于热图的绘制需求越来越高,让我们想到的事情逐渐成熟,却已经有人开始实现了这个功能,并上传到了CRAN。复杂热图的绘制长期以来都是基础包omplexHeatmap来实现,现在可以使用了tidyHeatmap了.但是这也不是基于ggplot的版本,所以差强一步。

安装;tidyHeatmap

遗憾的是,cran中包存在问题,我检查发现是版本问题,因此在github上的例子只能安装github版本的tidyHeatmap。

# install.packages("tidyHeatmap")
# devtools::install_github("stemangiola/tidyHeatmap")
library("tidyHeatmap")
library(tidyverse)

示例数据

tidyHeatmap::pasilla## # A tibble: 504 x 7
## sample symbol `count normalised ~ condition type location activation
## <chr> <fct> <int> <fct> <fct> <chr> <dbl>
## 1 treate~ Kal1 37 treated singl~ Secretory 1.10
## 2 treate~ Kal1 41 treated paire~ Secretory 1.10
## 3 treate~ Kal1 50 treated paire~ Secretory 1.10
## 4 untrea~ Kal1 1127 untreated singl~ Secretory 1.10
## 5 untrea~ Kal1 1046 untreated singl~ Secretory 1.10
## 6 untrea~ Kal1 932 untreated paire~ Secretory 1.10
## 7 untrea~ Kal1 1018 untreated paire~ Secretory 1.10
## 8 treate~ Ant2 2331 treated singl~ Intracel~ 0.329
## 9 treate~ Ant2 2478 treated paire~ Intracel~ 0.329
## 10 treate~ Ant2 2575 treated paire~ Intracel~ 0.329
## # ... with 494 more rows

复杂热图

首先一定要明白,R语言是以长格式的数据来绘图的;

参数解释:

  • .data “tbl”格式的数据框

  • .horizontal :在热图中水平显示的列的名称

  • .vertical 在热图汇总垂直展示的列名称

  • .abundance :填充数的列

  • annotation: 分组信息

  • log_transform : 数据转化

tidyHeatmap::pasilla %>%
heatmap(
.horizontal = sample,
.vertical = symbol,
.abundance = `count normalised adjusted`,
annotation = c(condition, type),
log_transform = TRUE
)

分组聚类 标签块添加

tidyHeatmap::pasilla %>%
group_by(location, condition) %>%
heatmap(
.horizontal = sample,
.vertical = symbol,
.abundance = `count normalised adjusted`,
annotation = c(type),
log_transform = TRUE
)

# library(dplyr)
tidyHeatmap::N52 %>%
group_by( `Cell type`) %>%
tidyHeatmap::heatmap(
.horizontal = UBR,
.vertical = symbol_ct,
.abundance = `read count normalised log`,
annotation = CAPRA_TOTAL
)

### 人工设定颜色映射pasilla %>%
heatmap(
.horizontal = sample,
.vertical = symbol,
.abundance = `count normalised adjusted`,
log_transform = TRUE,
palette_abundance = circlize::colorRamp2(c(-2, -1, 0, 1, 2), viridis::magma(5))
)

欢迎加入微生信生物

微生信生物推文阅读指南

微生信生物

分享永无止境!

师兄家的小店,大家关照一哈

(0)

相关推荐