iSEE {iSEE} | R Documentation

## iSEE: interactive SummarizedExperiment/SingleCellExperiment Explorer

### Description

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

### Usage

    iSEE(se, 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(),
      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 file upload control allowing users to upload an RDS file that contains such as object. See Details for information to set the maximal size limit for file uploads.
`redDimArgs` | A DataFrame similar to that produced by `redDimPlotDefaults`, specifying initial parameters for the reduced dimension plots.
`colDataArgs` | A DataFrame similar to that produced by `colDataPlotDefaults`, specifying initial parameters for the column data plots.
`featAssayArgs` | A DataFrame similar to that produced by `featAssayPlotDefaults`, specifying initial parameters for the feature assay plots.
`rowStatArgs` | A DataFrame similar to that produced by `rowStatTableDefaults`, specifying initial parameters for the row statistics tables.
`rowDataArgs` | A DataFrame similar to that produced by `rowDataPlotDefaults`, specifying initial parameters for the row data plots.
`sampAssayArgs` | A DataFrame similar to that produced by `sampAssayPlotDefaults`, specifying initial parameters for the sample assay plots.
`colStatArgs` | A DataFrame similar to that produced by `colStatTableDefaults`, specifying initial parameters for the column statistics tables.
`customDataArgs` | A DataFrame similar to that produced by `customDataPlotDefaults`, specifying initial parameters for the custom data plots.
`customStatArgs` | A DataFrame similar to that produced by `customStatTableDefaults`, specifying initial parameters for the custom statistics tables.
`heatMapArgs` | A DataFrame similar to that produced by `heatMapPlotDefaults`, specifying initial parameters for the heatmaps.
`redDimMax` | An integer scalar specifying the maximum number of reduced dimension plots in the interface.
`colDataMax` | An integer scalar specifying the maximum number of column data plots in the interface.
`featAssayMax` | An integer scalar specifying the maximum number of feature assay plots in the interface.
`rowStatMax` | An integer scalar specifying the maximum number of row statistics tables in the interface.
`rowDataMax` | An integer scalar specifying the maximum number of row data plots in the interface.
`sampAssayMax` | An integer scalar specifying the maximum number of sample assay plots in the interface.
`colStatMax` | An integer scalar specifying the maximum number of column statistics tables in the interface.
`customDataMax` | An integer scalar specifying the maximum number of custom data plots in the interface.
`customStatMax` | An integer scalar specifying the maximum number of custom statistics tables in the interface.
`heatMapMax` | An integer scalar specifying the maximum number of heatmaps in the interface.
`initialPanels` | A DataFrame specifying which panels should be created at initialization. This should contain a `Name` character field and may have optional `Width` and `Height` integer fields, see Details.
`annotFun` | A function, similar to those returned by `annotateEntrez` or `annotateEnsembl`. The function should accept two parameters, `se` and `row_index`, and return a HTML element with annotation for the selected row.
`customDataFun` | A named list of functions for reporting coordinates to use in a custom data plot.
`customStatFun` | A named list of functions for reporting coordinates to use in a custom statistics table.
`customSendAll` | A logical scalar indicating whether all (active and saved) selections should be passed from transmitting panels to custom plots or tables. The default (`FALSE`) only passes the row names of the points in the active selection.
`colormap` | An ExperimentColorMap object that defines custom colormaps to apply to individual `assays`, `colData` and `rowData` covariates.
`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)`). Credits to https://github.com/Auz/Bug for the JavaScript code.

### Details

Users can pass default parameters via DataFrame objects in `redDimArgs` and `featAssayArgs`. Each object can contain some or all of the expected fields (see `redDimPlotDefaults`). Any missing fields will be filled in with the defaults.

The number of maximum plots for each type of plot is set to the larger of `*Max` and `nrow(*Args)`. Users can specify any number of maximum plots, though increasing the number will increase the time required to render the interface.

The `initialPanels` argument specifies the panels to be created upon initializing the interface. This should be a DataFrame containing a `Name` field specifying the identity of the panel, e.g., `"Reduced dimension plot 1"`, `"Row statistics table 2"`. Please refer to `availablePanelTypes` for the full list of panels available. The trailing number should not be greater than the number of maximum plots of that type. Users can also define the `Width` field, specifying the width of each panel from 2 to 12 (values will be coerced inside this range); and the `Height` field, specifying the height of each panel from 400 to 1000 pixels. By default, one panel of each type (where possible) will be generated, with height of 500 and width of 4.

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)`.

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 the SummarizedExperiment or SingleCellExperiment object.

### 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 1.6.1 Index]