Interactive Shiny Studio — Complete User Guide

Overview

The scSimEval Shiny Studio is a fully self-contained, browser-based graphical interface that gives researchers access to all 62 evaluation measures and every visualization in the package — without writing a single line of R code.

Launch it locally in R with:

library(scSimEval)
launch_scSimEval_app()          # opens in your default browser

File size limit: The app accepts uploads up to 10 GB per file, which comfortably handles large-scale single-cell and multiomics datasets.

The studio is organized into seven primary navigation tabs in the top navigation bar, plus an eight-panel Visualizations module inside Tab 4. The sections below document every tab, every control, and all export options in the order they appear in the application.


Tab 1 — Home

The landing page introduces scSimEval Studio, explicitly highlighting simulation evaluation across single-cell RNA-seq (scRNA-seq), single-cell ATAC-seq (scATAC-seq), and single-cell multiomics (scRNA-seq + scATAC-seq) datasets against real biological references across 62 evaluation measures without requiring synthetic ground truth.

In the standalone web deployment (scSimEval_shiny), a floating Google Analytics all-time pageview counter badge appears at the bottom-right corner, continuously reporting container-lifetime visits without UI latency.

The four KPI cards below the hero section display: 62 evaluation measures, 8 biological dimensions, 3 modalities (RNA / ATAC / Co-Assay), and the [0, 1] normalized fidelity scale.

Interactive operational mode cards showcase: 1. Pre-computed Benchmarks: 1-click loading of benchmark evaluations across multiple simulators and datasets. 2. Single-Cell RNA-seq Evaluation: Count matrix evaluation across statistical, clustering, and technical properties. 3. Multi-Omics (RNA + ATAC) Evaluation: Co-assay multiomics benchmarking assessing cross-modal coupling alongside unimodal properties. 4. Upload Pre-Computed Benchmark Table: Instant ingestion of previously calculated benchmark tables for reporting.


Tab 2 — Data Hub

Data ingestion and evaluation control centre. It features three comprehensive subtabs:

Subtab 1: Data Ingestion & Benchmark Studio

Choose one of four evaluation modes from the radio button panel on the left sidebar:

Mode 1 — Pre-Computed Benchmark (Demo Data)

Click Load Demo Benchmark to instantly populate the app with pre-computed multi-dataset results across Simulator 1 to Simulator 6 across all 62 measures. No file uploads required.

Package Example Datasets vs. Shiny App Demo Data: * R Package Example Datasets (data/): Lightweight, runnable count matrices (example_scrna, example_scatac, example_multiomics, 60 features × 80 cells) designed for rapid command-line testing of individual evaluation functions in R console sessions. * Shiny App Demo Data (inst/shiny/scSimEvalApp/data/): A rich pre-computed benchmark results archive (6 simulators × 62 metrics × 2 datasets = 744 metric observations) accompanied by reference and simulated count matrices (100 genes × 50 cells). This gives web users an immediate, zero-latency tour of all tabs, ranking leaderboards, bubble matrices, and 8 visualization panels without requiring computationally intensive matrix evaluations.

Mode 2 — Single-Cell Evaluation (scRNA-seq / scATAC-seq)

Evaluate one or more unimodal count-matrix simulators across single or multiple experimental datasets. * Reference Count Matrix: Real empirical cells. Formats: .rds, .csv, .tsv, .txt, .xlsx. * Number of Single-Cell Simulators (1–6): Generates matching upload cards with simulator name, simulated count matrix, runtime (seconds), and peak RAM (MiB). * Cell Type Labels (Optional): Vector / factor / 2-column table (Cell_ID,Cell_Type). Unlocks +12–15 clustering and biological signal metrics. * Batch Annotations (Optional): Vector / factor / 2-column table (Cell_ID,Batch). Unlocks +7 batch mixing metrics.

Mode 3 — Multiomics Evaluation (scRNA-seq + scATAC-seq)

  • Paired Co-assay: Same individual cells in both modalities (10x Multiome, SHARE-seq). All 62 metrics including FOSCTTM, , and peak-to-gene linkage.
  • Unpaired Profiling: Separate cells from the same tissue. Population-level cross-modal metrics evaluated; cell-pairing metrics safely skipped.

Metric Measurement Capacity by Upload Configuration

The Shiny app dynamically scales the number of quantitative metrics measured based on the uploaded files:

