当前位置: 首页 > news >正文

R包:ggheatmapper热图

在这里插入图片描述

加载R包

# devtools::install_github("csgroen/ggheatmapper")library(tidyverse)
library(patchwork)
library(ggheatmapper)

数据

data(tcgaBLCA_ex)
gexp <- tcgaBLCA_ex$gexp

图1

gghm <- ggheatmap(gexp,hm_colors = 'RdBu',hm_color_values = scales::rescale(c(-4,-2,-1,-0.5,-0.25,0,0.25,0.5,1,2,4,6)),scale = TRUE,center = TRUE,show_dend_row = TRUE,colors_title = "Scaled expression (log2 UQ)",show_colnames = FALSE)gghm

在这里插入图片描述

图2

gghm &theme(axis.text = element_text(size = 6))

在这里插入图片描述

图3

sample_annot <- tcgaBLCA_ex$sample_annot %>% as_tibble()
genes <- rownames(gexp)
tcgaBLCA_tb <- gexp %>%t() %>%as.data.frame() %>%rownames_to_column("sample") %>%left_join(sample_annot, by = "sample") %>%tibble() %>%group_by(consensusClass)gr_gghm <- ggheatmap(tcgaBLCA_tb,colv = "sample",rowv = genes,hm_colors = 'RdBu',hm_color_values = scales::rescale(c(-4,-2,-1,-0.5,-0.25,0,0.25,0.5,1,2,4,6)),scale = TRUE,center = TRUE,show_dend_row = FALSE,show_colnames = FALSE,show_rownames = FALSE,group_colors = c(`Ba/Sq` = "#fe4a49", LumNS = "#32837d", LumP = "#06d6a0", LumU = "#009fb7",`Stroma-rich` = "#f9c80e", `NE-like` = "#7d5ba6"),colors_title = "Scaled expression (log2 UQ)")gr_gghm +plot_layout(guides = 'collect')

在这里插入图片描述

图4

get_data(gr_gghm) %>% colnames()gr_gghm <- add_tracks(gr_gghm,track_columns = c("stage", "node", "metastasis"),track_colors = list(stage = 'Greys', node = 'Oranges', metastasis = 'Reds'),track_prop = 0.2)
#> Adding missing grouping variables: `consensusClass`
gr_gghm +plot_layout(guides = 'collect')

在这里插入图片描述

图5

  • 图1
tcgaBLCA_tb2 <- get_data(gr_gghm)
plt_corlines <- tcgaBLCA_tb2 %>%ungroup() %>%select(observations, LumP:NE.like) %>%pivot_longer(cols = -observations, names_to = "subtype", values_to = "cor") %>%ggplot(aes(observations, cor, color = subtype, group = subtype)) +geom_line() +scale_y_continuous(position = "right") +scale_color_manual(values = c(`Ba.Sq` = "#fe4a49", LumNS = "#32837d", LumP = "#06d6a0", LumU = "#009fb7",`Stroma.rich` = "#f9c80e", `NE.like` = "#7d5ba6")) +guides(color = FALSE) +labs(y = "Correlation\n to centroid") +theme_quant()plt_corlines

在这里插入图片描述

  • 图2
plt_row_annot <- tcgaBLCA_ex$gene_annot %>%mutate(gene_symbol = factor(gene_symbol, levels = get_rowLevels(gr_gghm)),group = 'signature') %>%ggplot(aes(gene_symbol, group, fill = signature)) +geom_tile() +labs(y = "") +coord_flip() +theme_sparse2()
plt_row_annot

在这里插入图片描述

  • 图3
gghm_complete <- gr_gghm %>%align_to_hm(plt_corlines, newplt_size_prop = 0.3) %>%align_to_hm(plt_row_annot, pos = "left", newplt_size_prop = 0.08, legend_action = "collect", tag_level = 'keep')
gghm_complete

在这里插入图片描述

  • 图4
gghm_complete <- gghm_complete &theme(legend.text = element_text(size = 7),legend.title = element_text(size = 8))
gghm_complete

在这里插入图片描述

  • 图5
plt_subtype_count <- ggplot(sample_annot, aes(consensusClass, fill = consensusClass)) +geom_bar() +scale_fill_manual(values = c(`Ba/Sq` = "#fe4a49", LumNS = "#32837d", LumP = "#06d6a0", LumU = "#009fb7",`Stroma-rich` = "#f9c80e", `NE-like` = "#7d5ba6")) +labs(y = 'Number of samples') +guides(fill = FALSE) +theme_quant() +theme(axis.ticks.x = element_line(color = "black"),axis.text.x = element_text(color = "black", angle = 45, hjust = 1, vjust = 1))plt_subtype_count

在这里插入图片描述

  • 图6
library(patchwork)
new_col <- (plt_subtype_count + plot_spacer()) +plot_layout(heights = c(0.3,0.7))(new_col | gghm_complete) +plot_layout(widths = c(0.4,0.6))

在这里插入图片描述

图6

sig_list <- split(tcgaBLCA_ex$gene_annot$gene_symbol, tcgaBLCA_ex$gene_annot$signature)gr_gghm <- ggheatmap(tcgaBLCA_tb,colv = "sample",rowv = sig_list,hm_colors = 'RdBu',hm_color_values = scales::rescale(c(-4,-2,-1,-0.5,-0.25,0,0.25,0.5,1,2,4,6)),scale = TRUE,center = TRUE,show_dend_row = FALSE,show_colnames = FALSE,show_rownames = FALSE,group_colors = c(`Ba/Sq` = "#fe4a49", LumNS = "#32837d", LumP = "#06d6a0", LumU = "#009fb7",`Stroma-rich` = "#f9c80e", `NE-like` = "#7d5ba6"),colors_title = "Scaled expression (log2 UQ)")gr_gghm +plot_layout(guides = 'collect')

在这里插入图片描述

参考

  • https://csgroen.github.io/ggheatmapper/articles/ggheatmapper.html

http://www.mrgr.cn/news/36461.html

相关文章:

  • 17121 求二叉树各种节点数
  • 关于前端框架的对比和选择
  • 传统PC危险了,以后我只用云电脑了
  • 0基础学习HTML(二十一)总结
  • golang如何把微信支付结构体拼接为对参数按照key=value的格式,并按照参数名ASCII字典序排序
  • 1.5 测试用例
  • 国产OpenEuler与Centos全面之比较
  • Java | Leetcode Java题解之第436题寻找右区间
  • VB 实例:掌握 Visual Basic 编程的精髓
  • 高级java每日一道面试题-2024年9月26日-运维篇[分布式篇]-如何保证每个服务器的时间都是同步的?
  • 一组.NET MAUI绘制的开源控件 - AlohaKit
  • 读构建可扩展分布式系统:方法与实践15可扩展系统的基本要素
  • 2024必备中英互译利器全知道
  • 新版双向链表,添加了at, front, back, insert, emplace等为了兼容std.
  • Stable Diffusion绘画 | 插件-Addition Networks:单独控制LoRA
  • 【C++】继承(下)
  • Java | Leetcode Java题解之第437题路径总和III
  • Android中的异步任务处理与UI更新技巧
  • <<编码>> 第 17 章 自动操作(4)--其余电路
  • Redis实战--Redis集群的搭建与使用