Деление на столбцы и строки не работает с 'ComplexHeatmap' - даже используя их собственный пример? - PullRequest
0 голосов
/ 15 апреля 2019

Я сейчас пытаюсь собрать тепловую карту, используя ComplexHeatmap.Однако, когда я пытаюсь разделить мою тепловую карту на столбцы и строки, она не работает.

Когда я возвращаюсь к документации , которая сопровождает ComplexHeatmap, я обнаружил, что их собственный примерне будет работать, возвращая сообщение об ошибке unused arguments.Мне было интересно, сможет ли кто-то пролить свет на то, что может происходить.

Вот примерная матрица:

set.seed(123)
nr1 = 4; nr2 = 8; nr3 = 6; nr = nr1 + nr2 + nr3
nc1 = 6; nc2 = 8; nc3 = 10; nc = nc1 + nc2 + nc3
mat = cbind(rbind(matrix(rnorm(nr1*nc1, mean = 1,   sd = 0.5), nr = nr1),
                  matrix(rnorm(nr2*nc1, mean = 0,   sd = 0.5), nr = nr2),
                  matrix(rnorm(nr3*nc1, mean = 0,   sd = 0.5), nr = nr3)),
            rbind(matrix(rnorm(nr1*nc2, mean = 0,   sd = 0.5), nr = nr1),
                  matrix(rnorm(nr2*nc2, mean = 1,   sd = 0.5), nr = nr2),
                  matrix(rnorm(nr3*nc2, mean = 0,   sd = 0.5), nr = nr3)),
            rbind(matrix(rnorm(nr1*nc3, mean = 0.5, sd = 0.5), nr = nr1),
                  matrix(rnorm(nr2*nc3, mean = 0.5, sd = 0.5), nr = nr2),
                  matrix(rnorm(nr3*nc3, mean = 1,   sd = 0.5), nr = nr3))
)
mat = mat[sample(nr, nr), sample(nc, nc)] # random shuffle rows and columns
rownames(mat) = paste0("row", seq_len(nr))
colnames(mat) = paste0("column", seq_len(nc))

, которая дает вам следующее:

enter image description here

И вот команда, демонстрирующая, как использовать разбиение на строки и столбцы:

install.packages('ComplexHeatmap')


Heatmap(mat, name = "mat", 
        row_split = rep(c("A", "B"), 9), column_split = rep(c("C", "D"), 12))

Вот вывод, который создатели ComplexHeatmap говорят, что яследует ожидать, что, как вы видите, красиво разделено на четыре плитки.

enter image description here

Но все, что я получаю, это следующее сообщение об ошибке:

Error in Heatmap(mat, name = "mat", row_split = rep(c("A", "B"), 9), column_split = rep(c("C",  : 
  unused arguments (row_split = rep(c("A", "B"), 9), column_split = rep(c("C", "D"), 12))

Поскольку даже пример, который они предоставляют, не работает, я изо всех сил пытаюсь добиться успеха.

Я уже поменял пакеты один раз, по какой-то причине heatmap.2 начал вести себя очень хаотично, для чего я поднял другой вопрос в другом месте.

1 Ответ

0 голосов
/ 16 апреля 2019

Несмотря на наличие последней версии, выполнение следующей программы, по-видимому, решает проблему, с которой я столкнулся.

library(devtools)
install_github("jokergoo/ComplexHeatmap", force = TRUE)

Несмотря на то, что

library(devtools)
install_github("jokergoo/ComplexHeatmap")

Произошло следующее:

Skipping install of 'ComplexHeatmap' from a github remote, the SHA1 (c79aaf9e) has not changed since last install.

Я полностью виноват в том, что не заставил переустанавливаться с самого начала.

...