Experiment Mode Uploaded Inputs Metrics Measured Active Evaluation Categories & Scope
Single-Cell (scRNA / scATAC) Count Matrix alone (no metadata) ~23 Metrics Cat I (Distributional, 14 metrics), Cat II (Correlations & Zeroes, 6 metrics), Cat VI (Trajectory, 2 metrics), Cat VIII (Scalability, 2 metrics).
Single-Cell (scRNA / scATAC) Matrix + Cell Types ~35–38 Metrics Adds +12–15 metrics: Unlocks Cat III (Cellular Structure / ARI, NMI, AMI, Silhouette) and Cat V (Biological Signal / SimBench DE, DP, DV, top DEG Jaccard).
Single-Cell (scRNA / scATAC) Matrix + Batch Info ~30 Metrics Adds +7 metrics: Unlocks Cat IV (Batch Mixing / Batch Silhouette, Shannon Entropy, PCR \(R^2\), CMS, ISI, Seurat mixing).
Single-Cell (scRNA / scATAC) Full Metadata (Matrix + Cell Types + Batch) Up to ~55 Metrics Unlocks the complete unimodal suite across Categories I, II, III, IV, V, VI, and VIII.
Paired Multiomics (scRNA + scATAC) RNA + ATAC Matrices alone ~48 Metrics Unimodal distributions for both modalities (~40 metrics) PLUS Cat VII (Cross-Modal Coupling: FOSCTTM, , generation, \(R_V\), peak-to-gene linkage).
Paired Multiomics (scRNA + scATAC) Full Metadata (RNA + ATAC + Cell Types + Batch) All 62 Metrics Complete multiomics benchmark suite across all 8 canonical categories (Categories I–VIII).
Unpaired Multiomics (Independent cells) RNA + ATAC Matrices alone ~38–42 Metrics Both unimodal distributions plus population coupling (co-expression module fidelity, Network Jaccard, cross-modality correlation).
Unpaired Multiomics (Independent cells) RNA + ATAC + Cell Types (+ Batch) Up to ~58 Metrics Essential for unpaired: Unlocks cluster-matched label transfer, cell-type regulatory linkage, and technical donor integration.

Mode 4 — Upload Pre-Computed Benchmark Table (.rds / .csv)

Load output previously saved from evaluate_simulation_accuracy(), evaluate_multiomics_accuracy(), or evaluate_multiple_datasets().

Subtab 2: View Uploaded Data & Matrices

Interactive matrix viewer supporting browsing, filtering, and summary statistics across all loaded biological reference and simulated count matrices.

Subtab 3: Dataset Properties Summary & HPC Cluster Execution

  • Dataset Properties Summary Table: Comprehensive per-matrix QC: Cells (N), Features (P), Sparsity (%), Cell Types, Batches, Median Library Size, Median Detected Features, Mean Expression.
  • HPC Cluster Batch Script Generator: Export automated SLURM, PBS, or Bash cluster execution scripts to run heavy benchmarks offline on compute nodes.

Tab 3 — Comparative Bubble Matrix & Leaderboard

Subtab 1: Comparative Bubble Matrix Figure

The flagship visualization: every simulator × all 62 metrics in one colour-coded matrix. Bubble diameter is proportional to the normalized fidelity score. Scores ≥ 0.96 are rendered as bold square glyphs. Simulators are rank-ordered top-to-bottom by composite average score. * Multi-Dataset Selector Bar: Switch seamlessly between All Datasets (Cross-Dataset Average) or inspect individual datasets (Dataset 1, Dataset 2, …, Dataset N) separately. * Minimalist vs Publication Matrix: Toggle between a sleek, dot-matrix view and a fully annotated publication matrix. * Confirmation & Plot Action Button: Click Confirm & Generate Plot to render with app-wide loading indicators. * High-Resolution Exports & R Script: Download 600 DPI JPEG, vector PDF, or a Download R Script providing the complete analytical workflow with ggplot2 code.

Subtab 2: Fidelity Leaderboard

  • Simulator Ranking Cards & Podiums: Visual podium ranking simulators by overall composite fidelity.
  • Custom Category Weight Sliders: Interactively adjust the relative importance of each category to recalculate composite rankings according to specific biological priorities.
  • Export Leaderboard: Download the tidy rankings table as CSV.

Tab 4 — Visualizations

