Your RNA data.
A clearer picture.
A focused workspace for expression, cell states, and sample-level comparisons.
Expression structure
Public website. Private data.
Files are processed in your browser. Your expression data are not uploaded to our server. Projects autosave in this browser when storage is available. Export a portable backup for another device or browser.
Dataset & analysis notes
Expression patterns, pathway by pathway.
Actual GSVA or ssGSEA scores for each bulk or pseudobulk sample. Compare biological samples with a reviewed design.
Choose the expression matrix and pathway family
Load sample-level bulk expression, or create a per-population pseudobulk copy through Single-cell core. Individual cells and technical libraries are not independent biological replicates.
Counts use explicit low-count filtering → TMM log2-CPM. Linear CPM/TPM uses log2(1 + value). Already transformed input is unchanged. Review the declared scale at import. No DE-based or top-variable-gene selection.
Built-in Reactome annotations contain gene-set memberships, no public experimental expression data. Gene IDs match exactly; version suffixes/aliases are not converted. A repeated symbol is never merged automatically.
1. Review scoring
GSVA uses Gaussian kernel, tau=1, maxDiff=TRUE and absRanking=FALSE. Constant genes are removed after preprocessing. Effective pathway sizes are rechecked and excluded sets are reported. Changing cohort, expression universe or pathway family can change scores and normalized ssGSEA scale. Scores are enrichment summaries, not pathway activation or probabilities.
At least two biological observations per condition, a full-rank design and two residual degrees of freedom are required. Actual limma models continuous pathway scores with moderated t tests (no voom); BH applies separately within each contrast across all tested nonconstant pathways. Effects are differences in score units, not gene fold changes. Cell recovery, annotation and other confounding can affect pseudobulk results.
Preview limits: 50–50,000 genes, 2–500 samples (GSVA ≥10), 128 MB matrix, 5,000 candidate pathways / 500,000 memberships / 2.5M scores. Browser staging estimates also apply. These are policy ceilings, not measured capacities.
2. Calculate on your computer
Nothing prepared or transferred.
Your expression matrix is sent only to the paired local engine after approval. No website-server upload, public expression dataset, paid API or remote fallback. Download the private reproducible job ZIP before stopping the engine.
3. Explore sample scores
Selected pathway: individual samples & effective genes
Ambient correction & reference labels.
Actual SoupX and CellTypist through the optional free local companion. Review estimates and markers before drawing biological conclusions.
Choose the analysis
1. Load auxiliary counts
For annotation, select your own labeled reference. For SoupX, select the matching unfiltered droplet matrix, including noncalled droplets. This preserves the active query. No public study data or pretrained model is downloaded.
Source fields
CSV numeric columns are reviewed automatically; every value is validated on load. Use exact header names to override gene ID/symbol selection. No transpose in this auxiliary importer. H5AD requires an explicit raw-count layer path when X is normalized.
2. Review the model
Counts are normalized to 10,000 per full library and log1p before shared-feature selection. IDs match exactly; check species, gene IDs, coverage and label quality. The model is trained only from your uploaded reference.
Reference: 40–5,000 cells, 2–30 known labels with at least 20 cells each. At least 50 expressed shared IDs. Specimen holdout needs at least four reference groups; holdout results measure reference generalization, not query truth. Below-threshold cells remain Unassigned.
Automatic-estimation parameters
Changing these alters which marker genes estimate contamination. Defaults are retained unless you explicitly edit them. No forced acceptance or silent manual fallback.
Use a capture subset when the query contains multiple captures. Both matrices need identical gene IDs; queried counts must exactly match the raw droplets. The ambient pool excludes all supplied called barcodes, including QC-excluded cells and needs at least 20 droplets / 100 UMIs. Automatic fitting can fail when informative markers are absent. Rounded corrected counts are estimates; uncertainty is not propagated into DE.
Preview ceilings: 30–25,000 query cells; 128 MB / 10M combined sparse values; 2M query nonzeros for SoupX. Device-memory checks also apply. These are policy limits, not proven capacities.
Nothing prepared or transferred.
3. Inspect the estimates
The original auxiliary input remains in memory only until the worker/page restarts. Saved results include hashes, parameters and outputs. Keep the private reproducible local job ZIP to retain both original matrices and the exact wrappers.
Meet the data where they are.
Start from raw count matrices, normalized expression, or results you have already analyzed.
Higher settings permit larger import attempts on computers with ample free RAM. They do not add or reserve memory. Browser R can still run out of memory or stop the tab; save a project backup first. Object compatibility and structural limits still apply. Expression data stays on your device.
One study, several libraries.
Choose a parent folder, drop folders, select sample-prefixed files, or assign each three-file set below. Cells receive unique library prefixes and keep original barcodes.
A biological sample is a collected specimen. Technical libraries from one specimen share a sample ID. Four mice pooled into one library represent one pooled sample; technical files from that pool do not create biological replicates.
Use one species and consistent reference annotations. A union can introduce artificial differences when features were not measured in all libraries. Merging does not perform batch integration. Each library ID must identify a distinct cell capture. Re-sequencing lanes or copies of the same capture should be combined before UMI counting, not loaded as new cells.
Import a CSV / TSV table
Choose the assay and value scale explicitly. In-memory dgCMatrix layers are supported for RDS; external BPCells and split Seurat layers need a native workflow. qs requires a successfully installed browser R package.
No file selected.
Or paste a CSV / TSV table
Load counts without opening the entire Seurat object in this browser
- Download the local Seurat export script ↓
- Open the script in RStudio and click Source. Select your RDS file. It exports unchanged raw counts, metadata and matching UMAP coordinates beside the original file.
- Choose 10x sparse matrix here and select
matrix.mtx.gz,features.tsv.gzandbarcodes.tsv.gzfrom the export folder. - After loading, add
cell_metadata.csv. Select Supplied embedding to inspect exported UMAP coordinates.
This runs in your own R installation with SeuratObject. It does not upload the RDS, modify it, or infer sample groups. Split Seurat v5 count layers are joined locally. The exported matrix still receives a browser memory check.
Local source-file retention supports files up to 5 GB (RDS/qs up to 2 GB), subject to browser disk quota. Those are staging ceilings, not verified analysis capacities. A native engine is recommended when working memory is too large.
Review your columns
Know what you keep.
Inspect distributions, choose filters, and recalculate from the original matrix.
Observation quality
QC summary
From cell QC to sample-level models.
Review cells, discover graph communities, inspect markers, assign labels, and carry raw sample sums into the bulk workbench.
Core preview: adaptive QC, optional feature ranking, weighted Louvain, cell-level markers and manual labels. Cleanup & integration adds optional local Scrublet, Harmony, Leiden, t-SNE and root-defined diffusion pseudotime. SoupX correction and annotation trained from your own reference are available through Ambient & reference with local companion v0.4.
Load a single-cell expression matrix, or choose the synthetic single-cell example. A DE result table alone does not contain cell expression.
1 · Review per-stratum QC
Fixed cutoffs from Quality control remain active. Adaptive mode adds lower log₂ UMI/gene and upper mitochondrial outlier cutoffs within the selected strata.
Raw observations remain in the project. Restoring filters recalculates analysis; graph and marker results must be rerun. MAD assumes most cells in a stratum are usable and is skipped for small strata or zero-MAD metrics. These filters do not identify doublets.
Cells retained in each stratum
Table cutoffs are on the original count/percentage scale. Ribosomal = RPL/RPS symbol prefixes; hemoglobin = recognized HBA/HBB and related symbols. Missing symbol matches produce unavailable metrics. Complexity is log₁₀(detected genes)/log₁₀(UMIs), undefined at UMI ≤ 1.
2 · Select informative features
The PCA & UMAP screen controls feature count and mitochondrial exclusion. Poisson Pearson residual variance is an unclipped, raw-count ranking option. It does not transform the matrix or implement SCTransform/scran; expression plots and PCA retain the stated log transformation.
3 · Weighted graph clustering
Labels all retained cells, up to 25,000 in this preview. PCA is fitted on the existing seeded PCA subset, then projected to every retained cell. Neighbor search is approximate; the graph uses fuzzy-union weights. No batch correction is applied. Large-data speed has not been benchmarked. Louvain is distinct from Leiden.
Resolution diagnostics
4 · Test cell-population markers
Cell-level tests describe populations. Their P values cannot establish treatment or disease effects because cells within a specimen are dependent. Use pseudobulk below for condition comparisons.
Two-sided normal approximation with tie/continuity correction; ≥3 cells inside and outside. BH includes all testable gene × population comparisons. Up to 20 populations, 50,000 comparisons and 25,000 retained cells. Unknown transformed input gives no inferred log₂ fold change. On transformed input, percent positive means values above zero.
5 · Add reviewed population labels
Labels are user annotations, without an automated confidence probability. Unmapped retained cells become Unassigned. The new atlas_annotation column is available for plots, composition and pseudobulk; original labels are kept.
6 · Prepare condition DE with biological samples
Sum raw counts by independent specimen within the selected population. Review retained cell counts and any sample covariates, then create a separate bulk dataset for limma or the optional native models.
Requires raw single-cell counts and ≥2 independent specimens per condition after cell filtering; ≥3 are recommended. Carried covariates must be constant within a specimen. The original scRNA project must be successfully saved locally before the separate bulk copy is created. It remains in Import & projects. Normalized cell values are never substituted for raw pseudobulk counts.
See the relationships.
Compute PCA and UMAP, inspect supplied coordinates, and color by metadata or expression.
Expression embedding
ZOOM · PAN · INSPECTVariance explained
Build your data figures.
Enter wet-lab measurements, paste from Excel, upload a table, or bring specimen summaries and result plots from RNA Atlas.
Enter or upload observations
Data stays on this device. Up to 20,000 observations, 24 displayed groups, and 5 MB text. This is a research preview, not a complete GraphPad Prism replacement.
Review fields and edit entries
Blank / NA Y values are skipped and counted. They are never replaced by zero; missing matched measurements block paired/repeated tests. Contingency counts must be integer; omitted category combinations mean zero. For qPCR, enter the actual analysis scale (for example ΔCt); the site does not infer reference genes or convert Ct values automatically.
Bring RNA values into the studio
Gene plots transfer sample observations for bulk data and mean transformed expression per biological specimen for single-cell data. No individual-cell condition test is created. Differential plots retain supplied model effects and FDR values.
DE plots show at most 20,000 seeded eligible gene rows; the RNA model tables retain their full results. MA requires a finite supplied nonnegative mean; missing means are omitted, never invented. Gene-level DE rows cannot be retested as independent biological measurements.
Statistics and experimental units
At least three measurements per group for inferential previews. Paired/Friedman tests require complete matched subjects. Repeated XY requires complete subject × time observations and ≥3 subjects/group; no missing-value mixed model or sphericity correction is implemented. Two-way tables are classical sequential/type-I ANOVA. Rank tests use recorded asymptotic/tie handling. Shapiro–Wilk and Fligner diagnostics require confirmed units; they do not select the test or prove assumptions.
Calculated results
n counts the analyzed rows after optional subject aggregation. ci95 is the half-width of a Student-t mean interval and is unavailable until biological units are confirmed.
Assumption diagnostics and methods
Figure settings
Graph choice must match the data table type. Column/paired error bars use the selected summary. XY line bars support SD/SEM/none; use specimen trajectories and a reviewed repeated design for longitudinal inference. Survival curves are descriptive product-limit estimates with censor ticks; Greenwood intervals are retained in the record, while log-rank/Cox inference is unavailable. No automatic significance stars or causal conclusions are added.
Figure layout board
Combine up to eight existing RNA or Studio SVG figures into a labeled panel layout. Panel snapshots are saved with the local project.
SVG preserves vector shapes and editable text. PNG dimensions and pHYs metadata use the chosen width/DPI, capped at 24 megapixels. Browser rendering, rasterization and download dialogs remain unverified. PDF, freehand layout, mixed models, Dunnett, D’Agostino–Pearson and nonlinear dose-response inference are not implemented in this preview.
Test relative cell fractions.
Fit specimen-level composition models with real limma, using biological replication and reviewed covariates.
Build the specimen design
Specimens are the units of replication. Cells and technical libraries do not increase biological n. A pool of four mice is one pooled observation. Results describe relative captured-cell fractions; recovery and annotation can change proportions.
At least 2 biological replicates per condition (≥3 recommended), full-rank design and ≥2 residual degrees of freedom. Up to 500 specimen observations and 100 population categories. Covariates must be constant within a specimen. Unknown labels remain in denominators but are not tested. Constant populations are not tested. No cell-level condition P values. This is a direct arcsine-square-root proportion model in limma, not speckle/propeller, Milo or scCODA.
Composition results
BH-adjusted P values cover all tested populations. Percentage-point differences and reference/target means are unadjusted descriptive summaries. The transformed coefficient is the covariate-adjusted contrast on asin(sqrt(fraction)), not log fold change. Populations share denominators; fractions do not measure absolute expansion or depletion.
Methods and limits
Sample fractions are transformed by asin(sqrt(p)), then modeled using lmFit, contrasts.fit and robust eBayes with trend=FALSE. No voom or cell weighting is used. Biological validity depends on specimens, recovery, annotation and design. This does not establish causality or resolve compositional dependence. See the speckle vignette for the transformed-proportion modeling framework; this browser workflow calls limma directly.
Review cleanup and integration.
Actual Scrublet, Harmony, Leiden, t-SNE and diffusion-pseudotime packages on your own computer. Original expression counts stay intact.
These methods need the updated free local companion v0.4. Download it from here, start it, then connect in Jobs & compute. No RStudio, paid API or cloud analysis account is required. Docker/launcher and browser local-network behavior still need verification on your computer.
Choose a supported method
Scrublet · flag predicted doublets
Raw integer UMI counts only; ≥30 retained cells per capture. Use a broad cell set before aggressive filtering. Each capture is modeled independently with simulated doublets and exact neighbors. Review observed/simulated score distributions and cutoff. Homotypic doublets may be missed. If too few features remain for PCA, reduce PCs or the variability percentile. Flags are model predictions; no cells are automatically deleted. To make a reviewed not-flagged copy, use Programs & subsets and atlas_scrublet_class.
Harmony · correct PCA coordinates
Requires ≥2 batch levels and a connected batch × condition design; complete confounding is blocked. Starts from all retained cells projected into the current PCA model. Only coordinates are corrected; expression/raw counts are unchanged. Batch and condition neighbor entropies are descriptive diagnostics, not LISI/kBET or proof that correction is appropriate. Use raw pseudobulk and batch covariates for condition DE.
Leiden · actual graph communities
Actual leidenalg RBConfiguration partitioning to convergence, over a weighted symmetric union exact kNN graph with Gaussian local-distance weights. This graph differs from the browser Louvain fuzzy graph. All retained cells are labeled in atlas_leiden_cluster. No cell identities or condition significance are inferred.
t-SNE · visualization
scikit-learn Barnes–Hut t-SNE, PCA initialization and automatic learning rate. The saved embedding becomes available in PCA & UMAP and program feature views. Relative cluster distances/sizes do not establish biological relationships or trajectories.
Diffusion pseudotime · explicit root
Actual Scanpy diffusion maps / DPT with Gaussian neighbor connectivities and an explicitly chosen root. Cells unreachable from the root have missing pseudotime. This ordering depends on preprocessing and the root; it does not prove a lineage, actual time, velocity or causal direction. No spliced/unspliced inference or branching claim is made.
Nothing prepared or transferred.
30–25,000 retained cells; sparse count transfer ≤128 MB for Scrublet, coordinate metadata ≤16 MB for other methods. These are policy ceilings, not benchmarked capacities. No silent cell subsampling. The local engine reports package versions and enables only methods that pass real startup calculations. Progress, cancel, logs, reproducible job ZIPs and deletion are in Jobs & compute.
Inspect saved native results
Ambient correction & reference labels
Use SoupX with a matching unfiltered droplet matrix, or train CellTypist on your own labeled reference counts. Both use local companion v0.4 and require reviewed input transfer. DecontX is not implemented.
Explore populations and programs.
Create a separate population workspace, or score your own gene lists across every retained cell.
Population subset for fresh clustering
Keep the original project and create a separate sparse dataset from selected QC-retained cells. Features and PCA are fitted again within the subset. Then run weighted Louvain from Single-cell core.
At least 10 retained cells. The original dataset must be saved successfully on this device first. All gene rows and input values are preserved in the copy; no full matrix is densified. Parent graph/manual labels are retained in new parent_ metadata fields, while computed graphs/embeddings/results are reset. Fixed QC cutoffs are retained; adaptive MAD is reset so it is not silently refitted on a selected population. Recheck QC before clustering. Unknown logged input is not renormalized. Subclustering is exploratory.
Score your gene programs
Enter one positive-gene signature per line, or upload your own small GMT. Rank-based scores use the positive-signature UCell formula with average tied ranks and capped ranks, calculated locally. No biological signature library or public experimental dataset is downloaded.
Raw or nonnegative linear normalized scRNA input only. 1–20 programs, up to 500 positive genes each; at least 2 unique matched genes per program. Duplicate symbols require stable IDs. Missing genes are skipped; no case conversion, ortholog inference or Ensembl-version stripping. Signed signatures, smoothing and unknown logged/gene-scaled data are unsupported. Maximum 25,000 retained cells; an extra memory check applies. Scores are relative enrichment measures, not probabilities, pathway activity or evidence of a condition effect.
Inspect the completed scores
Cell distribution
Program on the embedding
Specimen summaries
Each table row is one specimen × display group; the same specimen may occur in several populations. Cell counts are not biological replicate counts. Filter to a population and use reviewed specimen-level models for condition inference. Missing specimen IDs or mixed conditions suppress the summaries. No significance test is calculated here.
Method and provenance
Scores use all matrix genes as their rank universe, including implicit zeros. Restricting cells preserves each cell's ranks when the gene universe is unchanged; changing the measured gene universe changes the scores. Formula normalization follows UCell ≥2.7.6, implemented in JavaScript; the R UCell package is not executed. Upstream method. Graph/marker/score records survive local project backups and are invalidated when QC/features or input are replaced.
Follow the expression.
Examine a single gene, compare panels, and inspect cell-type composition.
Gene expression
Gene panel
Bubble area: % values greater than zero; color: mean transformed expression. Heatmap: row z-scores of means, without inferred gene clustering.
Descriptive marker ranking
Shows the top 1,000 gene–category associations by inside-versus-outside mean difference. Unassigned/nonembedded cells are excluded. No cell-level P values or condition-level significance are inferred.
Composition by sample
Descriptive cell fractions; sequencing recovery and sampling can influence proportions. No abundance test is performed.
Make the design explicit.
Model biological samples with limma-voom and keep diagnostics, contrasts, exact code and methods.
1 · Build the sample model
Ctrl / Command selects multiple fields. Assign each field one role. Continuous covariates are centered and standardized. Technical libraries must be collapsed before bulk modeling.
The table previews 30 rows. All retained samples enter the rank check. Full rank does not establish independence or remove unmeasured confounding.
Expert: several numeric contrasts
Up to eight named contrasts. The generated vector compares target versus reference at the chosen stratum. Enter a coefficient vector for interaction or difference-of-differences tests. BH is separate per contrast.
2 · Filter and fit limma-voom
Count filtering is an explicit threshold, not edgeR filterByExpr. This browser engine does not provide TMM, VST/rlog, DESeq2 dispersion models or shrinkage. Select the optional native engine below for those methods. Input counts remain unchanged.
LRT tests the full versus reduced model. Its omnibus P/BH values accompany every displayed contrast; they do not test each individual contrast. Retain a nested subset such as Intercept + batch.
Native edgeR/limma use TMM; the browser scaling selector is ignored. DESeq2 uses the selected size-factor method. The count filter applies to DESeq2. Quality weights apply to limma; robust applies to edgeR/limma. Native diagnostic labels and baseMean units follow the selected method. Full Phase 2 remains incomplete.
Prepare the current design and parameters before transfer.
3 · Review completed contrasts
Model diagnostics
Intersection labels use contrast numbers in original order. They compare contrasts within one limma fit, not different model packages.
Recorded methods
Verified browser capabilities
Unavailable methods never silently substitute another test. An optional native bulk companion is available under Jobs & compute; cloud/HPC is not connected. Airway benchmark parity and gigabyte-scale performance remain unverified.
Put the contrast in context.
Explore imported model results or calculate an explicitly exploratory sample-level contrast.
Calculate an exploratory contrast
At least 3 biological samples per condition. Single-cell input is aggregated as raw count sums per biological sample within the selected cell population. Welch tests on log₂ normalized values with BH FDR are exploratory; batch, pairing, covariates, and RNA-seq dispersion are not modeled. Use imported DESeq2/edgeR/limma results for your validated analysis.
Sample expression correlation
Bulk samples only, ≤60 samples. Correlations use all nonconstant transformed genes across matched genes. A constant vector is reported as missing, not a perfect correlation.
Ask what is overrepresented.
Use built-in human or mouse Reactome pathways, or your own gene sets, with an explicit tested-gene background.
Enriched gene sets
Upper-tail hypergeometric test; BH FDR across all tested sets with 3–500 overlapping background genes. Background = imported/contrasted genes with finite effect and FDR. This is ORA, not ranked GSEA, pathway activation, or causal evidence.
Use the whole ranked result.
Run the RNA Atlas gene-set permutation implementation locally. This is separate from fgsea multilevel, which is unavailable in this browser runtime.
Optional native fgsea multilevel
Uses the full rank list, identifier, overlap sizes, exponent and seed selected above, with your local GMT. It calls native fgsea directly; its precision/error reporting differs from browser permutations.
Nothing prepared or transferred.
Pair the updated v0.3 engine in Jobs & compute first. Serial execution, fixed seed, exact versions, leading edges and log₂ P error are recorded. The browser permutation count above does not control fgsea. No expression matrix is needed or sent for this step.
Use all tested genes without prior FDR filtering. Nulls sample gene-set membership; add-one P values and BH are reported. Low permutation counts limit resolution. Enrichment does not establish pathway activity or causality.
Table preview: 200 sets. Exports include every tested set. Running-score ticks mark gene-set members.
Explore transcription-factor activity.
Score a signed regulator–target network against bulk, pseudobulk or single-cell expression. Inspect coverage and expression patterns with clear limits.
1. Bring your signed network
No network or public study data is downloaded automatically. Upload a CSV/TSV or paste three columns: source,target,weight. Positive weights mean activation, negative weights mean repression. Use your organism and exact gene identifiers.
No signed network loaded.
Load a full expression matrix first. DE-result tables alone cannot provide sample/cell expression scores.
2. Review identifiers and coverage
Raw counts → library-normalize to 10,000 per retained column → ln(1 + value), without TMM. Linear normalized expression → ln(1 + value). Logged input stays unchanged. No gene-wise centering, batch correction or DE-based filtering. All-zero genes across retained observations are excluded from the background. Review the declared import scale.
Original JavaScript ULM-formula implementation; runs in this browser’s analysis worker, without a native companion or paid service. At most 10,000 observations, 1M scores and 50M matched-target × observation products per run; no silent subsampling. Larger single-cell matrices can use reviewed subsets or pseudobulk. These scores are descriptive.
3. Inspect scores and coverage
Selected regulator · observation scores
Selected regulator · target membership
4. Export and reproduce
For R reproduction, download the complete record JSON, transformed expression CSV and R script into one folder. Dense expression CSV is limited to 8M entries and the selected planning budget. Portable project backups retain the original sparse data, network and scores. Undefined values export as empty CSV cells / JSON null.
Recorded method and interpretation limits
ULM formula documentation ↗5. Compare biological groups with a reviewed model
Fit the continuous TF scores with actual pinned limma in your browser. Adjust for measured batch/covariates or a fixed paired-subject term. This panel is separate from the unadjusted descriptive plots above.
Excluded regulators
Requires at least two biological samples per condition, full-rank design, ≥2 residual degrees of freedom, and ≥2 complete varying regulators. No missing scores are imputed. Effects are score differences, not fold changes. No random-effects or general repeated-measures model is fitted.
Download the TF scores CSV above with the contrast R script to reproduce. Complete model/design, tested family, exclusions and hashes also survive portable project backups.
Recorded comparison method
Find coexpressed gene modules.
Build a signed WGCNA network from raw bulk RNA counts. Inspect power diagnostics, eigengenes, membership and exploratory trait associations.
Requires the optional native engine from Jobs & compute. This preview needs 20–500 independent biological sample observations. Individual cells, technical captures and the mice in a pooled specimen do not count as independent samples. The current scRNA matrix cannot be used directly.
1 · Set the network parameters
Numeric values are used as supplied. Binary encoding is shown in the transfer review. Other categorical fields need explicit numeric coding in metadata.
TMM → log₂ CPM (prior count 2) → top variance-ranked genes. Signed bicor, maxPOutliers=.05, signed TOM, deepSplit=2, one R thread. The power scan is shown with the completed result; review it and rerun if needed. Power 6 is a manual starting value, not a validated choice for your data.
2 · Review the study & local transfer
Nothing prepared or transferred.
3 · Inspect the discovery network
Precomputed simulated native R result. Loaded for demonstration; no new R job ran on your computer. Your own data requires the optional local engine.
Trait heatmap shows Pearson r for up to 80 modules. P and BH values for the full non-grey module × trait family are in the exported table. These are discovery associations without batch/subject adjustment or independent validation.
Module eigengenes & member genes
Table shows up to 200 genes assigned to the selected module, ordered by |kME|. kME is bicor with the module eigengene. Eigengene signs are arbitrary; membership strength does not demonstrate causal or regulatory importance. Grey genes are unassigned.
Take the analysis with you.
Export the values, preserve settings, and continue with a full local RNA workflow.
Data & results
Continue in R or Python
For full count-model inference, graph clustering, object conversion, or larger studies, use a local workflow and bring the results back.
Last pseudobulk contrast
Pseudobulk exports become available after a successful single-cell contrast. Use these raw sums with DESeq2/edgeR after reviewing your design.
What runs here
Matrix validation, fixed and per-stratum MAD QC, feature selection, PCA, UMAP, k-means, weighted Louvain, cell-population rank-sum tests, reviewed annotations, raw pseudobulk, bulk limma models and local pathway analyses.
The browser runs the documented exploratory RNA analyses, specimen-level limma composition models and Plot Studio statistics. The optional local companion runs the listed native bulk models, Scrublet, Harmony, Leiden, t-SNE and Scanpy diffusion pseudotime. SoupX and own-reference CellTypist are available in Ambient & reference. RNA velocity and CellChat/NicheNet remain unavailable. Pseudotime is relative to a chosen root and does not prove a lineage or causal direction. Exported external workflows are scripts to run, not computed website results.
Method references: Seurat guide · DESeq2 · UMAP-JS · UMAP license
A workspace you can return to.
Save several datasets in each project, reopen a checkpoint, or carry a portable backup to another browser.
Local projects
Portable backup
The binary project format keeps sparse arrays, metadata, results, settings and recorded provenance together. It avoids converting the matrix to dense CSV or giant JSON arrays.
Local save is specific to this browser and domain. It is not cloud sync. Clearing site data removes local projects and retained source files.
Browser storage
Source files retained on this device
Know what ran. Keep the record.
Each analysis job records its method, parameters, input hash, package versions, random seed and compute location.
Browser
JavaScript workers, HDF5 WebAssembly, and optional pinned R/Python runtimes. Expression data stays on this device.
Your computer
Run native bulk methods and single-cell Scrublet, Harmony, Leiden, t-SNE or diffusion pseudotime in a private local companion. Pair this page, then review and explicitly approve each local transfer.
Download local engine & setup guide ↓Institutional compute
No cloud or HPC endpoint is configured. This release sends no expression data to an external compute service.
Private native R / Python engine
1. Download and extract the engine above. Start Docker Desktop, then use the included Windows or macOS/Linux launcher (or follow its README). No RStudio is required. 2. Paste the pairing token printed in your terminal. 3. Connect, then open Bulk model workbench or Cleanup & integration to review and send a job.
Connecting sends only a capability request to http://127.0.0.1:8765. An approved run sends the reviewed counts or PCA coordinates, identifiers and method details to your own computer after you tick the transfer checkbox. The token stays in page memory until disconnect/refresh. The browser may ask for local-network permission. No remote fallback or cloud engine is configured.
Not connected. No localhost request has been made.
Installed versions & startup checks
No native runtime checked.
The job ZIP includes private input data, results, exact wrapper, warnings and recorded versions. Download it before stopping the engine. Cancel stops the local method process; Delete removes its job files. The supplied Docker launch erases temporary jobs when the container stops. Native R and Python wrappers passed synthetic numerical tests. Docker/launcher startup and browser connectivity still need validation on your computer. Preview transfer limit: 128 MB reviewed binary expression, with method-specific structural limits; large native Seurat files are not implemented in this companion yet. Sample-pathway methods require v0.5; ambient/reference methods require the v0.4 companion; the earlier single-cell methods require v0.3 or newer; each method must pass its startup self-test.
Browser runtime capability checks
Run a small arithmetic self-test before using a runtime. Optional package probes attempt installation and report the actual package version or failure. Package availability does not mean a full analysis wrapper is implemented.
Pinned runtimes: webR 0.6.0, Pyodide 314.0.7, h5wasm 0.10.3. Optional package downloads contact repo.r-wasm.org, bioc.r-universe.dev or jsDelivr. No expression matrix is sent. Installation can fail; a method remains unavailable until its wrapper is implemented and validated.
No runtime check requested.
Recover an interrupted step
Cancelling terminates the analysis worker and restores its latest successful checkpoint. After a refresh, an interrupted job is marked for review. Rerun a supported analysis from its saved input; file imports require selecting the source files again.
This is a restart from a checkpoint, not instruction-level continuation. No runtime or unpublished statistical model is substituted automatically.