scRNAseqApp Guide

Jianhong Ou

26 April 2023

1 Introduction

Single-cell RNA sequencing (scRNA-seq) is a powerful technique to study gene expression, cellular heterogeneity, and cell states within samples in single-cell level. The development of scRNA-seq shed light to address the knowledge gap about the cell types, cell interactions, and key genes involved in biological process and their dynamics.

To increase the re-usability and reproducibility of scientific findings, more and more publishers require raw data and detailed descriptions of how the data were analyzed. However, difficulties arise due to the highly concise descriptions of analysis and the differences of the computing environments. Furthermore, to precisely meet the publishing requirement, the communication of the bioinformatician with researchers is a time-consuming step. Multiple interactive visualization tools were developed to provide the researchers access to the details of the data. Those tools include, but not limited to, alona1, ASAP2, Asc-Seurat3, BingleSeq4, CellView5, cellxgene VIP6, Cerebro7, CHARTS8, ChromSCape9, Cirrocumulus10, CReSCENT11, Cytosplore Viewer12, Granatum13, InterCellar14, iS-CellR15, iSEE16, loom-viewer, Loupe Cell Browser, PIVOT17, SC118, SCANNER19, scClustViz20, SCope21, scSVA22, scVI23, SeuratV3Wizard24/NASQAR, ShinyArchRUiO25, ShinyCell26, singleCellTK27, Single Cell Explorer (scExplorer)28, Single Cell Interactive Application (SCiAp)29 and UCSC Cell Browser30, SPRING31, WASP32, and Vitessce33.

The basic information of the tools are list in the following tables (the table was created at 12/06/2022):

