Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • I i2dash.scRNAseq
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • loosolab
  • software
  • i2dash.scRNAseq
  • Issues
  • #1
Closed
Open
Issue created Jul 11, 2019 by jens.preussner@jens.preussner👻Contributor

Dimension reduction page with linked charts

Idea / Use case

Often, users wish to inspect the dimension reduction and distribution of cell metadata (e.g. cluster, timepoint, number of genes, etc). The idea is to present a certain dimension reduction (e.g. obtained by PCA, t-SNE or UMAP) and allow to define a highlighting variable, which will be color-coded onto the reduced dimension (e.g. clustering). Additionally, up to three metadata are allowed to be aggregated by the highlighting variable. These metadata can be of any type and plots will be shown according to the type:

Type Plot
numeric box plot
factorial bar plot

Two actions are thinkable:

  1. Whenever a user selects a subset of cells from the dimension reduction, aggregates are updated and plots of metadata are shown only data from selected cells.
  2. Whenever a user hovers a group of cells (e.g. all with the same clustering), plots of aggregated metadata change to highlight the hovered group.

A special case is the number of observations (cells) for each highlighting variable (i.e. it will be a bar plot). The user creating the page should be allowed to decide whether to include the special bar plot or not.

Implementation

A function that takes

  • the report object
  • the 2D coordinates of the reduced dimension
  • a dataframe with metadata
  • the name of the highlighting variable
  • the page title

and generates a static page with linked charts. Implementation of the interactive version will be done later.

See also

Plotly has a lot of capability to create client-side linked charts (no need for shiny): https://plotly-r.com/client-side-linking.html

Further extensions

  1. Interactive version: The highlighting variable can be selected
  2. Wrapper functions for popular classes: SingleCellExperiment, seurat
  3. Another special case: Cluster silhouette plot.
Edited Jul 15, 2019 by jens.preussner
Assignee
Assign to
Time tracking