Функция DoHeatmap Seurat - ошибка в кадре данных: аргументы подразумевают различное количество строк - PullRequest
1 голос
/ 26 марта 2020

Я пытаюсь использовать функцию DoHeatmap в Seurat, чтобы показать экспрессию ряда генов в некоторых определенных кластерах. B_cells - мой объект Seurat.

tfs <- c("PRDM1", "PAX5", "BACH2")

DoHeatmap(B_cells, features=tfs)

Я получаю эту ошибку обратно;

Error in data.frame(group = sort(x = group.use), x = x.divs) : 
  arguments imply differing number of rows: 10411, 0

Когда я смотрю на количество строк и столбцов в объекте Seurat;

nrow(B_cells) = 19651

ncol(B_cells) = 10151

Извините, если это глупый вопрос, но я застрял на нем некоторое время.

edit traceback ():

3: stop(gettextf("arguments imply differing number of rows: %s", 
       paste(unique(nrows), collapse = ", ")), domain = NA)
2: data.frame(group = sort(x = group.use), x = x.divs)
1: DoHeatmap(B_cells, features = genes)

1 Ответ

0 голосов
/ 29 марта 2020

Исходный код для функции DoHeatmap () можно найти по адресу https://github.com/satijalab/seurat/blob/develop/R/visualization.R. Функция traceback () показывает, что строка 363 из visualization.R вызывает ошибку:

if (label) {
   x.max <- max(pbuild$layout$panel_params[[1]]$x.range)
   # Attempt to pull xdivs from x.major in ggplot2 < 3.3.0; if NULL, pull from the >= 3.3.0 slot
   x.divs <- pbuild$layout$panel_params[[1]]$x.major %||% pbuild$layout$panel_params[[1]]$x$break_positions()
   x <- data.frame(group = sort(x = group.use), x = x.divs)
   ...
}       

В качестве обходного пути для обхода ошибки попробуйте:

DoHeatmap(B_cells, features=tfs, label=FALSE)
...