Tool platform plot type
alona web-based scatters, bar
ASAP web-based scatters
Asc-Seurat shiny package scatters, heatmap, violin, dot, trajectory
BingleSeq shiny package scatters, heatmap, violin, ridge
CellView shiny package scatters
cellxgene VIP web-based scatters, bar, and visualization plugin
Cerebro/cerebroApp shiny package scatters, 3D scatters
CHARTS web-based scatters, bar
ChromSCape shiny package scatters, heatmap
Cirrocumulus python package
CReSCENT web-based scatters, violin
Cytosplore Viewer Cytosplore scatters, phylogeny
Granatum shiny package scatters, bar, trajectory, ppi
InterCellar shiny package dot, ppi, circos, radar, pie
iS-CellR shiny package scatters, heatmap, violin, bar, dot
iSEE shiny package scatters, heatmap, violin, bar
loom-viewer python package
Loupe Cell Browser Desktop scatters
PIVOT shiny package scatters, heatmap, violin, bar, pie
SC1 web-based scatters, heatmap, violin, bar
SCANNER web-based scatters
scClustViz shiny package scatters, heatmap, violin, bar, dot
scExplorer web-based scatters, heatmap
SCope web-based scatters
scSVA shiny package scatters, 3D scatters
scVI python package scatters, heatmap, violin, bar
seuratv3wizard web-based scatters
ShinyArchRUiO shiny package scatters, heatmap, track
ShinyCell shiny package scatters, heatmap, violin, bar
SCiAp1 short name for Single Cell Interactive Application galaxy
singleCellTK shiny package scatters, heatmap, violin, dot, trajectory
SPRING python package scatters
UCSC Cell Browser web-based scatters
Vitessce python package scatters, heatmap
WASP shiny package scatters, heatmap
Tool languages license starts watching forks citation
alona python GPL-3 12 3 5 24
ASAP Java,R,Python GPL-3 18 6 8 88
Asc-Seurat R GPL-3 12 2 6 10
BingleSeq R MIT 18 2 6 4
CellView R MIT 16 9 8 8
cellxgene VIP python,R,JavaScript MIT 81 6 24 10
Cerebro/cerebroApp R,JavaScript,C MIT 79 7 18 41
CHARTS python MIT 2 6 0 7
ChromSCape R GPL-3 11 2 4 13
Cirrocumulus JavaScript,Python BSD-3 38 7 9 78
CReSCENT R,Perl GPL-3 8 1 4 11
Cytosplore Viewer java,javascript
Granatum R Apache2 18 4 11 65
InterCellar R MIT 7 1 3 4
iS-CellR R GPL-3 21 6 6 15
iSEE R MIT 201 14 39 41
loom-viewer python,JavaScript BSD-2 32 9 6
Loupe Cell Browser
PIVOT R 27 6 15 27
SC1 R 5
SCANNER R 0 2 1 1
scClustViz R MIT 41 12 10 36
scExplorer JavaScript,Python GPL-3 7 3 6 16
SCope python,JavaScript GPL-3 60 8 14 4382 the package contribute paritial to the citation
scSVA R GPL-3 20 6 7 8
scVI python BSD-3 840 27 263 787
seuratv3wizard R GPL-3 29 8 13 283 citation is from NASQAR
ShinyArchRUiO R GPL-3 11 2 4 3
ShinyCell R GPL-3 70 9 23 28
SCiAp 16
singleCellTK R MIT 105 12 61 6
SPRING python,matlab,JavaScript 59 10 29 250
UCSC Cell Browser JavaScript,Python,R GPL-3 3 1 39 46
Vitessce JavaScript,Python,R MIT 92 6 23 2
WASP R,python 2 1 0 3
Tool source code
alona https://github.com/oscar-franzen/adobo/
ASAP https://github.com/DeplanckeLab/ASAP
Asc-Seurat https://github.com/KirstLab/asc_seurat/
BingleSeq https://github.com/dbdimitrov/BingleSeq/
CellView https://github.com/mohanbolisetty/CellView
cellxgene VIP https://github.com/interactivereport/cellxgene_VIP
Cerebro/cerebroApp https://github.com/romanhaa/Cerebro
CHARTS https://github.com/stewart-lab/CHARTS
ChromSCape https://github.com/vallotlab/ChromSCape
Cirrocumulus https://github.com/lilab-bcb/cirrocumulus
CReSCENT https://github.com/pughlab/crescent
Cytosplore Viewer
Granatum https://github.com/lanagarmire/Granatum
InterCellar https://github.com/martaint/InterCellar
iS-CellR https://github.com/immcore/iS-CellR
iSEE https://github.com/iSEE/iSEE
loom-viewer https://github.com/linnarsson-lab/loom-viewer
Loupe Cell Browser
PIVOT https://github.com/kimpenn/PIVOT
SC1
SCANNER https://github.com/GuoshuaiCai/scanner
scClustViz https://github.com/BaderLab/scClustViz
scExplorer https://github.com/d-feng/scExplorer
SCope https://github.com/aertslab/Scope
scSVA https://github.com/klarman-cell-observatory/scSVA
scVI https://github.com/scverse/scvi-tools
seuratv3wizard https://github.com/nasqar/seuratv3wizard
ShinyArchRUiO https://github.com/EskelandLab/ShinyArchRUiO
ShinyCell https://github.com/SGDDNB/ShinyCell
SCiAp
singleCellTK https://github.com/compbiomed/singleCellTK
SPRING https://github.com/AllonKleinLab/SPRING_dev
UCSC Cell Browser https://github.com/ucscGenomeBrowser/cellBrowser
Vitessce https://github.com/vitessce/vitessce
WASP https://github.com/andreashoek/wasp
Tool visualization tutorial
alona https://alona.panglaodb.se/faq.html
ASAP https://asap.epfl.ch/home/tutorial?t=fca
Asc-Seurat https://asc-seurat.readthedocs.io/en/latest/index.html
BingleSeq https://github.com/dbdimitrov/BingleSeq/blob/master/README.md
CellView
cellxgene VIP https://interactivereport.github.io/cellxgene_VIP/tutorial/docs
Cerebro/cerebroApp https://romanhaa.github.io/cerebroApp/
CHARTS https://github.com/stewart-lab/CHARTS/blob/master/README.md
ChromSCape https://vallotlab.github.io/ChromSCape/articles/vignette.html
Cirrocumulus https://cirrocumulus.readthedocs.io/en/latest/
CReSCENT https://pughlab.github.io/crescent-frontend/
Cytosplore Viewer https://viewer.cytosplore.org/
Granatum https://github.com/lanagarmire/Granatum/blob/master/doc/
Granatum_manual_0.92.pdf5 URL shown in multiple lines
InterCellar
iS-CellR
iSEE
loom-viewer https://github.com/linnarsson-lab/loom-viewer
Loupe Cell Browser
PIVOT https://rawgit.com/qinzhu/PIVOT/master/inst/app/www/manual_file.html
SC1
SCANNER
scClustViz
scExplorer http://singlecellexplorer.org/tutorial.html
SCope https://github.com/aertslab/SCope/blob/master/README.md
scSVA https://github.com/klarman-cell-observatory/scSVA/blob/
master/docs/index.md6 URL shown in multiple lines
scVI https://docs.scvi-tools.org/en/stable/user_guide/index.html
seuratv3wizard https://github.com/nasqar/seuratv3wizard/blob/master/README.md
ShinyArchRUiO
ShinyCell https://github.com/SGDDNB/ShinyCell/blob/master/README.md
SCiAp
singleCellTK
SPRING https://kleintools.hms.harvard.edu/tools/spring.html
UCSC Cell Browser https://cellbrowser.readthedocs.io/en/master/interface.html
Vitessce http://vitessce.io/docs/
WASP https://github.com/andreashoek/wasp/blob/main/README.md

