iSEE {iSEE}R Documentation

iSEE: interactive SummarizedExperiment Explorer

Description

Interactive and reproducible visualization of data contained in a SummarizedExperiment object, using a Shiny interface.

Usage

iSEE(
  se,
  initial = NULL,
  extra = NULL,
  redDimArgs = NULL,
  colDataArgs = NULL,
  featAssayArgs = NULL,
  rowStatArgs = NULL,
  rowDataArgs = NULL,
  sampAssayArgs = NULL,
  colStatArgs = NULL,
  customDataArgs = NULL,
  customStatArgs = NULL,
  heatMapArgs = NULL,
  redDimMax = 5,
  colDataMax = 5,
  featAssayMax = 5,
  rowStatMax = 5,
  rowDataMax = 5,
  sampAssayMax = 5,
  colStatMax = 5,
  customDataMax = 5,
  customStatMax = 5,
  heatMapMax = 5,
  initialPanels = NULL,
  annotFun = NULL,
  customDataFun = NULL,
  customStatFun = NULL,
  customSendAll = FALSE,
  colormap = ExperimentColorMap(),
  landingPage = createLandingPage(),
  tour = NULL,
  appTitle = NULL,
  runLocal = TRUE,
  voice = FALSE,
  bugs = FALSE,
  ...
)

Arguments

se

An object that is coercible to SingleCellExperiment. If missing, an app is launched with a landing page generated by the landingPage argument.

initial

A list of Panel objects specifying the initial state of the app. The order of panels determines the sequence in which they are laid out in the interface. Defaults to one instance of each panel class available from iSEE.

extra

A list of additional Panel objects that might be added after the app has started. Defaults to one instance of each panel class available from iSEE.

redDimArgs

Deprecated, use initial instead.

colDataArgs

Deprecated, use initial instead.

featAssayArgs

Deprecated, use initial instead.

rowStatArgs

Deprecated, use initial instead.

rowDataArgs

Deprecated, use initial instead.

sampAssayArgs

Deprecated, use initial instead.

colStatArgs

Deprecated, use initial instead.

customDataArgs

Deprecated, use initial instead.

customStatArgs

Deprecated, use initial instead.

heatMapArgs

Deprecated, use initial instead.

redDimMax

Deprecated and ignored.

colDataMax

Deprecated and ignored.

featAssayMax

Deprecated and ignored.

rowStatMax

Deprecated and ignored.

rowDataMax

Deprecated and ignored.

sampAssayMax

Deprecated and ignored.

colStatMax

Deprecated and ignored.

customDataMax

Deprecated and ignored.

customStatMax

Deprecated and ignored.

heatMapMax

Deprecated and ignored.

initialPanels

Deprecated, use initial instead.

annotFun

Deprecated and ignored. Read the book for the new, more extensible approach for creating custom panels.

customDataFun

Deprecated and ignored. Read the book for the new, more extensible approach for creating custom panels.

customStatFun

Deprecated and ignored. Read the book for the new, more extensible approach for creating custom panels.

customSendAll

Deprecated and ignored.

colormap

An ExperimentColorMap object that defines custom colormaps to apply to individual assays, colData and rowData covariates.

landingPage

A function that renders a landing page when se is started without any specified se. See createLandingPage for more details.

tour

A data.frame with the content of the interactive tour to be displayed after starting up the app.

appTitle

A string indicating the title to be displayed in the app. If not provided, the app displays the version info of iSEE.

runLocal

A logical indicating whether the app is to be run locally or remotely on a server, which determines how documentation will be accessed.

voice

A logical indicating whether the voice recognition should be enabled.

bugs

Set to TRUE to enable the bugs Easter egg. Alternatively, a named numeric vector control the respective number of each bug type (e.g., c(bugs=3L, spiders=1L)).

...

Further arguments to pass to shinyApp.

Details

Configuring the initial state of the app is as easy as passing a list of Panel objects to initial. Each element represents one panel and is typicall constructed with a command like ReducedDimensionPlot(). Panels are filled from left to right in a row-wise manner depending on the available width. Each panel can be easily customized by modifying the parameters in each object.

The extra argument should specify Panel classes that might not be shown during initialization but can be added interactively by the user after the app has started. The first instance of each new class in extra will be used as a template when the user adds a new panel of that class. Note that initial will automatically be appended to extra to form the final set of available panels, so it is not strictly necessary to re-specify instances of those initial panels in extra. (unless we want the parameters of newly created panels to be different from those at initialization).

The tour argument needs to be provided in a form compatible with the format expected by the rintrojs package. There should be two columns, element and intro, with the former describing the element to highlight and the latter providing some descriptive text. See https://github.com/carlganz/rintrojs#usage for more information.

By default, categorical data types such as factor and character are limited to 24 levels, beyond which they are coerced to numeric variables for faster plotting. This limit may be set to a different value as a global option, e.g. options(iSEE.maxlevels=30).

The default landing page allows users to upload their own RDS files to initialize the app. By default, the maximum request size for file uploads defaults to 5MB (https://shiny.rstudio.com/reference/shiny/0.14/shiny-options.html). To raise the limit (e.g., 50MB), run options(shiny.maxRequestSize=50*1024^2).

Value

A Shiny app object is returned for interactive data exploration of se, either by simply printing the object or by explicitly running it with runApp.

References

Rue-Albrecht K, Marini F, Soneson C, Lun ATL. iSEE: Interactive SummarizedExperiment Explorer F1000Research 7.

Javascript code for bugs was based on https://github.com/Auz/Bug.

Examples

library(scRNAseq)

# Example data ----
sce <- ReprocessedAllenData(assays="tophat_counts")
class(sce)

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

# launch the app itself ----

app <- iSEE(sce)
if (interactive()) {
  shiny::runApp(app, port=1234)
}


[Package iSEE version 2.0.0 Index]