Pheatmap: изменить аннотацию, относящуюся к colData ()

Я пытаюсь создать pheatmap из попарных сравнений объекта DESEq, но я хочу, чтобы метки строк и столбцов были связаны с метаданными, а не были образцами имен.

Схема эксперимента: у меня просто есть 3 разных типа ячеек с 3 повторениями для каждой. Цель: составить тепловую карту, где эти типы ячеек группируются в соответствии со значениями парной корреляции.

Что я сделал до сих пор и как выглядят мои данные:

Фрейм данных с информацией об образце:

> sample_info[,1:3]
    Sample                Cell_type Treatment
AM1    AM1     Alveolar_macrophages   healthy
AM2    AM2     Alveolar_macrophages   healthy
AM3    AM3     Alveolar_macrophages   healthy
IM1    IM1 Interstitial_macrophages   healthy
IM2    IM2 Interstitial_macrophages   healthy
IM3    IM3 Interstitial_macrophages   healthy
T1      T1                  T_cells   healthy
T2      T2                  T_cells   healthy
T3      T3                  T_cells   healthy

Фрейм данных со счетчиком чтения:

> head(only_counts)
               AM1    AM2    AM3    IM1    IM2    IM3     T1     T2     T3
let-7a-1-3p   1383    930   1321    621    734    347    325    355    911
let-7a-2-3p      0      0      0      1      1      4      0      0      0
let-7a-5p   396731 293379 408655 177221 165887 152788 295030 331667 457912
let-7b-3p       40     24     23    151    172     87     81    140    170
let-7b-5p     5889   3051   2353  16342  15507  10990  31974  30384  34134
let-7c-1-3p      4      2      0    103     83     65      0      0      0

Объект DESEq:

dds <- DESeqDataSetFromMatrix(countData = only_counts,
                              colData = sample_info,
                              design= ~ Cell_type)

Преобразования и расчеты:

vsd <- varianceStabilizingTransformation(dds, blind=T)
vsd_mat <- assay(vsd) #extract the vst matrix
vsd_cor <- cor(vsd_mat) #compute pairwise correlation values

Тепловая карта

pheatmap(vsd_cor,
         main="Hierarchical clustering",
         annotation = colData(dds)$Cell_type)
Error in `[.default`(annotation_col, colnames(mat), , drop = F) : 
  incorrect number of dimensions

Когда я делаю простую тепловую карту: pheatmap (vsd_cor, main = Иерархическая кластеризация)  введите описание изображения здесь

Но я хочу, чтобы вместо имен образцов отображался тип ячейки (colData (dds) $ Cell_type)

Я пробовал похожие вещи, но ничего не получалось:

pheatmap(vsd_cor,
             annotation = sample_info$Cell_type)

pheatmap(vsd_cor,
                  annotation_col = colData(dds)$Cell_type,
    annotation_row=colData(dds)$Cell_type)

pheatmap(vsd_cor,
                  annotation_col = sample_info$Cell_type,
    annotation_row=sample_info$Cell_type)

person Paula    schedule 01.09.2020    source источник


Ответы (1)


Если у кого-то есть такой же вопрос, я понял это: после получения корреляционной матрицы:

rownames(vsd_cor) <- paste(sample_info$Cell_type)
colnames(vsd_cor) <- paste(sample_info$Cell_type)
pheatmap(vsd_cor,
         main="Hierarchical clustering")

введите описание изображения здесь

person Paula    schedule 02.09.2020