2 Motivation

Based on ShinyCell, The scRNAseqApp package is developed with multiple highly interactive visualizations of how cells and subsets of cells cluster behavior. The end users can discover the expression of genes in multiple interactive manners with highly customized filter conditions by selecting metadata supplied with the publications and download the ready-to-use results for republishing.

3 Quick start

Here is an example using scRNAseqApp with a subset of scRNA-seq data.

3.1 Installation

First, install scRNAseqApp and other packages required to run the examples. Please note that the example dataset used here is from a small subset of PBMC34. Additional package are also required for enhancement functions such trajectory analysis or cell communication analysis.

library(BiocManager)
BiocManager::install("scRNAseqApp")

3.2 Load library

library(scRNAseqApp)

3.3 Initial the database

publish_folder=tempdir()
scInit(app_path=publish_folder)

3.4 Start shiny app

scRNAseqApp(app_path = publish_folder)

4 Create a new data

There are two ways to create a new data.

  • from the administrator mode
  • use R session

4.1 by administrator

Log in to admin by Switch User tab and click administrator button in the right-bottom corner of screen. Click UploadData and upload a Seurat object.

4.2 via R session

There are two steps to create a new data via R session. First, create the config file with description of the data and second create the data from a Seurat object.

library(Seurat)
appconf <- createAppConfig(
            title="pbmc_small_test",
            destinationFolder = "pbmc_small_test",
            species = "Homo sapiens",
            doi="10.1038/nbt.3192",
            datatype = "scRNAseq")
createDataSet(
    appconf,
    pbmc_small,
    datafolder=file.path(publish_folder, "data"))
## An object of class Seurat 
## 230 features across 80 samples within 1 assay 
## Active assay: RNA (230 features, 20 variable features)
##  2 dimensional reductions calculated: pca, tsne
dir(file.path(publish_folder, 'data'))
## [1] "pbmc_small"      "pbmc_small_test"

5 Distribute to a shiny server

There are two steps to distribute to a shiny server. First, install the package in the server as root user. Second, in a R session run scInit() after load the scRNAseqApp library. If you initialed the app offline, copy the app folder to the shiny server.

6 SessionInfo