Eight diagnostic sub-panels accessed via the pill navigation bar. Every sub-panel is equipped with the Global Multi-Dataset Selector Bar (allowing inspection of All Datasets Average or specific datasets), active dataset badges, Confirm & Generate Plot buttons, app-wide processing overlays, 600 DPI JPEG / PDF downloads, and a Download R Script workflow generator:

  • Sub-panel 1 — Evaluation Summary: plot_evaluation_summary() — rank-ordered horizontal bar chart across all 8 categories and composite score.
  • Sub-panel 2 — Distribution QC: plot_distribution_qc() — grid comparing expression densities, ECDF curves, KS distances, library sizes, and zero-inflation curves between reference and simulated cells.
  • Sub-panel 3 — Scalability Benchmark: plot_scalability_benchmark() — runtime (seconds) and memory (peak RAM in MiB) dashboards with Pareto efficiency frontiers, throughput (cells/sec), and resource cost index.
  • Sub-panel 4 — Metric Plots: plot_metric_boxplots() / plot_category_metric_bars() / plot_individual_metric_bar() — score distribution boxplots and barplots across categories with Raw vs Normalized view toggles.
  • Sub-panel 5 — Metric Heatmap: plot_metric_heatmap() — method × metric grid with exact scores in bold text, direction-aware fill colours, and unsupervised hierarchical clustering.
  • Sub-panel 6 — PCA Ordination: plot_metric_pca() — simulators projected into performance space with discriminating metric vector loadings.
  • Sub-panel 7 — MDS Metric Space: plot_metric_mds() — Multi-Dimensional Scaling ordination mapping simulator algorithmic proximity.
  • Sub-panel 8 — Cell Embeddings (UMAP, t-SNE & PCA): compute_dataset_embeddings() + plot_dataset_embeddings() — dimension reduction comparing reference cells directly to simulated cells, with cell-type cluster fidelity metrics.

Tab 5 — Benchmark Results & Export

The central hub for data exploration and multi-format exports:

Interactive Master Benchmark Scores Table

A full DT table with per-column dropdown search boxes for instant filtering by Dataset, Method, and Category. Explicitly displays: * Score_Raw: Raw unnormalized metric values in physical and statistical units (e.g. KS distance, Wasserstein distance, runtime in seconds, peak RAM in MiB, Chi-Square values, Pearson correlation). * Score: Direction-aware normalized score \([0, 1]\) where 1.0 represents top fidelity.

Multi-Format Exports

Export benchmark results in Excel Workbook (.xlsx), CSV Table (.csv), Tab-delimited (.tsv), R Data Object (.rds), or Complete Archive (.zip).


Tab 6 — Help & Getting Started

An in-app reference guide structured into seven sections: 1. Workflow Architecture & Pipeline — 4-step pipeline diagram and multi-dataset processing. 2. The Eight Evaluation Categories — tabular reference for all 62 metrics, highlighting peak RAM in MiB. 3. Metric Measurement Capacity by Data & Metadata Mode — detailed reference table documenting metric numbers and unlocked categories. 4. Score Normalization Pipeline — direction inversion, min-max scaling, and raw vs normalized score reporting. 5. Comprehensive Guide to App Tabs — detailed walkthrough of each application module. 6. Input Data Formats & Metadata Templates — matrix structures (genes × cells), cell-type and batch annotation vectors, and sample CSV downloads. 7. Computational Sizing, RAM (MiB/GiB), & Guidelines — hardware recommendations contrasting Cloud, Local Workstation, and HPC clusters.


Tab 7 — Contact

Information regarding the development team at Division of Agricultural Bioinformatics, ICAR-IASRI, maintainer contacts, GitHub issues link, and recommended citations.


R API Cross-Reference

Every Shiny control maps directly to a documented R function:

Shiny Panel R Function
Data Hub → Single-Cell evaluate_simulation_accuracy()
Data Hub → Multiomics evaluate_multiomics_accuracy()
Data Hub → Multiple Datasets evaluate_multiple_datasets()
Bubble Matrix plot_benchmark_bubble_matrix()
Evaluation Summary plot_evaluation_summary()
Distribution QC plot_distribution_qc()
Scalability Benchmark plot_scalability_benchmark()
Metric Plots (all categories) plot_metric_boxplots()
Metric Plots (by category) plot_category_metric_bars()
Metric Plots (individual) plot_individual_metric_bar()
Metric Heatmap plot_metric_heatmap()
PCA Ordination plot_metric_pca()
MDS Metric Space plot_metric_mds()
Cell Embeddings compute_dataset_embeddings() + plot_dataset_embeddings()
Embedding Quality Metrics compute_embedding_quality_metrics()

For complete parameter descriptions see the Reference index.


