Как нарисовать карту тепла на основе категории и сделать HCL внутри категории в R - PullRequest
0 голосов
/ 28 февраля 2020

Я хочу нарисовать карту тепла, похожую на эту. Химические вещества сгруппированы по категориям, а HCL делается по категориям. Дендрограмма эксперимента 1 сохраняется для кластеризации всех экспериментов. Кроме того, я надеюсь, что каждый эксперимент может использовать собственную шкалу.

enter image description here

Входные файлы представляют собой несколько файлов TSV с результатами эксперимента и один файл TSV с названиями химических веществ и их категориями.

chemical day1 day2 day3 day4 day5
A          1    2    3    4   5
B          1    1    2    2   3
C          1    1    0    0   1

chemical   category
A          pesticide
B          drug
C          pesticide

Это часть кодов, которые у меня сейчас есть. Я могу создавать индивидуальные тепловые карты, но не знаю, как группировать химические вещества и делать HCL внутри групп.

library(ComplexHeatmap)
library(circlize)
library(dendsort)
library(dendextend)
library(RColorBrewer)
imagename = "experiment 1"
Heatmap(data, name = imagename, cluster_columns = FALSE,
                column_names_rot = 0, column_names_centered = TRUE,
                colorRamp2(c(0.5, 1, 2), c("green","black","red")),
                column_title = imagename, row_names_gp = gpar(fontsize = 5),
                width = unit(5, "cm"), height = unit(16, "cm"))
...