Я хочу нарисовать карту тепла, похожую на эту. Химические вещества сгруппированы по категориям, а HCL делается по категориям. Дендрограмма эксперимента 1 сохраняется для кластеризации всех экспериментов. Кроме того, я надеюсь, что каждый эксперимент может использовать собственную шкалу.
Входные файлы представляют собой несколько файлов 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"))