imageTCGA is an R package designed to provide an
interactive Shiny application for exploring the TCGA Diagnostic Image
Database. This application allows users to filter and visualize
metadata, geographic distribution, and other relevant statistics related
to TCGA diagnostic images.
This package is part of the Multi-omic Integration of Histopathology
Image Analysis working group, which addresses the need for standardized
workflows to integrate histopathology image-derived features with
genomic and transcriptomic analyses in R/Bioconductor.
imageTCGA lays the foundation for a comprehensive platform
where pre-extracted image features from Python-based tools from TCGA
will be made accessible within R/Bioconductor data structures,
streamlining data integration and accelerating research in computational
pathology and precision oncology.
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("imageTCGA")After installing the package, you can run the Shiny application by executing the following command in R:
This will open the application in your default web browser, where you can explore 11,765 diagnostic images from 9,640 patients, filtering them based on various clinical and pathological parameters.
The application allows filtering by any of the available columns in the dataset. For instance, you can filter for a specific tumor type, such as Ovarian Cancer (107 diagnostic images).
You can generate R code to download the selected images to your local machine by clicking the orange “Generate R Code” button. This utilizes the GenomicDataCommons package.
In the example below, Ovarian Cancer images have been selected:
The dot plot visualization allows users to explore gynecological tumors (BRCA, OV, UCS, UCEC). On the left panel, you can select which variables to plot on the x-axis and y-axis.
The application provides an interactive geographic visualization, displaying the origin of diagnostic images at the center, country, and state level.
For example, in the image below, GBM tumors have been selected. Additionally, summary statistics such as the number of cities and states are reported alongside a bar plot of the state distribution.
sessionInfo()
#> R version 4.5.1 (2025-06-13)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu 24.04.3 LTS
#>
#> Matrix products: default
#> BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
#> LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so; LAPACK version 3.12.0
#>
#> locale:
#> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
#> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=C
#> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
#> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
#> [9] LC_ADDRESS=C LC_TELEPHONE=C
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
#>
#> time zone: Etc/UTC
#> tzcode source: system (glibc)
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] imageTCGA_1.3.0 shiny_1.11.1 BiocStyle_2.39.0
#>
#> loaded via a namespace (and not attached):
#> [1] viridis_0.6.5 sass_0.4.10 generics_0.1.4
#> [4] tidyr_1.3.1 digest_0.6.37 magrittr_2.0.4
#> [7] evaluate_1.0.5 grid_4.5.1 RColorBrewer_1.1-3
#> [10] fastmap_1.2.0 jsonlite_2.0.0 gridExtra_2.3
#> [13] promises_1.5.0 BiocManager_1.30.26 purrr_1.2.0
#> [16] viridisLite_0.4.2 crosstalk_1.2.2 scales_1.4.0
#> [19] codetools_0.2-20 jquerylib_0.1.4 cli_3.6.5
#> [22] rlang_1.1.6 cachem_1.1.0 yaml_2.3.10
#> [25] otel_0.2.0 tools_4.5.1 dplyr_1.1.4
#> [28] ggplot2_4.0.0 httpuv_1.6.16 curl_7.0.0
#> [31] buildtools_1.0.0 vctrs_0.6.5 R6_2.6.1
#> [34] mime_0.13 lifecycle_1.0.4 leaflet_2.2.3
#> [37] htmlwidgets_1.6.4 pkgconfig_2.0.3 pillar_1.11.1
#> [40] bslib_0.9.0 later_1.4.4 gtable_0.3.6
#> [43] glue_1.8.0 Rcpp_1.1.0 xfun_0.54
#> [46] tibble_3.3.0 tidyselect_1.2.1 sys_3.4.3
#> [49] knitr_1.50 farver_2.1.2 xtable_1.8-4
#> [52] bsicons_0.1.2 htmltools_0.5.8.1 rmarkdown_2.30
#> [55] maketools_1.3.2 compiler_4.5.1 S7_0.2.0