Para construir un heatmap vamos a utilizar el paquete ComplexHeatmap
library(ComplexHeatmap)
## Loading required package: grid
## ========================================
## ComplexHeatmap version 2.10.0
## Bioconductor page: http://bioconductor.org/packages/ComplexHeatmap/
## Github page: https://github.com/jokergoo/ComplexHeatmap
## Documentation: http://jokergoo.github.io/ComplexHeatmap-reference
##
## If you use it in published research, please cite:
## Gu, Z. Complex heatmaps reveal patterns and correlations in multidimensional
## genomic data. Bioinformatics 2016.
##
## The new InteractiveComplexHeatmap package can directly export static
## complex heatmaps into an interactive Shiny app with zero effort. Have a try!
##
## This message can be suppressed by:
## suppressPackageStartupMessages(library(ComplexHeatmap))
## ========================================
Además, necesitaremos los paquetes vroom y readxl para leer nuestros datos y dplyr para hacer transformaciones con nuestros datos.
library(readxl)
library(vroom)
library(dplyr)
Primero leemos nuestros datos
expr_matrix <- vroom("data/colon-normalizado-cancer.tsv")
## Rows: 15571 Columns: 287
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: "\t"
## chr (1): gene
## dbl (286): colon_cancer_1, colon_cancer_2, colon_cancer_3, colon_cancer_4, c...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(expr_matrix)
## # A tibble: 6 × 287
## gene colon…¹ colon…² colon…³ colon…⁴ colon…⁵ colon…⁶ colon…⁷ colon…⁸ colon…⁹
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 ENSG0… 166. 136. 144. 129. 165. 166. 166. 144. 168.
## 2 ENSG0… 31.1 18.0 2.91 7.79 17.3 7.54 37.0 12.7 25.6
## 3 ENSG0… 107. 111. 115. 127. 123. 116. 121. 122. 117.
## 4 ENSG0… 99.6 93.6 98.5 89.2 84.3 79.5 83.1 83.9 81.1
## 5 ENSG0… 92.3 85.7 94.3 96.0 86.3 86.1 92.5 84.1 86.0
## 6 ENSG0… 43.3 46.0 59.5 46.8 51.6 47.0 48.5 52.4 45.4
## # … with 277 more variables: colon_cancer_10 <dbl>, colon_cancer_11 <dbl>,
## # colon_cancer_12 <dbl>, colon_cancer_13 <dbl>, colon_cancer_14 <dbl>,
## # colon_cancer_15 <dbl>, colon_cancer_16 <dbl>, colon_cancer_17 <dbl>,
## # colon_cancer_18 <dbl>, colon_cancer_19 <dbl>, colon_cancer_20 <dbl>,
## # colon_cancer_21 <dbl>, colon_cancer_22 <dbl>, colon_cancer_23 <dbl>,
## # colon_cancer_24 <dbl>, colon_cancer_25 <dbl>, colon_cancer_26 <dbl>,
## # colon_cancer_27 <dbl>, colon_cancer_28 <dbl>, colon_cancer_29 <dbl>, …
## # ℹ Use `colnames()` to see all variable names
Después, construimos una matrix numérica con los datos para el heatmap
matriz <- expr_matrix %>%
select(-gene) %>%
as.matrix()
Ahora pondremos los genes como nombres de las filas
rownames(matriz) <- expr_matrix %>%
pull(gene)
Heatmap(matriz[, 1:8], cluster_rows = F, cluster_columns = F, show_row_names = F,
show_column_names = F)