sessionInfo()
## R version 4.3.0 RC (2023-04-13 r84269)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 22.04.2 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.17-bioc/R/lib/libRblas.so 
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_GB              LC_COLLATE=C              
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## time zone: America/New_York
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] SeuratObject_4.1.3 Seurat_4.3.0       scRNAseqApp_1.0.1  BiocStyle_2.28.0  
## 
## loaded via a namespace (and not attached):
##   [1] TrajectoryUtils_1.8.0       RcppAnnoy_0.0.20           
##   [3] slingshot_2.8.0             splines_4.3.0              
##   [5] later_1.3.0                 BiocIO_1.10.0              
##   [7] bitops_1.0-7                R.oo_1.25.0                
##   [9] tibble_3.2.1                polyclip_1.10-4            
##  [11] XML_3.99-0.14               shinymanager_1.0.410       
##  [13] lifecycle_1.0.3             doParallel_1.0.17          
##  [15] globals_0.16.2              lattice_0.21-8             
##  [17] hdf5r_1.3.8                 MASS_7.3-59                
##  [19] backports_1.4.1             magrittr_2.0.3             
##  [21] limma_3.56.0                plotly_4.10.1              
##  [23] sass_0.4.5                  rmarkdown_2.21             
##  [25] jquerylib_0.1.4             yaml_2.3.7                 
##  [27] httpuv_1.6.9                sctransform_0.3.5          
##  [29] askpass_1.1                 sp_1.6-0                   
##  [31] spatstat.sparse_3.0-1       reticulate_1.28            
##  [33] DBI_1.1.3                   cowplot_1.1.1              
##  [35] pbapply_1.7-0               RColorBrewer_1.1-3         
##  [37] lubridate_1.9.2             abind_1.4-5                
##  [39] zlibbioc_1.46.0             Rtsne_0.16                 
##  [41] GenomicRanges_1.52.0        R.utils_2.12.2             
##  [43] purrr_1.0.1                 BiocGenerics_0.46.0        
##  [45] RCurl_1.98-1.12             tweenr_2.0.2               
##  [47] circlize_0.4.15             GenomeInfoDbData_1.2.10    
##  [49] IRanges_2.34.0              S4Vectors_0.38.0           
##  [51] ggrepel_0.9.3               irlba_2.3.5.1              
##  [53] listenv_0.9.0               spatstat.utils_3.0-2       
##  [55] goftest_1.2-3               spatstat.random_3.1-4      
##  [57] fitdistrplus_1.1-11         parallelly_1.35.0          
##  [59] leiden_0.4.3                codetools_0.2-19           
##  [61] DelayedArray_0.26.0         DT_0.27                    
##  [63] xml2_1.3.3                  ggforce_0.4.1              
##  [65] tidyselect_1.2.0            shape_1.4.6                
##  [67] farver_2.1.1                matrixStats_0.63.0         
##  [69] stats4_4.3.0                spatstat.explore_3.1-0     
##  [71] GenomicAlignments_1.36.0    jsonlite_1.8.4             
##  [73] GetoptLong_1.0.5            ellipsis_0.3.2             
##  [75] progressr_0.13.0            ggridges_0.5.4             
##  [77] survival_3.5-5              iterators_1.0.14           
##  [79] foreach_1.5.2               tools_4.3.0                
##  [81] ica_1.0-3                   Rcpp_1.0.10                
##  [83] glue_1.6.2                  gridExtra_2.3              
##  [85] RefManageR_1.4.0            xfun_0.39                  
##  [87] MatrixGenerics_1.12.0       GenomeInfoDb_1.36.0        
##  [89] dplyr_1.1.2                 withr_2.5.0                
##  [91] BiocManager_1.30.20         fastmap_1.1.1              
##  [93] fansi_1.0.4                 openssl_2.0.6              
##  [95] digest_0.6.31               timechange_0.2.0           
##  [97] R6_2.5.1                    mime_0.12                  
##  [99] colorspace_2.1-0            scattermore_0.8            
## [101] tensor_1.5                  RSQLite_2.3.1              
## [103] spatstat.data_3.0-1         R.methodsS3_1.8.2          
## [105] utf8_1.2.3                  tidyr_1.3.0                
## [107] generics_0.1.3              data.table_1.14.8          
## [109] rtracklayer_1.60.0          httr_1.4.5                 
## [111] htmlwidgets_1.6.2           uwot_0.1.14                
## [113] pkgconfig_2.0.3             gtable_0.3.3               
## [115] blob_1.2.4                  ComplexHeatmap_2.16.0      
## [117] lmtest_0.9-40               SingleCellExperiment_1.22.0
## [119] XVector_0.40.0              htmltools_0.5.5            
## [121] shinyhelper_0.3.2           bookdown_0.33              
## [123] clue_0.3-64                 scales_1.2.1               
## [125] Biobase_2.60.0              png_0.1-8                  
## [127] ggdendro_0.1.23             knitr_1.42                 
## [129] reshape2_1.4.4              rjson_0.2.21               
## [131] curl_5.0.0                  nlme_3.1-162               
## [133] cachem_1.0.7                zoo_1.8-12                 
## [135] GlobalOptions_0.1.2         stringr_1.5.0              
## [137] KernSmooth_2.23-20          parallel_4.3.0             
## [139] miniUI_0.1.1.1              restfulr_0.0.15            
## [141] pillar_1.9.0                grid_4.3.0                 
## [143] vctrs_0.6.2                 RANN_2.6.1                 
## [145] promises_1.2.0.1            princurve_2.1.6            
## [147] billboarder_0.4.0           xtable_1.8-4               
## [149] cluster_2.1.4               evaluate_0.20              
## [151] cli_3.6.1                   compiler_4.3.0             
## [153] Rsamtools_2.16.0            rlang_1.1.0                
## [155] crayon_1.5.2                future.apply_1.10.0        
## [157] plyr_1.8.8                  stringi_1.7.12             
## [159] viridisLite_0.4.1           deldir_1.0-6               
## [161] BiocParallel_1.34.0         munsell_0.5.0              
## [163] Biostrings_2.68.0           lazyeval_0.2.2             
## [165] spatstat.geom_3.1-0         Matrix_1.5-4               
## [167] scrypt_0.1.6                patchwork_1.1.2            
## [169] bit64_4.0.5                 future_1.32.0              
## [171] ggplot2_3.4.2               shiny_1.7.4                
## [173] SummarizedExperiment_1.30.0 ROCR_1.0-11                
## [175] memoise_2.0.1               igraph_1.4.2               
## [177] bslib_0.4.2                 bibtex_0.5.1               
## [179] bit_4.0.5

References

1. Franzén, O. & Björkegren, J. L. Alona: A web server for single-cell rna-seq analysis. Bioinformatics 36, 3910–3912 (2020).

2. Gardeux, V., David, F. P., Shajkofci, A., Schwalie, P. C. & Deplancke, B. ASAP: A web-based platform for the analysis and interactive visualization of single-cell rna-seq data. Bioinformatics 33, 3123–3125 (2017).

3. Pereira, W. J. et al. Asc-seurat: Analytical single-cell seurat-based web application. BMC bioinformatics 22, 1–14 (2021).

4. Dimitrov, D. & Gu, Q. BingleSeq: A user-friendly r package for bulk and single-cell rna-seq data analysis. PeerJ 8, e10469 (2020).

5. Bolisetty, M. T., Stitzel, M. L. & Robson, P. CellView: Interactive exploration of high dimensional single cell rna-seq data. bioRxiv 123810 (2017).

6. Li, K. et al. Cellxgene vip unleashes full power of interactive visualization and integrative analysis of scRNA-seq, spatial transcriptomics, and multiome data. bioRxiv 2020–08 (2022).

7. Hillje, R., Pelicci, P. G. & Luzi, L. Cerebro: Interactive visualization of scRNA-seq data. Bioinformatics 36, 2311–2313 (2020).

8. Bernstein, M. N. et al. CHARTS: A web application for characterizing and comparing tumor subpopulations in publicly available single-cell rna-seq data sets. BMC bioinformatics 22, 1–9 (2021).

9. Prompsy, P. et al. Interactive analysis of single-cell epigenomic landscapes with chromscape. Nature communications 11, 1–9 (2020).

10. Li, B. et al. Cumulus provides cloud-based data analysis for large-scale single-cell and single-nucleus rna-seq. Nature methods 17, 793–798 (2020).

11. Mohanraj, S. et al. Crescent: Cancer single cell expression toolkit. Nucleic Acids Research 48, W372–W379 (2020).

12. Tasic, B. et al. Shared and distinct transcriptomic cell types across neocortical areas. Nature 563, 72–78 (2018).

13. Zhu, X. et al. Granatum: A graphical single-cell rna-seq analysis pipeline for genomics scientists. Genome medicine 9, 1–12 (2017).

14. Interlandi, M., Kerl, K. & Dugas, M. InterCellar enables interactive analysis and exploration of cell- cell communication in single-cell transcriptomic data. Communications biology 5, 1–13 (2022).

15. Patel, M. V. IS-cellr: A user-friendly tool for analyzing and visualizing single-cell rna sequencing data. Bioinformatics 34, 4305–4306 (2018).

16. Rue-Albrecht, K., Marini, F., Soneson, C. & Lun, A. T. ISEE: Interactive summarizedexperiment explorer. F1000Research 7, (2018).

17. Zhu, Q. et al. PIVOT: Platform for interactive analysis and visualization of transcriptomics data. BMC bioinformatics 19, 1–8 (2018).

18. Moussa, M. & Măndoiu, I. I. SC1: A tool for interactive web-based single-cell rna-seq data analysis. Journal of Computational Biology 28, 820–841 (2021).

19. Cai, G., Yu, X., Youn, C., Zhou, J. & Xiao, F. SCANNER: A web platform for annotation, visualization and sharing of single cell rna-seq data. Database 2022, (2022).

20. Innes, B. T. & Bader, G. D. ScClustViz–single-cell rnaseq cluster assessment and visualization. F1000Research 7, (2018).

21. Davie, K. et al. A single-cell transcriptome atlas of the aging drosophila brain. Cell 174, 982–998 (2018).

22. Tabaka, M., Gould, J. & Regev, A. ScSVA: An interactive tool for big data visualization and exploration in single-cell omics. BioRxiv 512582 (2019).

23. Lopez, R., Regier, J., Cole, M. B., Jordan, M. I. & Yosef, N. Deep generative modeling for single-cell transcriptomics. Nature methods 15, 1053–1058 (2018).

24. Yousif, A., Drou, N., Rowe, J., Khalfan, M. & Gunsalus, K. C. NASQAR: A web-based platform for high-throughput sequencing data analysis and visualization. Bmc Bioinformatics 21, 1–14 (2020).

25. Sharma, A., Akshay, A., Rogne, M. & Eskeland, R. ShinyArchR. UiO: User-friendly, integrative and open-source tool for visualization of single-cell atac-seq data using archr. Bioinformatics 38, 834–836 (2022).

26. Ouyang, J. F., Kamaraj, U. S., Cao, E. Y. & Rackham, O. J. ShinyCell: Simple and sharable visualization of single-cell gene expression data. Bioinformatics 37, 3374–3376 (2021).

27. Hong, R. et al. Comprehensive generation, visualization, and reporting of quality control metrics for single-cell rna sequencing data. Nature communications 13, 1–9 (2022).

28. Feng, D., Whitehurst, C. E., Shan, D., Hill, J. D. & Yue, Y. G. Single cell explorer, collaboration-driven tools to leverage large-scale single cell rna-seq data. BMC genomics 20, 1–8 (2019).

29. Moreno, P. et al. User-friendly, scalable tools and workflows for single-cell rna-seq analysis. Nature methods 18, 327–328 (2021).

30. Speir, M. L. et al. UCSC cell browser: Visualize your single-cell data. Bioinformatics 37, 4578–4580 (2021).

31. Weinreb, C., Wolock, S. & Klein, A. M. SPRING: A kinetic interface for visualizing high dimensional single-cell expression data. Bioinformatics 34, 1246–1248 (2018).

32. Hoek, A. et al. WASP: A versatile, web-accessible single cell rna-seq processing platform. BMC genomics 22, 1–11 (2021).

33. Keller, M. S. et al. Vitessce: A framework for integrative visualization of multi-modal and spatially-resolved single-cell data. (2021).

34. Satija, R., Farrell, J. A., Gennert, D., Schier, A. F. & Regev, A. Spatial reconstruction of single-cell gene expression data. Nature biotechnology 33, 495–502 (2015).