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

#r #pairwise #pheatmap

#r #попарно #pheatmap

Вопрос:

Я пытаюсь создать 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)
  

Ответ №1:

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

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

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