The iSEEhex package
Kevin Rue-Albrecht
MRC Weatherall Institute of Molecular Medicine, University of Oxford, Headington, Oxford OX3 9DS, UK.kevin.rue-albrecht@imm.ox.ac.uk
Federico Marini
Institute of Medical Biostatistics, Epidemiology and Informatics (IMBEI), MainzCenter for Thrombosis and Hemostasis (CTH), Mainzmarinif@uni-mainz.de
Charlotte Soneson
Friedrich Miescher Institute for Biomedical Research, BaselSIB Swiss Institute of Bioinformaticscharlottesoneson@gmail.com
Aaron Lun
infinite.monkeys.with.keyboards@gmail.com18 October 2024
Source:vignettes/iSEEhex.Rmd
iSEEhex.Rmd
Overview
The iSEE package
(Rue-Albrecht et al. 2018) provides a
general and flexible framework for interactively exploring
SummarizedExperiment
objects. However, in many cases, more
specialized panels are required for effective visualization of specific
data types. The iSEEhex
package implements panels summarising data points in hexagonal bins,
that work directly in the iSEE
application and can smoothly
interact with other panels.
We first load in the package:
All the panels described in this document can be deployed by simply
passing them into the iSEE()
function via the
initial=
argument, as shown in the following examples.
Example
Let us prepare an example SingleCellExperiment object.
library(scRNAseq)
# Example data ----
sce <- ReprocessedAllenData(assays="tophat_counts")
class(sce)
## [1] "SingleCellExperiment"
## attr(,"package")
## [1] "SingleCellExperiment"
library(scater)
sce <- logNormCounts(sce, exprs_values="tophat_counts")
sce <- runPCA(sce, ncomponents=4)
sce <- runTSNE(sce)
rowData(sce)$ave_count <- rowMeans(assay(sce, "tophat_counts"))
rowData(sce)$n_cells <- rowSums(assay(sce, "tophat_counts") > 0)
sce
## class: SingleCellExperiment
## dim: 20816 379
## metadata(2): SuppInfo which_qc
## assays(2): tophat_counts logcounts
## rownames(20816): 0610007P14Rik 0610009B22Rik ... Zzef1 Zzz3
## rowData names(2): ave_count n_cells
## colnames(379): SRR2140028 SRR2140022 ... SRR2139341 SRR2139336
## colData names(23): NREADS NALIGNED ... passes_qc_checks_s sizeFactor
## reducedDimNames(2): PCA TSNE
## mainExpName: endogenous
## altExpNames(1): ERCC
Then, we create an iSEE app
that compares the ReducedDimensionHexPlot
panel – defined
in this package – to the standard ReducedDimensionPlot
defined in the iSEE
package.
initialPanels <- list(
ReducedDimensionPlot(
ColorBy = "Feature name", ColorByFeatureName = "Cux2", PanelWidth = 6L),
ReducedDimensionHexPlot(
ColorBy = "Feature name", ColorByFeatureName = "Cux2", PanelWidth = 6L,
BinResolution = 30)
)
app <- iSEE(se = sce, initial = initialPanels)
Session information
## R version 4.4.1 (2024-06-14)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 22.04.5 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.20.so; LAPACK version 3.10.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [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: UTC
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] scater_1.33.4 ggplot2_3.5.1
## [3] scuttle_1.15.4 scRNAseq_2.19.1
## [5] iSEEhex_1.7.1 iSEE_2.17.4
## [7] SingleCellExperiment_1.27.2 SummarizedExperiment_1.35.4
## [9] Biobase_2.65.1 GenomicRanges_1.57.2
## [11] GenomeInfoDb_1.41.2 IRanges_2.39.2
## [13] S4Vectors_0.43.2 BiocGenerics_0.51.3
## [15] MatrixGenerics_1.17.0 matrixStats_1.4.1
## [17] BiocStyle_2.33.1
##
## loaded via a namespace (and not attached):
## [1] splines_4.4.1 later_1.3.2 BiocIO_1.15.2
## [4] bitops_1.0-9 filelock_1.0.3 tibble_3.2.1
## [7] XML_3.99-0.17 lifecycle_1.0.4 httr2_1.0.5
## [10] doParallel_1.0.17 lattice_0.22-6 ensembldb_2.29.1
## [13] alabaster.base_1.5.9 magrittr_2.0.3 sass_0.4.9
## [16] rmarkdown_2.28 jquerylib_0.1.4 yaml_2.3.10
## [19] httpuv_1.6.15 DBI_1.2.3 RColorBrewer_1.1-3
## [22] abind_1.4-8 zlibbioc_1.51.1 Rtsne_0.17
## [25] AnnotationFilter_1.29.0 RCurl_1.98-1.16 rappdirs_0.3.3
## [28] circlize_0.4.16 GenomeInfoDbData_1.2.13 ggrepel_0.9.6
## [31] irlba_2.3.5.1 alabaster.sce_1.5.1 pkgdown_2.1.1
## [34] codetools_0.2-20 DelayedArray_0.31.14 DT_0.33
## [37] tidyselect_1.2.1 shape_1.4.6.1 UCSC.utils_1.1.0
## [40] viridis_0.6.5 ScaledMatrix_1.13.0 shinyWidgets_0.8.7
## [43] BiocFileCache_2.13.2 GenomicAlignments_1.41.0 jsonlite_1.8.9
## [46] GetoptLong_1.0.5 BiocNeighbors_1.99.2 iterators_1.0.14
## [49] systemfonts_1.1.0 foreach_1.5.2 tools_4.4.1
## [52] ragg_1.3.3 Rcpp_1.0.13 glue_1.8.0
## [55] gridExtra_2.3 SparseArray_1.5.44 xfun_0.48
## [58] mgcv_1.9-1 dplyr_1.1.4 HDF5Array_1.33.8
## [61] gypsum_1.1.6 shinydashboard_0.7.2 withr_3.0.1
## [64] BiocManager_1.30.25 fastmap_1.2.0 rhdf5filters_1.17.0
## [67] fansi_1.0.6 shinyjs_2.1.0 rsvd_1.0.5
## [70] digest_0.6.37 R6_2.5.1 mime_0.12
## [73] textshaping_0.4.0 colorspace_2.1-1 listviewer_4.0.0
## [76] RSQLite_2.3.7 utf8_1.2.4 generics_0.1.3
## [79] hexbin_1.28.4 rtracklayer_1.65.0 httr_1.4.7
## [82] htmlwidgets_1.6.4 S4Arrays_1.5.11 pkgconfig_2.0.3
## [85] gtable_0.3.5 blob_1.2.4 ComplexHeatmap_2.21.1
## [88] XVector_0.45.0 htmltools_0.5.8.1 bookdown_0.41
## [91] ProtGenerics_1.37.1 rintrojs_0.3.4 clue_0.3-65
## [94] scales_1.3.0 alabaster.matrix_1.5.10 png_0.1-8
## [97] knitr_1.48 rjson_0.2.23 nlme_3.1-166
## [100] curl_5.2.3 shinyAce_0.4.2 cachem_1.1.0
## [103] rhdf5_2.49.0 GlobalOptions_0.1.2 BiocVersion_3.20.0
## [106] parallel_4.4.1 miniUI_0.1.1.1 vipor_0.4.7
## [109] AnnotationDbi_1.67.0 restfulr_0.0.15 desc_1.4.3
## [112] pillar_1.9.0 grid_4.4.1 alabaster.schemas_1.5.0
## [115] vctrs_0.6.5 promises_1.3.0 BiocSingular_1.21.4
## [118] dbplyr_2.5.0 beachmat_2.21.6 xtable_1.8-4
## [121] cluster_2.1.6 beeswarm_0.4.0 evaluate_1.0.1
## [124] GenomicFeatures_1.57.1 cli_3.6.3 compiler_4.4.1
## [127] Rsamtools_2.21.2 rlang_1.1.4 crayon_1.5.3
## [130] ggbeeswarm_0.7.2 fs_1.6.4 viridisLite_0.4.2
## [133] alabaster.se_1.5.3 BiocParallel_1.39.0 munsell_0.5.1
## [136] Biostrings_2.73.2 lazyeval_0.2.2 colourpicker_1.3.0
## [139] Matrix_1.7-0 ExperimentHub_2.13.1 bit64_4.5.2
## [142] Rhdf5lib_1.27.0 KEGGREST_1.45.1 shiny_1.9.1
## [145] highr_0.11 alabaster.ranges_1.5.2 AnnotationHub_3.13.3
## [148] fontawesome_0.5.2 igraph_2.0.3 memoise_2.0.1
## [151] bslib_0.8.0 bit_4.5.0