diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.nojekyll @@ -0,0 +1 @@ + diff --git a/404.html b/404.html new file mode 100644 index 0000000..7001aa4 --- /dev/null +++ b/404.html @@ -0,0 +1,131 @@ + + +
+ + + + +YEAR: 2024 +COPYRIGHT HOLDER: iUSEiSEE authors ++ +
Copyright (c) 2024 iUSEiSEE authors
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+vignettes/about_this_workshop_00.Rmd
+ about_this_workshop_00.Rmd
The iSEE package (Rue-Albrecht et al. +2018) is a flexible, powerful and extendible application to +explore any dataset stored in SummarizedExperiment objects, including +single cell, spatially resolved data, but also bulk data +(transcriptomics and proteomics being just two examples of what can +efficiently fit in there!).
+iSEE enables a multitude of panels to gain in-depth insight in your +data; it does so combining interactivity and reproducibility, and +providing an ideal companion to other tools (such as CELLxGENE) for +deeper dives into data.
+This package provides a complete overview of the functionality of the +iSEE +Bioconductor package, and is intended as some kind of +“masterclass-level” workshop - indeed, the material is enough to cover a +full-day workshop on iSEE.
+Participants will be able (and heartily invited) to follow along in +the live coding parts of the workshop. This is very much intended as a +hands-on learning resource.
+Given the hands-on nature of this, this is going to be a BYOD (Bring +Your Own Device) event - if cloud-based setups are provided, this +information will be passed on in advance to the participants. +Nonetheless, we value the side effect of participants installing a +working environment as a part of the learning objectives.
+Participants will (likely) use a set of stickers to indicate their +progress throughout the material, to be attached onto the laptop lid. In +brief:
+We do stress the importance of working together on such tasks, +therefore participants are very encouraged to talk to their neighbors +during the task sessions!
+iSEE
: https://bioconductor.org/packages/iSEE
+iSEEu
: https://bioconductor.org/packages/iSEEu
+iSEEde
: https://bioconductor.org/packages/iSEEde
+iSEEpathways
: https://bioconductor.org/packages/iSEEpathways
+iSEEhub
: https://bioconductor.org/packages/iSEEhub
+iSEEindex
: https://bioconductor.org/packages/iSEEindex
+iSEEfier
: https://bioconductor.org/packages/iSEEfier
+After a short presentation, we will start going through the material
+in the vignettes
folder:
vignettes/bonus_content_04.Rmd
+ bonus_content_04.Rmd
This vignette contains some examples on even more
+iSEE
-things (Rue-Albrecht et al.
+2018).
We will use the following packages throughout its content (make sure +to have them installed if you want to run it interactively)
+ +We’d like to open up a challenge, with some simple rules:
+iSEE
- as far as this
+is possible!Let’s suggest a couple of figure/figure panels!
+Enter a couple of suggestions in this GSheet: https://docs.google.com/spreadsheets/d/1poE713rXqzfNdPcKAPN2AxJYXhaxy8GwgAjRsk_UiK8/edit?usp=sharing
iSEEde and iSEEpathways: ideal companions for exploring DE +results
+We first load the processed macrophage
data (derived
+from the work of (Alasoo et al. 2018)) -
+on this, we already ran the workflow of DESeq2
(Love, Huber, and Anders 2014) to identify the
+differentially expressed genes.
+macrophage_location <- system.file("datasets", "sce_macrophage_readytouse.RDS",
+ package = "iUSEiSEE"
+)
+macrophage_location
+#> [1] "/Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/library/iUSEiSEE/datasets/sce_macrophage_readytouse.RDS"
+
+sce_macrophage <- readRDS(macrophage_location)
+
+library("iSEE")
+library("iSEEde")
+library("iSEEpathways")
iSEEde and
+iSEEpathways
+are two new Bioconductor packages that provide iSEE panels
+specifically aimed towards exploration of differential expression and
+pathway analysis results. More precisely, iSEEde
+provides the VolcanoPlot
, MAPlot
,
+LogFCLogFCPlot
and DETable
panels. These
+panels can be configured to extract data that was added via the
+embedContrastResults()
function above. Let’s look at an
+example:
+app <- iSEE(sce_macrophage, initial = list(
+ DETable(
+ ContrastName = "IFNgTRUE.SL1344TRUE.DESeq2",
+ HiddenColumns = c("baseMean", "lfcSE", "stat")
+ ),
+ VolcanoPlot(ContrastName = "IFNgTRUE.SL1344TRUE.DESeq2"),
+ MAPlot(ContrastName = "IFNgTRUE.SL1344TRUE.DESeq2")
+))
Note how it is easy to switch to a different contrast in any of the +panels.
+
+app <- iSEE(sce_macrophage, initial = list(
+ iSEEde::DETable(
+ ContrastName = "IFNgTRUE.SL1344TRUE.DESeq2",
+ HiddenColumns = c("baseMean", "lfcSE", "stat")
+ ),
+ iSEEde::VolcanoPlot(ContrastName = "IFNgTRUE.SL1344TRUE.DESeq2"),
+ iSEEde::MAPlot(ContrastName = "IFNgTRUE.SL1344TRUE.DESeq2"),
+ PathwaysTable(
+ ResultName = "IFNgTRUE.SL1344TRUE.limma.fgsea",
+ Selected = "GO:0046324"
+ ),
+ ComplexHeatmapPlot(
+ RowSelectionSource = "PathwaysTable1",
+ CustomRows = FALSE, ColumnData = "condition_name",
+ ClusterRows = TRUE, Assay = "vst"
+ ),
+ FgseaEnrichmentPlot(
+ ResultName = "IFNgTRUE.SL1344TRUE.limma.fgsea",
+ PathwayId = "GO:0046324"
+ )
+))
Let’s say we are interested in visualizing the expression of a list +of specific marker genes in one view, or maybe we created different +initial states separately, but would like to visualize them in the same +instance. As we previously learned, we can do a lot of these tasks by +running the command:
+
+# don't run
+iSEE(sce)
Then, add/remove the panels to our need. This can involve multiple
+steps (selecting the gene of interest, color by a specific
+colData
…), or probably even write multiple lines of code.
+For that we can use the iSEEfier
+package, which streamlines the process of starting (or if you will,
+firing up) an iSEE
instance with a small chunk of code,
+avoiding the tedious way of setting up every iSEE
panel
+individually.
In this section, we will illustrate a simple example of how to use +iSEEfier. +We will use the same pbmc3k data we worked with during this +workshop.
+We start by loading the data:
+
+library("iSEEfier")
+
+# import data
+sce <- readRDS(
+ file = system.file("datasets", "sce_pbmc3k.RDS", package = "iUSEiSEE")
+)
+
+sce
+#> class: SingleCellExperiment
+#> dim: 32738 2643
+#> metadata(0):
+#> assays(2): counts logcounts
+#> rownames(32738): MIR1302-10 FAM138A ... AC002321.2 AC002321.1
+#> rowData names(19): ENSEMBL_ID Symbol_TENx ... FDR_cluster11
+#> FDR_cluster12
+#> colnames(2643): Cell1 Cell2 ... Cell2699 Cell2700
+#> colData names(24): Sample Barcode ... labels_ont cell_ontology_labels
+#> reducedDimNames(3): PCA TSNE UMAP
+#> mainExpName: NULL
+#> altExpNames(0):
For example, we can be interested in visualizing the expression of +GZMB, TGFB, and CD28 genes all at once. We +start by providing a couple of parameters:
+
+# define the list of genes
+feature_list_1 <- c("GZMB", "TGFB1", "CD28")
+# define the cluster/cell type
+cluster_1 <- "labels_main"
Now we can pass these parameters into iSEEinit()
to
+create a customized initial configuration:
+# create an initial state with iSEEinit
+initial_1 <- iSEEinit(sce,
+ features = feature_list_1,
+ clusters = cluster_1,
+ add_markdown_panel = TRUE)
The rest can be as easy as passing this initial to the
+iSEE()
call:
+app <- iSEE(sce, initial = initial_1)
This is how it would look like:
+ +While we are visualizing the expression of these genes, we might want
+to take some notes (gene X is more expressed in a certain cell
+type/cluster than some others, maybe we are trying to annotate the cells
+ourselves if the annotation wasn’t available…).
+For this, we used the argument add_markdown_panel = TRUE
.
+It will display a MarkdownBoard
panel where we can note our
+observations without leaving the app.
We can also use the argument add_dynamicTable_panel=TRUE
+to add another custom panel to display the maker genes of certain
+cluster/cell type.
+feature_list_2 <- c("CD74", "CD79B")
+initial_2 <- iSEEinit(sce,
+ features = feature_list_2,
+ clusters = cluster_1,
+ add_markdown_panel = TRUE,
+ add_dynamicTable_panel = TRUE)
+app <- iSEE(sce, initial = initial_2)
We can check the initial’s content, or how the included panels are
+linked between each other without running the app with
+view_initial_tiles()
and
+view_initial_network()
:
+# display a graphical representation of the initial configuration, where the panels are identified by their corresponding colors
+view_initial_tiles(initial = initial_1)
+# display a network visualization for the panels
+view_initial_network(initial_1, plot_format = "igraph")
#> IGRAPH 2f97daf DN-- 14 4 --
+#> + attr: name (v/c), color (v/c)
+#> + edges from 2f97daf (vertex names):
+#> [1] ReducedDimensionPlot1->ColumnDataPlot1
+#> [2] ReducedDimensionPlot2->ColumnDataPlot1
+#> [3] ReducedDimensionPlot3->ColumnDataPlot1
+#> [4] ReducedDimensionPlot4->FeatureAssayPlot4
+Another alternative for network visualization would use the
+interactive widget provided by visNetwork
:
+view_initial_network(initial_1, plot_format = "visNetwork")
+#> IGRAPH 1c615d0 DN-- 14 4 --
+#> + attr: name (v/c), color (v/c)
+#> + edges from 1c615d0 (vertex names):
+#> [1] ReducedDimensionPlot1->ColumnDataPlot1
+#> [2] ReducedDimensionPlot2->ColumnDataPlot1
+#> [3] ReducedDimensionPlot3->ColumnDataPlot1
+#> [4] ReducedDimensionPlot4->FeatureAssayPlot4
It is also possible to combine multiple initials into one:
+
+merged_config <- glue_initials(initial_1, initial_2)
+#> Merging together 2 `initial` configuration objects...
+#> Combining sets of 14, 14 different panels.
+#>
+#> Dropping 2 of the original list of 28 (detected as duplicated entries)
+#>
+#> Some names of the panels were specified by the same name, but this situation can be handled at runtime by iSEE
+#> (This is just a non-critical message)
+#>
+#> Returning an `initial` configuration including 26 different panels. Enjoy!
+#> If you want to obtain a preview of the panels configuration, you can call `view_initial_tiles()` on the output of this function
+# check out the content of merged_config
+view_initial_tiles(initial = merged_config)
?iSEEfier
is always your friend whenever you need
+further documentation on the package/a certain function and how to use
+it.
We will take another dataset for this, from a recent work of Bartneck +and colleagues ((Bartneck et al. +2023)).
+You can find the dataset in the sce_merged_allsets.RDS
+object - let’s see together how we can access that –> https://seafile.rlp.net/d/c7f1335a6248427d97da/.
Once the data is available locally, we load it in the R session and +simply start iSEE on it.
+ +For more about this work, please refer to the original +publication.
+iSEE
ing the ExperimentHub datasets
+The iSEEhub +package provides a custom landing page for an iSEE +application interfacing with the Bioconductor ExperimentHub. +The landing page allows users to browse the ExperimentHub, select a data +set, download and cache it, and import it directly into an iSEE app.
+
+library("iSEE")
+library("iSEEhub")
+#> Loading required package: ExperimentHub
+#> Loading required package: AnnotationHub
+#> Loading required package: BiocFileCache
+#> Loading required package: dbplyr
+#>
+#> Attaching package: 'AnnotationHub'
+#> The following object is masked from 'package:Biobase':
+#>
+#> cache
+
+ehub <- ExperimentHub()
+app <- iSEEhub(ehub)
iSEE
to explore them
+all
+iSEEindex
+provides an interface to any collection of data sets
+within a single iSEE web-application.
+The main functionality of this package is to define a custom landing
+page allowing app maintainers to list a custom collection of data sets
+that users can select from and directly load objects into an iSEE web
+application. To see how to configure such an app, we will create a small
+example:
+library("iSEE")
+library("iSEEindex")
+
+bfc <- BiocFileCache(cache = tempdir())
+
+dataset_fun <- function() {
+ x <- yaml::read_yaml(system.file(package = "iSEEindex", "example.yaml"))
+ x$datasets
+}
+initial_fun <- function() {
+ x <- yaml::read_yaml(system.file(package = "iSEEindex", "example.yaml"))
+ x$initial
+}
+app <- iSEEindex(bfc, dataset_fun, initial_fun)
A more elaborate example (referring to the work in (Rigby et al. 2023)) is available at https://rehwinkellab.shinyapps.io/ifnresource/. +The source can be found at https://github.com/kevinrue/IFNresource.
+ + + + + +Potential use cases can include:
+Tours can be an essential tool to satisfy two needs:
+A simple example can be demonstrated with this configuration:
+
+sce_location <- system.file("datasets", "sce_pbmc3k.RDS", package = "iUSEiSEE")
+sce_location
+#> [1] "/Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/library/iUSEiSEE/datasets/sce_pbmc3k.RDS"
+sce <- readRDS(sce_location)
+
+initial_for_tour <- list(
+ ReducedDimensionPlot(PanelWidth = 3L),
+ RowDataTable(PanelWidth = 3L),
+ FeatureAssayPlot(PanelWidth = 3L),
+ ComplexHeatmapPlot(PanelWidth = 3L)
+)
This next chunk defines the steps of the tour,
+specified by an anchoring point (element
) and the content
+of that step (intro
).
+tour <- data.frame(
+ element = c(
+ "#Welcome",
+ "#ReducedDimensionPlot1",
+ "#RowDataTable1",
+ "#ComplexHeatmapPlot1",
+ "#FeatureAssayPlot1",
+ "#ReducedDimensionPlot1",
+ "#Conclusion"),
+ intro = c(
+ "Welcome to this tour!",
+ "This is the a reduced dimension plot",
+ "and this is a table",
+ "Why not a heatmap?",
+ "... and now we look at one individual feature.",
+ "Back to the a reduced dimension plot...",
+ "Thank you for taking this tour!"),
+ stringsAsFactors = FALSE
+)
+
+app <- iSEE(sce, initial = initial_for_tour, tour = tour)
+sessionInfo()
+#> R version 4.4.0 (2024-04-24)
+#> Platform: x86_64-apple-darwin20
+#> Running under: macOS Monterey 12.7.1
+#>
+#> Matrix products: default
+#> BLAS: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRblas.0.dylib
+#> LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.0
+#>
+#> locale:
+#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
+#>
+#> time zone: Europe/Berlin
+#> tzcode source: internal
+#>
+#> attached base packages:
+#> [1] stats4 stats graphics grDevices utils datasets methods
+#> [8] base
+#>
+#> other attached packages:
+#> [1] iSEEindex_1.2.0 iSEEhub_1.6.0
+#> [3] ExperimentHub_2.12.0 AnnotationHub_3.12.0
+#> [5] BiocFileCache_2.12.0 dbplyr_2.5.0
+#> [7] iSEEfier_1.0.0 iSEEpathways_1.2.0
+#> [9] iSEEde_1.2.0 iSEE_2.15.1
+#> [11] SingleCellExperiment_1.26.0 SummarizedExperiment_1.33.3
+#> [13] Biobase_2.64.0 GenomicRanges_1.55.4
+#> [15] GenomeInfoDb_1.40.0 IRanges_2.38.0
+#> [17] S4Vectors_0.42.0 BiocGenerics_0.50.0
+#> [19] MatrixGenerics_1.16.0 matrixStats_1.3.0
+#> [21] BiocStyle_2.32.0
+#>
+#> loaded via a namespace (and not attached):
+#> [1] RColorBrewer_1.1-3 rstudioapi_0.16.0 jsonlite_1.8.8
+#> [4] shape_1.4.6.1 magrittr_2.0.3 farver_2.1.1
+#> [7] rmarkdown_2.26 GlobalOptions_0.1.2 fs_1.6.4
+#> [10] zlibbioc_1.50.0 ragg_1.3.0 vctrs_0.6.5
+#> [13] memoise_2.0.1 RCurl_1.98-1.14 htmltools_0.5.8.1
+#> [16] S4Arrays_1.4.0 BiocBaseUtils_1.6.0 curl_5.2.1
+#> [19] SparseArray_1.4.0 sass_0.4.9 bslib_0.7.0
+#> [22] htmlwidgets_1.6.4 desc_1.4.3 fontawesome_0.5.2
+#> [25] listviewer_4.0.0 cachem_1.0.8 igraph_2.0.3
+#> [28] mime_0.12 lifecycle_1.0.4 iterators_1.0.14
+#> [31] pkgconfig_2.0.3 colourpicker_1.3.0 Matrix_1.7-0
+#> [34] R6_2.5.1 fastmap_1.1.1 GenomeInfoDbData_1.2.12
+#> [37] shiny_1.8.1.1 clue_0.3-65 digest_0.6.35
+#> [40] colorspace_2.1-0 paws.storage_0.5.0 AnnotationDbi_1.65.2
+#> [43] DESeq2_1.44.0 RSQLite_2.3.6 textshaping_0.3.7
+#> [46] filelock_1.0.3 urltools_1.7.3 fansi_1.0.6
+#> [49] httr_1.4.7 abind_1.4-5 mgcv_1.9-1
+#> [52] compiler_4.4.0 bit64_4.0.5 withr_3.0.0
+#> [55] doParallel_1.0.17 BiocParallel_1.38.0 DBI_1.2.2
+#> [58] shinyAce_0.4.2 hexbin_1.28.3 highr_0.10
+#> [61] rappdirs_0.3.3 DelayedArray_0.30.0 rjson_0.2.21
+#> [64] tools_4.4.0 vipor_0.4.7 httpuv_1.6.15
+#> [67] glue_1.7.0 nlme_3.1-164 promises_1.3.0
+#> [70] grid_4.4.0 cluster_2.1.6 generics_0.1.3
+#> [73] gtable_0.3.5 utf8_1.2.4 XVector_0.44.0
+#> [76] stringr_1.5.1 BiocVersion_3.19.1 ggrepel_0.9.5
+#> [79] foreach_1.5.2 pillar_1.9.0 limma_3.60.0
+#> [82] later_1.3.2 rintrojs_0.3.4 circlize_0.4.16
+#> [85] splines_4.4.0 dplyr_1.1.4 lattice_0.22-6
+#> [88] bit_4.0.5 paws.common_0.7.2 tidyselect_1.2.1
+#> [91] ComplexHeatmap_2.20.0 locfit_1.5-9.9 Biostrings_2.72.0
+#> [94] miniUI_0.1.1.1 knitr_1.46 edgeR_4.2.0
+#> [97] xfun_0.43 shinydashboard_0.7.2 statmod_1.5.0
+#> [100] iSEEhex_1.5.0 DT_0.33 stringi_1.8.3
+#> [103] visNetwork_2.1.2 UCSC.utils_1.0.0 yaml_2.3.8
+#> [106] shinyWidgets_0.8.6 evaluate_0.23 codetools_0.2-20
+#> [109] tibble_3.2.1 BiocManager_1.30.22 cli_3.6.2
+#> [112] xtable_1.8-4 systemfonts_1.0.6 munsell_0.5.1
+#> [115] jquerylib_0.1.4 iSEEu_1.15.1 Rcpp_1.0.12
+#> [118] triebeard_0.4.1 png_0.1-8 parallel_4.4.0
+#> [121] blob_1.2.4 pkgdown_2.0.9 ggplot2_3.5.1
+#> [124] bitops_1.0-7 viridisLite_0.4.2 scales_1.3.0
+#> [127] purrr_1.0.2 crayon_1.5.2 GetoptLong_1.0.5
+#> [130] rlang_1.1.3 KEGGREST_1.44.0 shinyjs_2.1.0
vignettes/iSEE_overview_02.Rmd
+ iSEE_overview_02.Rmd
This vignette provides an overview of the graphical interface of +iSEE +applications (Rue-Albrecht et al. 2018). +To follow along, make sure that you launch the default iSEE +instance as described in the next code block at the start of the following section.
+Note that in the default configuration, the panels do not look +exactly like the ones shown in the screenshots that you will see below. +For example, data points are not immediately colored, and the default +annotation variables displayed by each panel may differ. The hands-on recipes workshop of this workshop will +demonstrate how to modify the content of the panels, and how they are +displayed.
+Note that for simplicity, we typically refer to a
+SummarizedExperiment
in this workshop; however, iSEE works
+seamlessly for objects of any class extending
+SummarizedExperiment
as well (e.g.,
+SingleCellExperiment
, DESeqDataSet
). That
+said, some types of panels – such as the Reduced dimension plot – are
+only available for objects that contain a reducedDim
slot
+(in particular, SingleCellExperiment
objects); the basic
+SummarizedExperiment
class does not contain this slot. In
+this workshop, we refer to the rows of the
+SummarizedExperiment
object as ‘features’ (these can be
+genes, transcripts, genomic regions, etc) and to the columns as
+‘samples’ (which, in our example data set, are single cells).
Using the demonstration data set, we can launch an iSEE
+instance for exploring this data set using the iSEE()
+function without any further argument. This will produce an app using
+the default configuration; that is, the app instance will include one
+panel of each built-in class for which the relevant information is
+available in the SummarizedExperiment
object.
+library("iSEE")
+sce_location <- system.file("datasets", "sce_pbmc3k.RDS", package = "iUSEiSEE")
+sce_location
+#> [1] "/Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/library/iUSEiSEE/datasets/sce_pbmc3k.RDS"
+sce <- readRDS(sce_location)
+app <- iSEE(sce)
+shiny::runApp(app)
The main argument to the iSEE()
function is a
+SummarizedExperiment
object, or an object of any class
+extending SummarizedExperiment
(such as
+SingleCellExperiment
, in this case). No other restrictions
+are made on the type of data stored in the object, and iSEE can be
+used for interactive visualization of many different types of data. It
+is also worth noting that for various types of data, Bioconductor
+packages provides functionality for directly importing quantifications
+generated by external software packages into a
+SummarizedExperiment
object. For example, the DropletUtils
+package can read quantifications from the 10x Genomics CellRanger
+pipeline for single-cell RNA-seq data, and the tximeta
+package can be used to read data from transcript quantification
+pipelines into a SummarizedExperiment
object.
While we will not make explicit use of it in this workshop, we note
+that it is also possible to call iSEE()
without providing a
+SummarizedExperiment
object. In that case, the user will be
+prompted to upload such an object, serialized into a .rds
+file. It is also possible to import a specification of the initial panel
+setup.
+app <- iSEE()
+shiny::runApp(app)
The iSEE user
+interface (UI) consists of a number of panels, each displaying the data
+provided in the SummarizedExperiment
from a specific
+perspective. There are 8 standard panel types; 6 plot panels and 2 table
+panels, all showcased in the figure shown at the start of the previous section. In the default configuration,
+one panel of each type is included when launching the iSEE user
+interface. However, users are free to rearrange, resize, remove or add
+panels freely, as demonstrated in the separate vignette of workshop recipes. We provide a brief overview of
+each panel type in the following subsections.
In addition to the 8 standard panel types included in iSEE, users +can create custom panels (both plots and tables). Moreover, the iSEEu (iSEE +universe) package contains additional panel types. The creation and +configuration of custom panels is also demonstrated in a series of workshop advanced recipes.
+Specifically, iSEE panels +are implemented as a hierarchy of S4 classes. Only concrete +classes (orange) may be instantiated as panels in the user interface; +while virtual classes (grey) provide functionality shared by +families of panels (e.g., sample-oriented plots, feature-oriented +tables).
+ + +The reduced dimension plot can display any reduced dimension
+representation that is present in the reducedDim
slot of
+the SingleCellExperiment
object.
Note that this slot is not defined for the base
+SummarizedExperiment
class, in which case the user
+interface does not allow the inclusion of panels of this type.
The column data plot can display one or two of the provided column
+annotations (from the colData
slot). Depending on the class
+of the selected annotations, the panel shows either a scatter plot, a
+violin plot, or a Hinton diagram (Hinton and
+Shallice 1991; Bremner, Gotts, and Denham 1994).
Analogous to the column data plot above,
+the row data plot displays one or two of the provided row annotations
+(from the rowData
slot). Depending on the class of the
+selected annotations, the panel displays either a scatter plot, a violin
+plot, or a Hinton plot.
The complex heatmap panel displays, for any assay, the observed +values for a subset of the features across the samples.
+ +The feature assay plot displays the observed values for one feature +across the samples. It is also possible to plot the observed values for +two features, in a scatter plot.
+ +Analogous to the Feature assay plot +above, the Sample assay plot shows the observed values for all features, +for one of the samples. It is also possible to plot the observed values +for two samples, in a scatter plot.
+ +The row data table displays all information provided in the
+rowData
slot of the SummarizedExperiment
+object, leveraging the interactivity provided by the DT package.
Analogous to the Row data table above,
+the column data table displays all information provided in the
+colData
slot of the SummarizedExperiment
+object.
Each plot panel type has a Data parameters
collapsible
+box. This box has different content for each panel type, but in all
+cases it lets the user control the data that is displayed in the
+plot.
In contrast to the Data parameters
collapsible box that
+lets users control what is displayed in the plot, the
+Visual parameters
box lets users control how the
+information is displayed.
This collapsible box contains the controls to change the size, shape, +opacity, and color of the points, to facet the plot by any available +categorical annotation, to subsample points for increased speed of plot +rendering, and to control how legends are displayed.
+ +The Selection parameters
collapsible box provides
+controls to transfer selections of points (features or samples) between
+panels.
We demonstrate examples of point transmission in the separate +vignette of workshop recipes
+ +At the top-right corner of the iSEE application, users can find +additional controls for reproducibility, configuration, and help.
+Organization | ++ |
+Organize panels Examine panel chart + |
+
Export | ++ |
+Download panel output Extract R code Display panel settings + |
+
Documentation | ++ |
+Quick tour Open the vignette + |
+
Additional info | ++ |
+About this session About iSEE + |
+
As mentioned above, the default behaviour of the iSEE()
+function is to launch an instance of the user interface that displays
+one panel of each of the standard types (provided the underlying data is
+available, e.g. for reduced dimension plots the reducedDim
+slot is required). However, in some cases it is desirable to have
+multiple panels of the same type, and/or exclude some panel types.
In order to accommodate such situations, users can add, remove,
+change the order of and resize all panels via the
+Organization
menu in the top-right corner.
Clicking in the selectize box listing all current panels will present +you with a drop-down menu from which you can choose additional panels to +add. Similarly, panels can be removed by clicking on the + icon associated with the panel name.
+Each panel can be individually resized by changing the width and +height. Note that the total width of a row in the interface is 12 units. +When the width of a panel is greater than the space available, the panel +is moved to a new row.
+ +When exploring data, it is often useful to be able to select a subset +of points and investigate different aspects of their characteristic +features. In iSEE, this +can be achieved by selecting points in one panel, and +transmitting this selection to one or more other panels.
+The brushing and point selection can also be programmatically +preconfigured.
+The button Examine panel chart
display a graph that
+reports any active point transmission between panels in the app.
The Download panel output
button opens a modal window
+listing all the current panels in the app. Checkboxes allow users to
+select any subset of panels to export. Finally, clicking the
+Download
button in that modal will prompt the app to save
+plots to PDF files, tables to CSV files, package the set of files in a
+ZIP archive that users can download and save on their computer.
The fact that data exploration is done interactively is no reason to +forego reproducibility! To this end, iSEE lets +you export the exact R code used to create each of the currently visible +plots.
+Importantly, the script reported by iSEE +contains a short preamble needed to set up variable names that are used +in individual panels, including active brushes used to transfer point +selections.
+ +It can take a great amount of time to achieve a satisfactory panel +configuration. To avoid the need to manually organize the panels each +time the app is opened, iSEE offers +the possibility to export code that can be reused later to +programmatically specify how the app is initialized, as well as to +inspect and export the current panel settings for future use.
+ +One important aspect of visualization is the ability to share your
+insights with others. A powerful way of easily getting people unfamiliar
+with your data up to speed is to provide a walkthrough of the interface
+and the different types of plots that are displayed. With iSEE, this
+can be achieved using tours. To configure a tour, you need to
+create a text file with two columns; named element
and
+intro
, with the former describing the UI element to
+highlight in each step, and the latter providing the descriptive text
+that will be displayed.
Clicking the Quick tour
button launches an interactive
+tour of the interface using the rintrojs
+package, highlighting specific elements of the user interface, labeled
+with information and instructions guiding users through panels and tasks
+specific to individual apps.
You can see a live example of a more complex tour in action, visit https://marionilab.cruk.cam.ac.uk/iSEE_pbmc4k/. The code +used to create this app and the associated tour is available from https://github.com/iSEE/iSEE2018/tree/master/tours/pbmc4k.
+The user interface navigation bar also includes this button to open +the introductory vignette to iSEE in your +we browser.
+Depending on the version of iSEE that +you are using, this will adaptively lead you to a locally built vignette +present on your computer, or the release or the devel +version of the Bioconductor package landing page, e.g. <Bioconductor +3.19>.
+This button displays the output of sessionInfo()
, which
+is a useful piece of information to report when reporting an issue with
+an app.
This button provides information about the authors of iSEE, as +well as citation information.
+If you use this package, please use the following citation +information:
+++Rue-Albrecht K, Marini F, Soneson C, Lun ATL (2018). “iSEE: +Interactive SummarizedExperiment Explorer.” F1000Research, +7, 741. doi: 10.12688/f1000research.14966.1 (URL: https://doi.org/10.12688/f1000research.14966.1).
+
A BibTeX entry for LaTeX users is:
+@Article{,
+ title = {iSEE: Interactive SummarizedExperiment Explorer},
+ author = {Kevin Rue-Albrecht and Federico Marini and Charlotte Soneson and Aaron T. L. Lun},
+ publisher = {F1000 Research, Ltd.},
+ journal = {F1000Research},
+ year = {2018},
+ month = {Jun},
+ volume = {7},
+ pages = {741},
+ doi = {10.12688/f1000research.14966.1},
+}
+In this section, we list a number of actions you can perform, +possibly in a very smooth manner, with the help of iSEE.
+These are reported here as bullet points, and will be demonstrated by +the instructors.
+Organize panels
button.Apply settings
afterwards.initial
configuration of
+panels.initial
providedVisual parameters
collapsible box in one of
+the Reduced dimension plot panels, and set
+Color by:
to Column data
.Cluster
, which contains the cluster
+labels that were assigned to the cells in the preprocessing steplog10_total
).#Color by:
to Feature name
in one of
+the Reduced dimension plot panels, and select one of the genes
+from the dropdown menu. You can search for a gene of interest by typing
+in the dropdown box.Color by:
to Sample name
in one of the
+Reduced dimension plots, and use the dropdown menu underneath to change
+the highlighted cell.iSEE
in the default configurationiSEE
in an empty configurationThe iSEEu +(“iSEE universe”) Bioconductor package defines additional custom panels +and predefined ‘modes’ (startup configurations) that may be useful for +specific applications. Here we illustrate the use of the reduced +dimension mode, which will start an application with one reduced +dimension panel for each reduced dimension representation in the input +object.
+
+library("iSEEu")
+#> Loading required package: iSEEhex
+app <- modeReducedDim(sce)
+shiny::runApp(app)
Furthermore, since iSEE version
+2.0.0, users can leverage the implementation of panels as a hierarchy of
+S4 classes to rapidly extend the framework and develop new types of
+panels with virtually unlimited freedom of functionality. In this
+framework, new panel types can be readily integrated in apps alongside
+built-in panel types and immediately benefit of most panel functionality
+with minimal effort, including the capacity to transmit selections to
+and from other panels. New panels may be implemented by extending the
+core virtual class Panel
directly for full control over the
+user interface and reactive observers; alternatively, it is often
+desirable for developers to inherit from one of the concrete panel
+classes to get most of the essential functionality from the parent class
+“for free”.
Use cases demonstrating the implementation of new panels with various +levels of complexity are available in the Extending iSEE bookdown. +For example, the Hexagonal reduced dimension plot - implemented +in the iSEEu +package - demonstrates an alternative to the downsampling strategy, by +summarizing data points into hexagonal bins.
+
+app <- iSEE(sce, initial = list(
+ ReducedDimensionPlot(PanelWidth = 6L),
+ ReducedDimensionHexPlot(PanelWidth = 6L)
+))
+shiny::runApp(app)
Another useful mode you can use with your data, especially if using
+iSEE for mass cytometry data, would be the modeGating
. This
+launches an app preconfigured with multiple chain-linked feature
+expression plots for interactive data exploration.
+# Select top variable genes ----
+plot_count <- 6
+rv <- rowVars(assay(sce, "logcounts"))
+top_var <- head(order(rv, decreasing=TRUE), plot_count*2)
+top_var_genes <- rownames(sce)[top_var]
+
+plot_features <- data.frame(
+ x=head(top_var_genes, plot_count),
+ y=tail(top_var_genes, plot_count),
+ stringsAsFactors=FALSE
+)
+
+# launch the app itself ----
+
+app <- modeGating(sce,
+ plotAssay = "logcounts",
+ features = plot_features)
+shiny::runApp(app)
Interestingly, iSEEu also has a set of extra panels that can come in
+handy in different situations. For example,
+iSEEu::AggregatedDotPlot
implements an aggregated dot plot
+where each feature/group combination is represented by a dot. The color
+of the dot scales with the mean assay value across all samples for a
+given group, while the size of the dot scales with the proportion of
+non-zero values across samples in that group. This can be an alternative
+to a heatmap, and an example can be seen in the chunks below:
+app <- iSEE(
+ sce,
+ initial = list(
+ AggregatedDotPlot(
+ Assay = "logcounts",
+ ColumnDataLabel = "labels_main",
+ CustomRowsText = top_var_genes
+ )
+
+ )
+)
New panels and modes may be defined in independent R
+packages that declare Imports: iSEE
in their DESCRIPTION
+file, and distributed online to create an “iSEE-verse” of interoperable
+packages for interactive visualization, akin to the tidyverse
+collection of R packages for data science. If you have ideas about
+additional panels and/or modes that might be useful, we welcome issues
+and pull requests at https://github.com/iSEE/iSEEu.
A lot of materials have been developed, from the first use of iSEE to +contributions of new panel classes in separate downstream packages.
+
+sessionInfo()
+#> R version 4.4.0 (2024-04-24)
+#> Platform: x86_64-apple-darwin20
+#> Running under: macOS Monterey 12.7.1
+#>
+#> Matrix products: default
+#> BLAS: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRblas.0.dylib
+#> LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.0
+#>
+#> locale:
+#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
+#>
+#> time zone: Europe/Berlin
+#> tzcode source: internal
+#>
+#> attached base packages:
+#> [1] stats4 stats graphics grDevices utils datasets methods
+#> [8] base
+#>
+#> other attached packages:
+#> [1] iSEEu_1.15.1 iSEEhex_1.5.0
+#> [3] iSEE_2.15.1 SingleCellExperiment_1.26.0
+#> [5] SummarizedExperiment_1.33.3 Biobase_2.64.0
+#> [7] GenomicRanges_1.55.4 GenomeInfoDb_1.40.0
+#> [9] IRanges_2.38.0 S4Vectors_0.42.0
+#> [11] BiocGenerics_0.50.0 MatrixGenerics_1.16.0
+#> [13] matrixStats_1.3.0 BiocStyle_2.32.0
+#>
+#> loaded via a namespace (and not attached):
+#> [1] bitops_1.0-7 rlang_1.1.3 magrittr_2.0.3
+#> [4] shinydashboard_0.7.2 clue_0.3-65 GetoptLong_1.0.5
+#> [7] compiler_4.4.0 mgcv_1.9-1 png_0.1-8
+#> [10] systemfonts_1.0.6 vctrs_0.6.5 pkgconfig_2.0.3
+#> [13] shape_1.4.6.1 crayon_1.5.2 fastmap_1.1.1
+#> [16] XVector_0.44.0 fontawesome_0.5.2 utf8_1.2.4
+#> [19] promises_1.3.0 rmarkdown_2.26 shinyAce_0.4.2
+#> [22] UCSC.utils_1.0.0 ragg_1.3.0 purrr_1.0.2
+#> [25] xfun_0.43 zlibbioc_1.50.0 cachem_1.0.8
+#> [28] jsonlite_1.8.8 listviewer_4.0.0 highr_0.10
+#> [31] later_1.3.2 DelayedArray_0.30.0 parallel_4.4.0
+#> [34] cluster_2.1.6 R6_2.5.1 bslib_0.7.0
+#> [37] RColorBrewer_1.1-3 jquerylib_0.1.4 Rcpp_1.0.12
+#> [40] iterators_1.0.14 knitr_1.46 httpuv_1.6.15
+#> [43] Matrix_1.7-0 splines_4.4.0 igraph_2.0.3
+#> [46] tidyselect_1.2.1 rstudioapi_0.16.0 abind_1.4-5
+#> [49] yaml_2.3.8 doParallel_1.0.17 codetools_0.2-20
+#> [52] miniUI_0.1.1.1 lattice_0.22-6 tibble_3.2.1
+#> [55] shiny_1.8.1.1 evaluate_0.23 desc_1.4.3
+#> [58] circlize_0.4.16 pillar_1.9.0 BiocManager_1.30.22
+#> [61] DT_0.33 foreach_1.5.2 shinyjs_2.1.0
+#> [64] generics_0.1.3 RCurl_1.98-1.14 ggplot2_3.5.1
+#> [67] sparseMatrixStats_1.16.0 munsell_0.5.1 scales_1.3.0
+#> [70] xtable_1.8-4 glue_1.7.0 tools_4.4.0
+#> [73] hexbin_1.28.3 colourpicker_1.3.0 fs_1.6.4
+#> [76] grid_4.4.0 colorspace_2.1-0 nlme_3.1-164
+#> [79] GenomeInfoDbData_1.2.12 vipor_0.4.7 cli_3.6.2
+#> [82] textshaping_0.3.7 fansi_1.0.6 viridisLite_0.4.2
+#> [85] S4Arrays_1.4.0 ComplexHeatmap_2.20.0 dplyr_1.1.4
+#> [88] gtable_0.3.5 rintrojs_0.3.4 sass_0.4.9
+#> [91] digest_0.6.35 SparseArray_1.4.0 ggrepel_0.9.5
+#> [94] rjson_0.2.21 htmlwidgets_1.6.4 memoise_2.0.1
+#> [97] htmltools_0.5.8.1 pkgdown_2.0.9 lifecycle_1.0.4
+#> [100] shinyWidgets_0.8.6 httr_1.4.7 GlobalOptions_0.1.2
+#> [103] mime_0.12
vignettes/iSEE_quickrecipes_03.Rmd
+ iSEE_quickrecipes_03.Rmd
This vignette consists of a series of (independent) hands-on recipes, +aimed at exploring the capabilities of iSEE (Rue-Albrecht et al. 2018) both interactively +and programmatically. Each recipe consists of a short task and a screen +shot of the desired appearance of the app instance that should be +created. For each recipe, we provide a set of hints, as well as detailed +instructions on how to solve the task both interactively (by clicking in +the app) and programmatically (by directly setting up and launching the +desired app instance).
+For a general overview of the default iSEE
panels, we
+refer to the overview vignette. For
+all the details about the panel classes and the associated slots, we
+refer to the help pages for the respective panel class (e.g.,
+?ReducedDimensionPlot
).
Before starting with the recipes, we need to load the required +packages and the demo data set.
+
+library("iSEE")
+library("iSEEu")
+
+sce_location <- system.file("datasets", "sce_pbmc3k.RDS", package = "iUSEiSEE")
+sce_location
+#> [1] "/Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/library/iUSEiSEE/datasets/sce_pbmc3k.RDS"
+sce <- readRDS(sce_location)
+sce
+#> class: SingleCellExperiment
+#> dim: 32738 2643
+#> metadata(0):
+#> assays(2): counts logcounts
+#> rownames(32738): MIR1302-10 FAM138A ... AC002321.2 AC002321.1
+#> rowData names(19): ENSEMBL_ID Symbol_TENx ... FDR_cluster11
+#> FDR_cluster12
+#> colnames(2643): Cell1 Cell2 ... Cell2699 Cell2700
+#> colData names(24): Sample Barcode ... labels_ont cell_ontology_labels
+#> reducedDimNames(3): PCA TSNE UMAP
+#> mainExpName: NULL
+#> altExpNames(0):
What follows is a list of 11 small self contained recipes, that try +to address one specific aim - and provide accordingly a simple, targeted +solution.
+Using the pbmc3k
data set, create an app that contains
+only a reduced dimension plot panel, a row data plot panel and a column
+data plot panel. The widths of the three panels should be 3, 4 and 5
+units, respectively.
Organization
button in the top right corner of the app.
+initial
argument to iSEE()
.
+str()
+function on any instance of a panel object,
+e.g. str(ReducedDimensionPlot())
.
+Organization
button in the top right corner of
+the app, and then click on Organize panels
.
+x
+next to all the panels that you want to remove (all but the
+Reduced dimension plot 1
, Column data plot 1
+and Row data plot 1
).
+Width
dropdown menu.
+Apply settings
.
+
+app <- iSEE(sce, initial = list(
+ ReducedDimensionPlot(PanelWidth = 3L),
+ RowDataPlot(PanelWidth = 4L),
+ ColumnDataPlot(PanelWidth = 5L)
+))
Using the pbmc3k
data set, visualize the cell type
+assignment against the cluster membership, with the aim to identify the
+predominant cell type in each cluster. In this case, since both cell
+annotations are categorical, iSEE
will generate a so called
+Hinton plot.
ColumnDataPlot
panel.
+Cluster
column of
+colData(sce)
.
+labels_fine
+column of colData(sce)
(more coarse-grained assignments are
+provided in the labels_main
column).
+iSEE
will automatically determine the plot type depending
+on the type of selected variables.
+ColumnDataPlot
+panel spanning the full application window)
+
+app <- iSEE(sce, initial = list(ColumnDataPlot(PanelWidth = 12L)))
+shiny::runApp(app)
ColumnDataPlot
panel, click to expand the
+Data parameters
collapsible box.
+Column of interest (Y-axis)
, select the label column
+(e.g., labels_fine
).
+X-axis
, select Column data
, and under
+Column of interest (X-axis)
, select Cluster
.
+
+app <- iSEE(sce, list(
+ ColumnDataPlot(
+ PanelWidth = 12L, XAxis = "Column data",
+ YAxis = "labels_fine", XAxisColumnData = "Cluster"
+ )
+))
Using the pbmc3k
data set, display both the tSNE and
+UMAP representations next to each other.
ReducedDimensionPlot
panels.
+reducedDimNames(sce)
lists the
+available representations).
+ReducedDimensionPlot
+panels, each spanning half the application window)
+
+app <- iSEE(sce, initial = list(
+ ReducedDimensionPlot(PanelWidth = 6L),
+ ReducedDimensionPlot(PanelWidth = 6L)
+))
+shiny::runApp(app)
ReducedDimensionPlot
panel, click to expand
+the Data parameters
collapsible box.
+Type
selection box, choose TSNE
.
+ReducedDimensionPlot
panel, repeat the
+procedure but instead select UMAP
.
+
+app <- iSEE(sce, initial = list(
+ ReducedDimensionPlot(PanelWidth = 6L, Type = "TSNE"),
+ ReducedDimensionPlot(PanelWidth = 6L, Type = "UMAP")
+))
Using the pbmc3k
data set, plot the distribution of the
+logcount values for the gene CD74
in each of the
+clusters.
FeatureAssayPlot
panel.
+FeatureAssayPlot
panel,
+spanning the full application window)
+
+app <- iSEE(sce, initial = list(FeatureAssayPlot(PanelWidth = 12L)))
+shiny::runApp(app)
FeatureAssayPlot
panel, click to expand the
+Data parameters
collapsible box.
+Y-axis feature
, type or select CD74
.
+X-axis
, select Column data
, and under
+Column of interest (X-axis)
, select Cluster
.
+
+app <- iSEE(sce, initial = list(
+ FeatureAssayPlot(
+ PanelWidth = 12L, XAxis = "Column data",
+ YAxisFeatureName = "CD74", XAxisColumnData = "Cluster"
+ )
+))
Using the pbmc3k
data set, display two tSNE
+representations next to each other. In the first one, color the cells by
+the cluster label. In the second one, color the cells by the log10 of
+the total UMI count (log10_total
column of
+colData(sce)
).
ReducedDimensionPlot
panels.
+reducedDimNames(sce)
lists the
+available representations).
+Cluster
column of
+colData(sce)
.
+Visual parameters
+collapsible box. To display or hide the possible options, check the
+corresponding checkboxes (Color
, Shape
,
+Size
, Point
).
+ReducedDimensionPlot
+panels, each spanning half the application window)
+
+app <- iSEE(sce, initial = list(
+ ReducedDimensionPlot(PanelWidth = 6L),
+ ReducedDimensionPlot(PanelWidth = 6L)
+))
+shiny::runApp(app)
ReducedDimensionPlot
panel, click to expand the
+Data parameters
collapsible box and under
+Type
, choose TSNE
.
+ReducedDimensionPlot
panel, click to expand
+the Visual parameters
collapsible box.
+Color
checkbox is ticked.
+Color by
, select Column data
.
+Cluster
.
+ReducedDimensionPlot
panel, repeat the
+procedure but instead select log10_total
.
+
+app <- iSEE(sce, initial = list(
+ ReducedDimensionPlot(
+ PanelWidth = 6L, Type = "TSNE",
+ ColorBy = "Column data",
+ ColorByColumnData = "Cluster"
+ ),
+ ReducedDimensionPlot(
+ PanelWidth = 6L, Type = "TSNE",
+ ColorBy = "Column data",
+ ColorByColumnData = "log10_total"
+ )
+))
Using the pbmc3k
data set, display two tSNE
+representations next to each other. In the first one, color the cells by
+the logcounts expression level of CD3D
. In the second one,
+color the cells by the logcounts expression level of
+CD79B
.
ReducedDimensionPlot
panels.
+reducedDimNames(sce)
lists the
+available representations).
+Visual parameters
+collapsible box. To display or hide the possible options, check the
+corresponding checkboxes (Color
, Shape
,
+Size
, Point
).
+ReducedDimensionPlot
+panels, each spanning half the application window)
+
+app <- iSEE(sce, initial = list(
+ ReducedDimensionPlot(PanelWidth = 6L),
+ ReducedDimensionPlot(PanelWidth = 6L)
+))
+shiny::runApp(app)
ReducedDimensionPlot
panel, click to expand the
+Data parameters
collapsible box and under
+Type
, choose TSNE
.
+ReducedDimensionPlot
panel, click to expand
+the Visual parameters
collapsible box.
+Color
checkbox is ticked.
+Color by
, select Feature name
.
+CD3D
.
+ReducedDimensionPlot
panel, repeat the
+procedure but instead select CD79B
.
+
+app <- iSEE(sce, initial = list(
+ ReducedDimensionPlot(
+ PanelWidth = 6L, Type = "TSNE",
+ ColorBy = "Feature name",
+ ColorByFeatureName = "CD3D"
+ ),
+ ReducedDimensionPlot(
+ PanelWidth = 6L, Type = "TSNE",
+ ColorBy = "Feature name",
+ ColorByFeatureName = "CD79B"
+ )
+))
Using the pbmc3k
data set, display two tSNE
+representations next to each other. In the first one, set the point size
+to 0.5. In the second one, set the point size to 3 and the opacity to
+0.2.
ReducedDimensionPlot
panels.
+reducedDimNames(sce)
lists the
+available representations).
+Visual parameters
+collapsible box. To display or hide the possible options, check the
+corresponding checkboxes (Color
, Shape
,
+Size
, Point
).
+ReducedDimensionPlot
+panels, each spanning half the application window)
+
+app <- iSEE(sce, initial = list(
+ ReducedDimensionPlot(PanelWidth = 6L),
+ ReducedDimensionPlot(PanelWidth = 6L)
+))
+shiny::runApp(app)
ReducedDimensionPlot
panel, click to expand the
+Data parameters
collapsible box and under
+Type
, choose TSNE
.
+ReducedDimensionPlot
panel, click to expand
+the Visual parameters
collapsible box.
+Size
checkbox is ticked.
+Size by
, select None
.
+ReducedDimensionPlot
panel, click to expand
+the Visual parameters
collapsible box.
+Size
and Point
checkboxes
+are ticked.
+Size by
, select None
.
+Point opacity
, drag the slider to 0.2.
+
+app <- iSEE(sce, initial = list(
+ ReducedDimensionPlot(
+ PanelWidth = 6L, Type = "TSNE",
+ PointSize = 0.5
+ ),
+ ReducedDimensionPlot(
+ PanelWidth = 6L, Type = "TSNE",
+ PointSize = 3, PointAlpha = 0.2
+ )
+))
Using the pbmc3k
data set, display the expression
+(logcounts) of CD3D
across the assigned clusters, as well
+as a tSNE representation colored by the cluster label. Select all cells
+with a logcount expression value of CD3D
between
+(approximately) 0.5 and 4, and highlight these in the tSNE plot by means
+of transparency.
ReducedDimensionPlot
panels.
+reducedDimNames(sce)
lists the
+available representations).
+FeatureAssayPlot
panel.
+Selection parameters
collapsible box.
+FeatureAssayPlot
panel
+and one ReducedDimensionPlot
panel, each spanning half the
+application window)
+
+app <- iSEE(sce, initial = list(
+ FeatureAssayPlot(PanelWidth = 6L),
+ ReducedDimensionPlot(PanelWidth = 6L)
+))
+shiny::runApp(app)
FeatureAssayPlot
panel, click to expand the
+Data parameters
collapsible box and under
+Y-axis feature
, type or select CD3D
.
+X-axis
, select Column data
, and under
+X-axis column data
, select Cluster
.
+FeatureAssayPlot
panel, use the mouse to drag a
+rectangle around all points with a logcount expression value (y-axis)
+between approximately 0.5 and 4.
+ReducedDimensionPlot
panel, click to expand the
+Data parameters
collapsible box and under
+Type
, choose TSNE
.
+ReducedDimensionPlot
panel, further click to expand
+the Visual parameters
collapsible box, make sure that the
+Color
checkbox is ticked. Under Color by
,
+select Column data
. In the dropdown menu that appears, type
+or select Cluster
.
+ReducedDimensionPlot
panel, click to expand the
+Selection parameters
collapsible box.
+Receive column selection from
, select
+Feature assay plot 1
.
+Selection effect
, make sure that
+Transparent
is chosen.
+
+app <- iSEE(sce, initial = list(
+ FeatureAssayPlot(
+ PanelWidth = 6L,
+ BrushData = list(
+ xmin = 0, xmax = 15,
+ ymin = 0.5, ymax = 4,
+ mapping = list(x = "X", y = "Y", group = "GroupBy"),
+ direction = "xy",
+ brushId = "FeatureAssayPlot1_Brush",
+ outputId = "FeatureAssayPlot1"
+ ),
+ XAxis = "Column data",
+ XAxisColumnData = "Cluster", YAxisFeatureName = "CD3D"
+ ),
+ ReducedDimensionPlot(
+ PanelWidth = 6L, Type = "TSNE",
+ ColorBy = "Column data",
+ ColorByColumnData = "Cluster",
+ SelectionEffect = "Transparent",
+ ColumnSelectionSource = "FeatureAssayPlot1"
+ )
+))
+#> Warning in .local(.Object, ...): 'SelectionEffect=' is deprecated.
+#> Use 'ColumnSelectionRestrict=TRUE' instead.
Using the pbmc3k
data set, create a scatter plots
+displaying the (logcounts) expression values of CD79A
vs
+CD74
, as well as a Hinton plot of the cluster and cell type
+assignment annotations. Select the cells co-expressing
+CD79A
and CD74
in the scatter plot. Which cell
+type/cluster(s) do these correspond to (color these points in the Hinton
+plot)?
FeatureAssayPlot
panel.
+ColumnDataPlot
panel.
+Cluster
column of
+colData(sce)
. Coarse-grained cell type labels are available
+in the labels_main
column.
+Selection parameters
collapsible box.
+FeatureAssayPlot
panel
+and one ColumnDataPlot
panel, each spanning half of the
+application window)
+
+app <- iSEE(sce, initial = list(
+ FeatureAssayPlot(PanelWidth = 6L),
+ ColumnDataPlot(PanelWidth = 6L)
+))
+shiny::runApp(app)
FeatureAssayPlot
panel, click to expand the
+Data parameters
collapsible box.
+Y-axis feature
, type or select CD79A
.
+X-axis
, select Feature name
, and under
+X-axis feature
, type or select CD74
.
+ColumnDataPlot
panel, click to expand the
+Data parameters
collapsible box.
+Column of interest (Y-axis)
, type or select
+labels_main
.
+X-axis
, select Column data
, and under
+Column of interest (X-axis)
, select Cluster
.
+FeatureAssayPlot
panel, use the mouse to drag a
+rectangle around all points co-expressing CD79A
and
+CD74
.
+ColumnDataPlot
panel, click to expand the
+Selection parameters
collapsible box.
+Receive column selection from
, select
+Feature assay plot 1
.
+Selection effect
, make sure that Color
+is chosen.
+
+app <- iSEE(sce, initial = list(
+ FeatureAssayPlot(
+ PanelWidth = 6L, XAxis = "Feature name",
+ YAxisFeatureName = "CD79A",
+ XAxisFeatureName = "CD74",
+ BrushData = list(
+ xmin = 0.3, xmax = 7,
+ ymin = 0.3, ymax = 7,
+ mapping = list(x = "X", y = "Y", colour = "ColorBy"),
+ direction = "xy", brushId = "FeatureAssayPlot1_Brush",
+ outputId = "FeatureAssayPlot1"
+ )
+ ),
+ ColumnDataPlot(
+ PanelWidth = 6L, XAxis = "Column data",
+ YAxis = "labels_main",
+ XAxisColumnData = "Cluster",
+ ColumnSelectionSource = "FeatureAssayPlot1",
+ ColumnSelectionRestrict = FALSE
+ )
+))
iSEEu
+Using the pbmc3k
data set, load iSEEu
and
+use the modeReducedDim
mode to open an app displaying all
+the reduced dimension representations stored in the SingleCellExperiment
+object. Color the representations by the cell type assignment.
labels_fine
+column of colData(sce)
(more coarse-grained assignments are
+provided in the labels_main
column).
+iSEEu::modeReducedDim()
.
+
+app <- modeReducedDim(sce, colorBy = "labels_main")
Using the pbmc3k
data set, display two tSNE
+representations next to each other. In the first one, color the cells by
+the logcounts expression level of CD3D
. In the second one,
+color the cells by the logcounts expression level of CD79B
.
+Also include a small tour that starts with a welcome message, next walks
+through the two panels, giving an informative message for each, and
+finally ends with a concluding message to the user.
ReducedDimensionPlot
panels.
+reducedDimNames(sce)
lists the
+available representations).
+Visual parameters
+collapsible box. To display or hide the possible options, check the
+corresponding checkboxes (Color
, Shape
,
+Size
, Point
).
+tour
argument to
+iSEE()
.
+element
and intro
. The element
+column contains the names of UI elements, prefixed by a hash sign. More
+details, including how to find the name of a particular UI elements, can
+be found in the Configuring iSEE apps
vignette of
+iSEE
.
+
+tour <- data.frame(
+ element = c(
+ "#Welcome",
+ "#ReducedDimensionPlot1",
+ "#ReducedDimensionPlot2",
+ "#Conclusion"
+ ),
+ intro = c(
+ "Welcome to this tour!",
+ "This is the first reduced dimension plot",
+ "And here is the second one",
+ "Thank you for taking this tour!"
+ ),
+ stringsAsFactors = FALSE
+)
+
+app <- iSEE(sce,
+ initial = list(
+ ReducedDimensionPlot(
+ PanelWidth = 6L, Type = "TSNE",
+ ColorBy = "Feature name",
+ ColorByFeatureName = "CD3D"
+ ),
+ ReducedDimensionPlot(
+ PanelWidth = 6L, Type = "TSNE",
+ ColorBy = "Feature name",
+ ColorByFeatureName = "CD79B"
+ )
+ ),
+ tour = tour
+)
+sessionInfo()
+#> R version 4.4.0 (2024-04-24)
+#> Platform: x86_64-apple-darwin20
+#> Running under: macOS Monterey 12.7.1
+#>
+#> Matrix products: default
+#> BLAS: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRblas.0.dylib
+#> LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.0
+#>
+#> locale:
+#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
+#>
+#> time zone: Europe/Berlin
+#> tzcode source: internal
+#>
+#> attached base packages:
+#> [1] stats4 stats graphics grDevices utils datasets methods
+#> [8] base
+#>
+#> other attached packages:
+#> [1] iSEEu_1.15.1 iSEEhex_1.5.0
+#> [3] iSEE_2.15.1 SingleCellExperiment_1.26.0
+#> [5] SummarizedExperiment_1.33.3 Biobase_2.64.0
+#> [7] GenomicRanges_1.55.4 GenomeInfoDb_1.40.0
+#> [9] IRanges_2.38.0 S4Vectors_0.42.0
+#> [11] BiocGenerics_0.50.0 MatrixGenerics_1.16.0
+#> [13] matrixStats_1.3.0 BiocStyle_2.32.0
+#>
+#> loaded via a namespace (and not attached):
+#> [1] bitops_1.0-7 rlang_1.1.3 magrittr_2.0.3
+#> [4] shinydashboard_0.7.2 clue_0.3-65 GetoptLong_1.0.5
+#> [7] compiler_4.4.0 mgcv_1.9-1 png_0.1-8
+#> [10] systemfonts_1.0.6 vctrs_0.6.5 pkgconfig_2.0.3
+#> [13] shape_1.4.6.1 crayon_1.5.2 fastmap_1.1.1
+#> [16] XVector_0.44.0 fontawesome_0.5.2 utf8_1.2.4
+#> [19] promises_1.3.0 rmarkdown_2.26 shinyAce_0.4.2
+#> [22] UCSC.utils_1.0.0 ragg_1.3.0 purrr_1.0.2
+#> [25] xfun_0.43 zlibbioc_1.50.0 cachem_1.0.8
+#> [28] jsonlite_1.8.8 listviewer_4.0.0 highr_0.10
+#> [31] later_1.3.2 DelayedArray_0.30.0 parallel_4.4.0
+#> [34] cluster_2.1.6 R6_2.5.1 bslib_0.7.0
+#> [37] RColorBrewer_1.1-3 jquerylib_0.1.4 Rcpp_1.0.12
+#> [40] iterators_1.0.14 knitr_1.46 httpuv_1.6.15
+#> [43] Matrix_1.7-0 splines_4.4.0 igraph_2.0.3
+#> [46] tidyselect_1.2.1 rstudioapi_0.16.0 abind_1.4-5
+#> [49] yaml_2.3.8 doParallel_1.0.17 codetools_0.2-20
+#> [52] miniUI_0.1.1.1 lattice_0.22-6 tibble_3.2.1
+#> [55] shiny_1.8.1.1 evaluate_0.23 desc_1.4.3
+#> [58] circlize_0.4.16 pillar_1.9.0 BiocManager_1.30.22
+#> [61] DT_0.33 foreach_1.5.2 shinyjs_2.1.0
+#> [64] generics_0.1.3 RCurl_1.98-1.14 ggplot2_3.5.1
+#> [67] munsell_0.5.1 scales_1.3.0 xtable_1.8-4
+#> [70] glue_1.7.0 tools_4.4.0 hexbin_1.28.3
+#> [73] colourpicker_1.3.0 fs_1.6.4 grid_4.4.0
+#> [76] colorspace_2.1-0 nlme_3.1-164 GenomeInfoDbData_1.2.12
+#> [79] vipor_0.4.7 cli_3.6.2 textshaping_0.3.7
+#> [82] fansi_1.0.6 viridisLite_0.4.2 S4Arrays_1.4.0
+#> [85] ComplexHeatmap_2.20.0 dplyr_1.1.4 gtable_0.3.5
+#> [88] rintrojs_0.3.4 sass_0.4.9 digest_0.6.35
+#> [91] SparseArray_1.4.0 ggrepel_0.9.5 rjson_0.2.21
+#> [94] htmlwidgets_1.6.4 memoise_2.0.1 htmltools_0.5.8.1
+#> [97] pkgdown_2.0.9 lifecycle_1.0.4 shinyWidgets_0.8.6
+#> [100] httr_1.4.7 GlobalOptions_0.1.2 mime_0.12
vignettes/iUSEiSEE_01.Rmd
+ iUSEiSEE_01.Rmd
iUSEiSEE
: a masterclass-level workshop on iSEE
+The iSEE package (Rue-Albrecht et al. +2018) is a flexible, powerful and extendible application to +explore any dataset stored in SummarizedExperiment objects, including +single cell and spatially resolved data.
+This workshop and associated workshop package contain all the +materials you might need to have a full experience and learn how to use +iSEE, hands on, starting from the basics and making your way up to the +more advanced features.
+This vignette contains a compact version of the more extended +material of all other detailed vignettes. Feel free to use this as a +compact index for the rest!
+In brief, you will…
+iSEE
+iSEE
+iSEE
on your own data (and maybe even
+deploy that!)Ready? Let’s go!
+To run the content presented in this demo, run this following chunk +in your R environment.
+
+library("BiocManager")
+BiocManager::install("imbeimainz/iUSEiSEE", dependencies = TRUE, build_vignettes = TRUE)
We start by loading the packages that will be used during the +demo.
+
+library("SingleCellExperiment")
+library("iSEE")
+library("TENxPBMCData")
+
+library("iSEEu")
+
+library("iSEEde")
+library("iSEEpathways")
+
+library("iSEEhub")
+library("iSEEindex")
All of these would be loaded if you run
+ +You can also clone this repository (https://imbeimainz.github.io/iUSEiSEE) locally by
+git clone
- it makes it easy to follow along this
+vignette!
We will start very much in medias res, assuming that this +might be the ideal point where you have processed your data - early or +late phase - and now want to have the BEST look at that.
+Navigate to https://zenodo.org/records/10084595 and download the
+data (it contains the three objects you might be “coming from”).
+Unpack the archive you downloaded in the datasets
subfolder
+of the vignette
folder.
We included a SingleCellExperiment
object on a processed
+version for the PBMC3k dataset, many of you can somehow be familiar with
+this.
Let’s load the dataset in our environment:
+
+sce_pbmc3k <- readRDS(
+ file = system.file("datasets", "sce_pbmc3k.RDS", package = "iUSEiSEE")
+)
+
+sce_pbmc3k
+#> class: SingleCellExperiment
+#> dim: 32738 2643
+#> metadata(0):
+#> assays(2): counts logcounts
+#> rownames(32738): MIR1302-10 FAM138A ... AC002321.2 AC002321.1
+#> rowData names(19): ENSEMBL_ID Symbol_TENx ... FDR_cluster11
+#> FDR_cluster12
+#> colnames(2643): Cell1 Cell2 ... Cell2699 Cell2700
+#> colData names(24): Sample Barcode ... labels_ont cell_ontology_labels
+#> reducedDimNames(3): PCA TSNE UMAP
+#> mainExpName: NULL
+#> altExpNames(0):
iSEE(sce)
!
+Who of you is investing a fair amount/lot of time in doing proper +data exploration?
+Who of you is familiar with the beautiful CELLxGENE tool?
+Who of you dreamed to do even more on your data?
+I have a quiz for you - have a look at this, for example:
+http://shiny.imbei.uni-mainz.de:3838/iSEE_Tonsils_CD4Tcells/
+ +How many lines of code are required to realize this?
+How many of these lines had to be typed by a human?
+So, yes, I will show you that is as easy as that:
+ +Let’s run this together and see what we have got in store.
+ + + + + + + + + +What typical visualizations people would you use to represent and +explore your datasets?
+Each panel has some essential content:
+Let’s have a closer look at that on the Reduced Dimension Plot 1 +panel.
+If you have no idea of what a panel can “normally” do, look for the +question mark icon, that will start a tiny tour on its +functionality.
+iSEE also has some additional controls, grouped into the header bar, +let’s have a look at them:
+With this, we can…
+Coloring by, faceting, zooming, hovering!
+Make a wish!
Brush selection, lasso selection, select the receiving panel,
+iterate!
+Read out information, see the panel transmission graph.
Panels: add, move, remove; exporting the initial
+configuration, reloading it
A couple of additional things you can do with custom panels (and this +is just an appetizer!):
+You might have got the gist:
+ +So, yes, we mighe be down to THREE lines of code.
+Maybe iSEEu can +be the place to find already that piece of functionality!
+Have a look at the functionality provided by
+These can be ideal companions for exploring DE results.
+iSEEde and
+iSEEpathways
+are two new Bioconductor packages that provide iSEE panels
+specifically aimed towards exploration of differential expression and
+pathway analysis results. More precisely, iSEEde
+provides the VolcanoPlot
, MAPlot
,
+LogFCLogFCPlot
and DETable
panels.
Have a look at the functionality provided by
+ +The iSEEhub +package provides a custom landing page for an iSEE +application interfacing with the Bioconductor ExperimentHub. +The landing page allows users to browse the ExperimentHub, select a data +set, download and cache it, and import it directly into an iSEE app.
+iSEEindex
+provides an interface to any collection of data sets
+within a single iSEE web-application.
+The main functionality of this package is to define a custom landing
+page allowing app maintainers to list a custom collection of data sets
+that users can select from and directly load objects into an iSEE web
+application.
++One iSEE instance to
+ruleexlore them all…
A more elaborate example is available at https://rehwinkellab.shinyapps.io/ifnresource/. +The source can be found at https://github.com/kevinrue/IFNresource.
+ + + + + +Potential use cases can include:
+“Wait, I got Seurat/Anndata objects”.
+The single cell communities got you covered:
+
+library("Seurat")
+
+seurat_object <- readRDS("datasets/seurat_pbmc3k.RDS")
+sce_from_seurat <- Seurat::as.SingleCellExperiment(
+ seurat_object
+)
+sce_from_seurat
+
+
+iSEE(sce_from_seurat)
… which is basically able to serve any dataset available throught the +CELLxGENE Data Portal!
+
+library("zellkonverter")
+
+sce_from_anndata <- zellkonverter::readH5AD(file = "datasets/anndata_pbmc3k.h5ad")
+sce_from_anndata
+
+iSEE(sce_from_anndata)
An example could be…
+https://cellxgene.cziscience.com/e/c7856243-c59a-4b70-8ce7-25b94c2d9da1.cxg/
+
+sessionInfo()
+#> R version 4.4.0 (2024-04-24)
+#> Platform: x86_64-apple-darwin20
+#> Running under: macOS Monterey 12.7.1
+#>
+#> Matrix products: default
+#> BLAS: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRblas.0.dylib
+#> LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.0
+#>
+#> locale:
+#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
+#>
+#> time zone: Europe/Berlin
+#> tzcode source: internal
+#>
+#> attached base packages:
+#> [1] stats4 stats graphics grDevices utils datasets methods
+#> [8] base
+#>
+#> other attached packages:
+#> [1] iUSEiSEE_1.0.0 iSEEindex_1.2.0
+#> [3] iSEEhub_1.6.0 ExperimentHub_2.12.0
+#> [5] AnnotationHub_3.12.0 BiocFileCache_2.12.0
+#> [7] dbplyr_2.5.0 iSEEpathways_1.2.0
+#> [9] iSEEde_1.2.0 iSEEu_1.15.1
+#> [11] iSEEhex_1.5.0 TENxPBMCData_1.21.0
+#> [13] HDF5Array_1.32.0 rhdf5_2.48.0
+#> [15] DelayedArray_0.30.0 SparseArray_1.4.0
+#> [17] S4Arrays_1.4.0 abind_1.4-5
+#> [19] Matrix_1.7-0 iSEE_2.15.1
+#> [21] SingleCellExperiment_1.26.0 SummarizedExperiment_1.33.3
+#> [23] Biobase_2.64.0 GenomicRanges_1.55.4
+#> [25] GenomeInfoDb_1.40.0 IRanges_2.38.0
+#> [27] S4Vectors_0.42.0 BiocGenerics_0.50.0
+#> [29] MatrixGenerics_1.16.0 matrixStats_1.3.0
+#> [31] BiocStyle_2.32.0
+#>
+#> loaded via a namespace (and not attached):
+#> [1] splines_4.4.0 later_1.3.2
+#> [3] bitops_1.0-7 urltools_1.7.3
+#> [5] filelock_1.0.3 tibble_3.2.1
+#> [7] triebeard_0.4.1 lifecycle_1.0.4
+#> [9] edgeR_4.2.0 doParallel_1.0.17
+#> [11] lattice_0.22-6 magrittr_2.0.3
+#> [13] limma_3.60.0 sass_0.4.9
+#> [15] rmarkdown_2.26 jquerylib_0.1.4
+#> [17] yaml_2.3.8 httpuv_1.6.15
+#> [19] DBI_1.2.2 RColorBrewer_1.1-3
+#> [21] zlibbioc_1.50.0 purrr_1.0.2
+#> [23] RCurl_1.98-1.14 rappdirs_0.3.3
+#> [25] circlize_0.4.16 GenomeInfoDbData_1.2.12
+#> [27] ggrepel_0.9.5 irlba_2.3.5.1
+#> [29] pkgdown_2.0.9 DelayedMatrixStats_1.26.0
+#> [31] codetools_0.2-20 DT_0.33
+#> [33] scuttle_1.14.0 tidyselect_1.2.1
+#> [35] shape_1.4.6.1 UCSC.utils_1.0.0
+#> [37] viridis_0.6.5 ScaledMatrix_1.12.0
+#> [39] shinyWidgets_0.8.6 jsonlite_1.8.8
+#> [41] GetoptLong_1.0.5 BiocNeighbors_1.22.0
+#> [43] scater_1.32.0 iterators_1.0.14
+#> [45] systemfonts_1.0.6 foreach_1.5.2
+#> [47] tools_4.4.0 ragg_1.3.0
+#> [49] Rcpp_1.0.12 glue_1.7.0
+#> [51] gridExtra_2.3 xfun_0.43
+#> [53] mgcv_1.9-1 DESeq2_1.44.0
+#> [55] dplyr_1.1.4 shinydashboard_0.7.2
+#> [57] BiocManager_1.30.22 fastmap_1.1.1
+#> [59] rhdf5filters_1.16.0 fansi_1.0.6
+#> [61] shinyjs_2.1.0 digest_0.6.35
+#> [63] rsvd_1.0.5 R6_2.5.1
+#> [65] mime_0.12 textshaping_0.3.7
+#> [67] colorspace_2.1-0 listviewer_4.0.0
+#> [69] RSQLite_2.3.6 paws.storage_0.5.0
+#> [71] utf8_1.2.4 generics_0.1.3
+#> [73] hexbin_1.28.3 httr_1.4.7
+#> [75] htmlwidgets_1.6.4 pkgconfig_2.0.3
+#> [77] gtable_0.3.5 blob_1.2.4
+#> [79] ComplexHeatmap_2.20.0 XVector_0.44.0
+#> [81] htmltools_0.5.8.1 rintrojs_0.3.4
+#> [83] clue_0.3-65 scales_1.3.0
+#> [85] png_0.1-8 knitr_1.46
+#> [87] rstudioapi_0.16.0 rjson_0.2.21
+#> [89] nlme_3.1-164 curl_5.2.1
+#> [91] shinyAce_0.4.2 cachem_1.0.8
+#> [93] GlobalOptions_0.1.2 stringr_1.5.1
+#> [95] BiocVersion_3.19.1 parallel_4.4.0
+#> [97] miniUI_0.1.1.1 vipor_0.4.7
+#> [99] AnnotationDbi_1.65.2 desc_1.4.3
+#> [101] pillar_1.9.0 grid_4.4.0
+#> [103] vctrs_0.6.5 promises_1.3.0
+#> [105] BiocSingular_1.20.0 beachmat_2.20.0
+#> [107] xtable_1.8-4 cluster_2.1.6
+#> [109] beeswarm_0.4.0 evaluate_0.23
+#> [111] cli_3.6.2 locfit_1.5-9.9
+#> [113] compiler_4.4.0 rlang_1.1.3
+#> [115] crayon_1.5.2 paws.common_0.7.2
+#> [117] fs_1.6.4 ggbeeswarm_0.7.2
+#> [119] stringi_1.8.3 viridisLite_0.4.2
+#> [121] BiocParallel_1.38.0 munsell_0.5.1
+#> [123] Biostrings_2.72.0 colourpicker_1.3.0
+#> [125] sparseMatrixStats_1.16.0 bit64_4.0.5
+#> [127] ggplot2_3.5.1 Rhdf5lib_1.26.0
+#> [129] KEGGREST_1.44.0 statmod_1.5.0
+#> [131] shiny_1.8.1.1 highr_0.10
+#> [133] igraph_2.0.3 memoise_2.0.1
+#> [135] bslib_0.7.0 bit_4.0.5
The iSEE
package is a flexible, powerful and extendible application to explore any dataset stored in SummarizedExperiment objects, including single cell and spatially resolved data.
iSEE
enables a multitude of panels to gain in-depth insight in your data; it does so combining interactivity and reproducibility, and providing an ideal companion to CELLxGENE for deeper dives into data.
library("remotes")
+remotes::install_github("imbeimainz/iUSEiSEE",
+ dependencies = TRUE,
+ build_vignettes = TRUE)
+iUSEiSEE.Rproj
project filevignettes
folderdatasets
subfolder (if using Seurat or AnnData)iSEE
: Harry met Sally for interactive and reproducible data explorationThis package provides the material for a fully fledged one-day workshop on the iSEE package.
+Useful links: