The iSEEhex package

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:

library(iSEEhex)

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)

Further reading

Where can I find a comprehensive introduction to iSEE?

The iSEE package contains several vignettes detailing the main functionality. You can also take a look at this workshop. A compiled version from the Bioc2019 conference (based on Bioconductor release 3.10) is available here.

Session information

sessionInfo()
## R version 4.4.1 (2024-06-14)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.1 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] 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.5              scRNAseq_2.19.1            
##  [5] iSEEhex_1.9.0               iSEE_2.17.4                
##  [7] SingleCellExperiment_1.27.2 SummarizedExperiment_1.35.5
##  [9] Biobase_2.67.0              GenomicRanges_1.57.2       
## [11] GenomeInfoDb_1.41.2         IRanges_2.39.2             
## [13] S4Vectors_0.43.2            BiocGenerics_0.53.0        
## [15] MatrixGenerics_1.17.1       matrixStats_1.4.1          
## [17] BiocStyle_2.35.0           
## 
## loaded via a namespace (and not attached):
##   [1] splines_4.4.1            later_1.3.2              BiocIO_1.17.0           
##   [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.7.0     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                buildtools_1.0.0        
##  [22] RColorBrewer_1.1-3       abind_1.4-8              zlibbioc_1.51.2         
##  [25] Rtsne_0.17               AnnotationFilter_1.31.0  RCurl_1.98-1.16         
##  [28] rappdirs_0.3.3           circlize_0.4.16          GenomeInfoDbData_1.2.13 
##  [31] ggrepel_0.9.6            irlba_2.3.5.1            alabaster.sce_1.7.0     
##  [34] maketools_1.3.1          codetools_0.2-20         DelayedArray_0.33.1     
##  [37] DT_0.33                  tidyselect_1.2.1         shape_1.4.6.1           
##  [40] UCSC.utils_1.1.0         viridis_0.6.5            ScaledMatrix_1.13.0     
##  [43] shinyWidgets_0.8.7       BiocFileCache_2.15.0     GenomicAlignments_1.41.0
##  [46] jsonlite_1.8.9           GetoptLong_1.0.5         BiocNeighbors_2.1.0     
##  [49] iterators_1.0.14         foreach_1.5.2            tools_4.4.1             
##  [52] Rcpp_1.0.13              glue_1.8.0               gridExtra_2.3           
##  [55] SparseArray_1.5.45       xfun_0.48                mgcv_1.9-1              
##  [58] dplyr_1.1.4              HDF5Array_1.33.8         gypsum_1.1.6            
##  [61] shinydashboard_0.7.2     withr_3.0.2              BiocManager_1.30.25     
##  [64] fastmap_1.2.0            rhdf5filters_1.17.0      fansi_1.0.6             
##  [67] shinyjs_2.1.0            digest_0.6.37            rsvd_1.0.5              
##  [70] R6_2.5.1                 mime_0.12                colorspace_2.1-1        
##  [73] listviewer_4.0.0         RSQLite_2.3.7            utf8_1.2.4              
##  [76] generics_0.1.3           hexbin_1.28.4            rtracklayer_1.65.0      
##  [79] httr_1.4.7               htmlwidgets_1.6.4        S4Arrays_1.5.11         
##  [82] pkgconfig_2.0.3          gtable_0.3.6             blob_1.2.4              
##  [85] ComplexHeatmap_2.23.0    XVector_0.45.0           sys_3.4.3               
##  [88] htmltools_0.5.8.1        ProtGenerics_1.37.1      rintrojs_0.3.4          
##  [91] clue_0.3-65              scales_1.3.0             alabaster.matrix_1.7.0  
##  [94] png_0.1-8                knitr_1.48               rjson_0.2.23            
##  [97] nlme_3.1-166             curl_5.2.3               shinyAce_0.4.3          
## [100] cachem_1.1.0             rhdf5_2.49.0             GlobalOptions_0.1.2     
## [103] BiocVersion_3.21.1       parallel_4.4.1           miniUI_0.1.1.1          
## [106] vipor_0.4.7              AnnotationDbi_1.69.0     restfulr_0.0.15         
## [109] pillar_1.9.0             grid_4.4.1               alabaster.schemas_1.7.0 
## [112] vctrs_0.6.5              promises_1.3.0           BiocSingular_1.23.0     
## [115] dbplyr_2.5.0             beachmat_2.23.0          xtable_1.8-4            
## [118] cluster_2.1.6            beeswarm_0.4.0           evaluate_1.0.1          
## [121] GenomicFeatures_1.57.1   cli_3.6.3                compiler_4.4.1          
## [124] Rsamtools_2.21.2         rlang_1.1.4              crayon_1.5.3            
## [127] ggbeeswarm_0.7.2         viridisLite_0.4.2        alabaster.se_1.7.0      
## [130] BiocParallel_1.41.0      munsell_0.5.1            Biostrings_2.75.0       
## [133] lazyeval_0.2.2           colourpicker_1.3.0       Matrix_1.7-1            
## [136] ExperimentHub_2.13.1     bit64_4.5.2              Rhdf5lib_1.27.0         
## [139] KEGGREST_1.45.1          shiny_1.9.1              highr_0.11              
## [142] alabaster.ranges_1.7.0   AnnotationHub_3.15.0     fontawesome_0.5.2       
## [145] igraph_2.1.1             memoise_2.0.1            bslib_0.8.0             
## [148] bit_4.5.0

References

Rue-Albrecht, Kevin, Federico Marini, Charlotte Soneson, and Aaron T. L. Lun. 2018. “iSEE: Interactive SummarizedExperiment Explorer.” F1000Research 7 (June): 741. https://doi.org/10.12688/f1000research.14966.1.