Skip to content

A ShinyApp for visualization and explorering Cellular Indexing of Transcriptomes and Epitopes by Sequencing (CITE-seq) data

License

Notifications You must be signed in to change notification settings

zqzneptune/ShinyCITExpresso

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShinyCITExpresso

The ShinyCITExpresso R package provides a web application based on Shiny and bslib for visualization CITE-seq multiomics data:

Navigating Cellular Data: A Visual Journey

Tailored Insights: Visualizing Custom Features

Harmonizing Signals: Understanding Cross-Modality Correlation

Virtual Flow Cytometry: Decoding Pseudo FACS

Installation

Install Dependencies:

install.packages(c("devtools", "BiocManager"))
install.packages(c("dplyr", "ggrepel", "magrittr", 
"plyr", "ggplot2", "RColorBrewer","shiny", "waiter", "bslib", "bsicons"))
BiocManager::install(
  c("SummarizedExperiment", "BiocGenerics",
    "SingleCellExperiment", "MultiAssayExperiment",
    "HDF5Array")
)

Install the ShinyCITExpresso package from Github as follows:

devtools::install_github("zqzneptune/ShinyCITExpresso")

Quick demo

Access live demo here, and explore results from Seurat WNN (Weighted Nearest Neighbor) analysis of 30,672 scRNA-seq profiles measured alongside a panel of 25 antibodies from bone marrow (Stuart*, Butler* et al, Cell 2019).

Get started

Select object type to get started with your own data:

MuData

Results from CITE-seq analysis with totalVI and Processing and integrating 5k PBMCs CITE-seq data using moun are *.h5mu format, which can be converted into MultiAssayExperiment objects for ShinyCITExpersso using the R package MuData

maeObj <- MuData::readH5MU("cite.h5mu")
ShinyCITExpresso::run_app(mae = maeObj)

Seurat

Results from Seurat Weighted Nearest Neighbor Analysis can be converted into SingleCellExperiment object first:

library(Seurat)

seuObj <- readRDS("cite.RDS")

sceObj <- as.SingleCellExperiment(seuObj)

SingleCellExpeiment

SingleCellExperiment object stores additional modality in altExp slot, which can be extract to construct MultiAssayExperiment object:

library(SingleCellExperiment)

fnMain <-
  mainExpName(sceObj)
fnAlt <-
  altExpNames(sceObj)  

altSCE <-
  altExp(sceObj)
  
altExp(sceObj) <-
  NULL

assay_list <-
  list(sceObj, altSCE)
  
names(assay_list) <-
  c(fnMain, fnAlt)
  
datColData <-
  colData(sceObj)

maeObj <- 
  MultiAssayExperiment::MultiAssayExperiment(
    experiments = ExperimentList(assay_list),
    colData = datColData
  )
ShinyCITExpresso::run_app(mae = maeObj)

Code of Conduct

Please note that the ShinyCITExpresso project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

FAQ

  • Q. There are multiple layers of feature data in cite.h5mu. However, only one layer can be visualized. Is it possible to visualize other layers of data, such as denoised RNA or denoised protein?

To simplify matters, ShinyCITExpresso opts to display the first available layer in the object. For AnnData, the X layer is commonly used. To visualize other layers, one can manipulate the MAE object by retaining either the denoised RNA or denoised protein in the assay slot:

library(SingleCellExperiment)
maeObj <-
  MuData::readH5MU("cite.h5mu")

# A MultiAssayExperiment object of 3 listed
#  experiments with user-defined names and respective classes.
#  Containing an ExperimentList class object of length 3:
#  [1] protein: SingleCellExperiment with xxxx rows and xxxx columns
#  [2] rna: SingleCellExperiment with xxxx rows and xxxx columns
#  [3] rna_subset: SingleCellExperiment with xxxx rows and xxx columns

# Choosing denoised_protein for the first Experiment: protein
assays(maeObj[[1]]) <-
  assays(maeObj[[1]])[["denoised_protein"]]
  
# Choosing denoised_protein for the third Experiment: rna_subset
assays(maeObj[[3]]) <-
  assays(maeObj[[3]])[["denoised_rna"]]

# Then Run ShinyCITExpresso
ShinyCITExpresso::run_app(mae = maeObj)

About

A ShinyApp for visualization and explorering Cellular Indexing of Transcriptomes and Epitopes by Sequencing (CITE-seq) data

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages