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 |
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.
Here is an example using scRNAseqApp with a subset of scRNA-seq data.
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")
library(scRNAseqApp)
publish_folder=tempdir()
scInit(app_path=publish_folder)
scRNAseqApp(app_path = publish_folder)
There are two ways to create a new data.
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.
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",
abstract = 'Put the description of the data here.')
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)
## 3 layers present: counts, data, scale.data
## 2 dimensional reductions calculated: pca, tsne
dir(file.path(publish_folder, 'data'))
## [1] "pbmc_small" "pbmc_small_test"
If you have files intended for user download, kindly save them in the
www/download
folder.
The application will then generate a list, differentiating between files and
user folder names, for convenient access to download options.
The file named as readme
in text format in each folder will be used as
descriptions for the files.
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.
Note: the following files need to be writable for shiny: www/database.sqlite
,
www/counter.tsv
and the app www
folder should also be writable because the
user manager is depend on SQLite, and the SQLite needs to be able to
create a journal file in the same directory as the DB,
before any modifications can take place.
The journal is used to support transaction rollback.
sessionInfo()
## R version 4.4.1 (2024-06-14)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.1 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.20-bioc/R/lib/libRblas.so
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.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] Seurat_5.1.0 SeuratObject_5.0.2 sp_2.1-4 scRNAseqApp_1.6.0
## [5] BiocStyle_2.34.0
##
## loaded via a namespace (and not attached):
## [1] matrixStats_1.4.1 spatstat.sparse_3.1-0
## [3] bitops_1.0-9 lubridate_1.9.3
## [5] httr_1.4.7 RColorBrewer_1.1-3
## [7] doParallel_1.0.17 tools_4.4.1
## [9] sctransform_0.4.1 backports_1.5.0
## [11] utf8_1.2.4 R6_2.5.1
## [13] DT_0.33 lazyeval_0.2.2
## [15] uwot_0.2.2 rhdf5filters_1.18.0
## [17] GetoptLong_1.0.5 withr_3.0.2
## [19] gridExtra_2.3 progressr_0.15.0
## [21] cli_3.6.3 Biobase_2.66.0
## [23] spatstat.explore_3.3-3 fastDummies_1.7.4
## [25] sass_0.4.9 spatstat.data_3.1-2
## [27] ggridges_0.5.6 pbapply_1.7-2
## [29] askpass_1.2.1 slingshot_2.14.0
## [31] Rsamtools_2.22.0 R.utils_2.12.3
## [33] shinyhelper_0.3.2 parallelly_1.38.0
## [35] limma_3.62.0 RSQLite_2.3.7
## [37] generics_0.1.3 shape_1.4.6.1
## [39] BiocIO_1.16.0 ica_1.0-3
## [41] spatstat.random_3.3-2 dplyr_1.1.4
## [43] Matrix_1.7-1 fansi_1.0.6
## [45] S4Vectors_0.44.0 RefManageR_1.4.0
## [47] abind_1.4-8 R.methodsS3_1.8.2
## [49] lifecycle_1.0.4 yaml_2.3.10
## [51] SummarizedExperiment_1.36.0 rhdf5_2.50.0
## [53] SparseArray_1.6.0 Rtsne_0.17
## [55] grid_4.4.1 blob_1.2.4
## [57] promises_1.3.0 crayon_1.5.3
## [59] miniUI_0.1.1.1 lattice_0.22-6
## [61] billboarder_0.5.0 cowplot_1.1.3
## [63] pillar_1.9.0 knitr_1.48
## [65] ComplexHeatmap_2.22.0 GenomicRanges_1.58.0
## [67] rjson_0.2.23 future.apply_1.11.3
## [69] codetools_0.2-20 leiden_0.4.3.1
## [71] glue_1.8.0 spatstat.univar_3.0-1
## [73] data.table_1.16.2 vctrs_0.6.5
## [75] png_0.1-8 spam_2.11-0
## [77] gtable_0.3.6 assertthat_0.2.1
## [79] cachem_1.1.0 xfun_0.48
## [81] princurve_2.1.6 S4Arrays_1.6.0
## [83] mime_0.12 survival_3.7-0
## [85] SingleCellExperiment_1.28.0 iterators_1.0.14
## [87] statmod_1.5.0 fitdistrplus_1.2-1
## [89] ROCR_1.0-11 nlme_3.1-166
## [91] bit64_4.5.2 RcppAnnoy_0.0.22
## [93] rprojroot_2.0.4 GenomeInfoDb_1.42.0
## [95] bslib_0.8.0 irlba_2.3.5.1
## [97] KernSmooth_2.23-24 colorspace_2.1-1
## [99] BiocGenerics_0.52.0 DBI_1.2.3
## [101] tidyselect_1.2.1 bit_4.5.0
## [103] compiler_4.4.1 curl_5.2.3
## [105] xml2_1.3.6 ggdendro_0.2.0
## [107] DelayedArray_0.32.0 plotly_4.10.4
## [109] scrypt_0.1.6 colourpicker_1.3.0
## [111] bookdown_0.41 rtracklayer_1.66.0
## [113] scales_1.3.0 lmtest_0.9-40
## [115] stringr_1.5.1 digest_0.6.37
## [117] goftest_1.2-3 spatstat.utils_3.1-0
## [119] rmarkdown_2.28 XVector_0.46.0
## [121] htmltools_0.5.8.1 pkgconfig_2.0.3
## [123] bibtex_0.5.1 MatrixGenerics_1.18.0
## [125] learnr_0.11.5 fastmap_1.2.0
## [127] rlang_1.1.4 GlobalOptions_0.1.2
## [129] htmlwidgets_1.6.4 UCSC.utils_1.2.0
## [131] shiny_1.9.1 farver_2.1.2
## [133] jquerylib_0.1.4 shinymanager_1.0.410
## [135] zoo_1.8-12 jsonlite_1.8.9
## [137] BiocParallel_1.40.0 R.oo_1.26.0
## [139] RCurl_1.98-1.16 magrittr_2.0.3
## [141] GenomeInfoDbData_1.2.13 dotCall64_1.2
## [143] patchwork_1.3.0 Rhdf5lib_1.28.0
## [145] munsell_0.5.1 Rcpp_1.0.13
## [147] reticulate_1.39.0 TrajectoryUtils_1.14.0
## [149] stringi_1.8.4 zlibbioc_1.52.0
## [151] MASS_7.3-61 plyr_1.8.9
## [153] parallel_4.4.1 listenv_0.9.1
## [155] ggrepel_0.9.6 deldir_2.0-4
## [157] Biostrings_2.74.0 splines_4.4.1
## [159] tensor_1.5 circlize_0.4.16
## [161] igraph_2.1.1 spatstat.geom_3.3-3
## [163] RcppHNSW_0.6.0 reshape2_1.4.4
## [165] stats4_4.4.1 XML_3.99-0.17
## [167] evaluate_1.0.1 BiocManager_1.30.25
## [169] foreach_1.5.2 tweenr_2.0.3
## [171] httpuv_1.6.15 RANN_2.6.2
## [173] tidyr_1.3.1 openssl_2.2.2
## [175] purrr_1.0.2 polyclip_1.10-7
## [177] future_1.34.0 clue_0.3-65
## [179] scattermore_1.2 ggplot2_3.5.1
## [181] ggforce_0.4.2 xtable_1.8-4
## [183] restfulr_0.0.15 RSpectra_0.16-2
## [185] later_1.3.2 viridisLite_0.4.2
## [187] tibble_3.2.1 memoise_2.0.1
## [189] GenomicAlignments_1.42.0 IRanges_2.40.0
## [191] cluster_2.1.6 sortable_0.5.0
## [193] timechange_0.3.0 globals_0.16.3
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).
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).