#> R version 4.6.1 (2026-06-24)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu 26.04.1 LTS
#> 
#> Matrix products: default
#> BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
#> LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.32.so;  LAPACK version 3.12.0
#> 
#> locale:
#>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
#>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
#>  [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: Etc/UTC
#> tzcode source: system (glibc)
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] scSimEval_0.99.7 rmarkdown_2.32  
#> 
#> loaded via a namespace (and not attached):
#>   [1] RColorBrewer_1.1-3          sys_3.4.3                  
#>   [3] jsonlite_2.0.0              magrittr_2.0.5             
#>   [5] ggbeeswarm_0.7.3            SuppDists_1.1-9.9          
#>   [7] modeltools_0.2-25           farver_2.1.2               
#>   [9] nloptr_2.2.1                provenance_4.4             
#>  [11] vctrs_0.7.3                 memoise_2.0.1              
#>  [13] minqa_1.2.8                 htmltools_0.5.9            
#>  [15] S4Arrays_1.13.2             curl_8.0.0                 
#>  [17] BiocNeighbors_2.7.3         SparseArray_1.13.4         
#>  [19] overlapping_2.5             sass_0.4.10                
#>  [21] bslib_0.12.0                testthat_3.3.2             
#>  [23] httr2_1.3.0                 cachem_1.1.0               
#>  [25] buildtools_1.0.0            igraph_2.3.4               
#>  [27] lifecycle_1.0.5             pkgconfig_2.0.3            
#>  [29] rsvd_1.0.5                  Matrix_1.7-6               
#>  [31] R6_2.6.1                    fastmap_1.2.0              
#>  [33] rbibutils_2.4.1             MatrixGenerics_1.25.0      
#>  [35] clue_0.3-68                 digest_0.6.39              
#>  [37] S4Vectors_0.51.10           scater_1.41.2              
#>  [39] irlba_2.4.1                 IsoplotR_7.0               
#>  [41] GenomicRanges_1.65.4        RSQLite_3.53.3             
#>  [43] beachmat_2.29.3             philentropy_0.10.0         
#>  [45] filelock_1.0.3              labeling_0.4.3             
#>  [47] abind_1.4-8                 compiler_4.6.1             
#>  [49] proxy_0.4-29                bit64_4.8.6                
#>  [51] withr_3.0.3                 CellMixS_1.29.0            
#>  [53] S7_0.2.2                    BiocParallel_1.47.0        
#>  [55] viridis_0.6.5               DBI_1.3.0                  
#>  [57] MASS_7.3-66                 DelayedArray_0.39.8        
#>  [59] bluster_1.23.1              tools_4.6.1                
#>  [61] vipor_0.4.7                 otel_0.2.0                 
#>  [63] beeswarm_0.4.0              prabclus_2.3-5             
#>  [65] nnet_7.3-21                 glue_1.8.1                 
#>  [67] nlme_3.1-171                grid_4.6.1                 
#>  [69] waddR_1.27.0                cluster_2.1.8.3            
#>  [71] ade4_1.7-24                 generics_0.1.4             
#>  [73] gtable_0.3.6                class_7.3-24               
#>  [75] tidyr_1.3.2                 ScaledMatrix_1.21.0        
#>  [77] BiocSingular_1.29.2         XVector_0.53.0             
#>  [79] flexmix_2.3-21              BiocGenerics_0.59.12       
#>  [81] ggrepel_0.9.8               RANN_2.6.3                 
#>  [83] pillar_1.11.1               limma_3.99.1               
#>  [85] clValid_0.7                 robustbase_0.99-7          
#>  [87] splines_4.6.1               dplyr_1.2.1                
#>  [89] BiocFileCache_3.3.0         lattice_0.23-1             
#>  [91] bit_4.6.0                   tidyselect_1.2.1           
#>  [93] SingleCellExperiment_1.35.2 locfit_1.5-9.12            
#>  [95] scuttle_1.23.2              maketools_1.3.2            
#>  [97] clusterSim_0.51-6           knitr_1.52                 
#>  [99] gridExtra_2.3.1             reformulas_0.4.4           
#> [101] IRanges_2.47.5              Seqinfo_1.3.2              
#> [103] edgeR_4.99.6                SummarizedExperiment_1.43.0
#> [105] stats4_4.6.1                xfun_0.61                  
#> [107] Biobase_2.73.2              statmod_1.5.2              
#> [109] diptest_0.77-2              randtests_1.0.2            
#> [111] brio_1.1.5                  arm_1.15-3                 
#> [113] matrixStats_1.5.0           DEoptimR_1.2-2             
#> [115] yaml_2.3.12                 boot_1.3-32                
#> [117] eva_0.2.7                   evaluate_1.0.5             
#> [119] codetools_0.2-20            MLmetrics_1.1.3            
#> [121] kSamples_1.2-12             kernlab_0.9-33             
#> [123] tibble_3.3.1                cli_3.6.6                  
#> [125] RcppParallel_6.2.1          Rdpack_2.6.6               
#> [127] jquerylib_0.1.4             Rcpp_1.1.2                 
#> [129] dbplyr_2.6.0                coda_0.19-4.1              
#> [131] parallel_4.6.1              ggplot2_4.0.3              
#> [133] blob_1.3.0                  mclust_6.1.3               
#> [135] lme4_2.0-6                  viridisLite_0.4.3          
#> [137] ggridges_0.5.7              scales_1.4.0               
#> [139] e1071_1.7-17                purrr_1.2.2                
#> [141] fpc_2.2-15                  rlang_1.3.0                
#> [143] cowplot_1.2.0