Cellucid#

See every cell. Keep the biology in view.

A GPU-accelerated single-cell viewer that runs in your browser. Move through hundreds of thousands of cells in 1D, 2D and 3D, colour them by any gene, compare populations, and leave with a figure, a saved session or a link. Nothing to install: your files are read in place, never uploaded.

Opens AnnData .h5ad AnnData Zarr MuData Loom 10x Cell Ranger MatrixMarket Seurat · SingleCellExperiment .rds What Cellucid reads

Cellucid in the light theme on the Studio backdrop: a 3D UMAP of the developing human immune system atlas (Suo), all 561,947 cells coloured by cell type, beside the Coloring and filtering panel, whose legend lists each cell type with its number of cells. Cellucid in the dark theme on the Nebula backdrop: a 3D UMAP of the developing human immune system atlas (Suo), all 561,947 cells coloured by cell type, beside the Coloring and filtering panel, whose legend lists each cell type with its number of cells.
The developing human immune system atlas (Suo), all 561,947 cells in a 3D UMAP, coloured by cell type. It is one of the built-in samples: open Cellucid and it is the first thing you see.

Three ways in#

Web app

Open the app, pick a sample, or drop in your own file or folder. Everything runs in the browser.

Web App Guide
Python

pip install cellucid. Prepare a Cellucid-ready AnnData, serve files from a workstation or cluster, and keep the viewer beside your notebook.

Python Package Guide
R

View a Seurat or SingleCellExperiment object in RStudio or Positron, or write the same Cellucid-ready AnnData from it.

R Package Guide

What you can do#

The Pancreas 2D UMAP in the light theme, coloured by expression of the gene Ttr on a log colour scale (Viridis): brightest in the endocrine cells on the right, a darker gradient along the trajectory, and pale grey for the few cells with none; the colour bar is open in the sidebar. The Pancreas 2D UMAP in the dark theme, coloured by expression of the gene Ttr on a log colour scale (Viridis): brightest in the endocrine cells on the right, a darker gradient along the trajectory, and pale grey for the few cells with none; the colour bar is open in the sidebar.

Colour by any gene or field

Search every gene in the file, or colour by any obs column, with legends you can filter from.

Fields, Coloring, and Legends (Obs/Var)
The expanded Marker genes window for cell_type in the light theme, over the blurred Pancreas embedding: a heatmap of z-scored expression with the eight cell types down the side and their top marker genes across, Export and Plot options beside it, and below, the summary statistics and a table of the top genes of the selected group. The expanded Marker genes window for cell_type in the dark theme, over the blurred Pancreas embedding: a heatmap of z-scored expression with the eight cell types down the side and their top marker genes across, Export and Plot options beside it, and below, the summary statistics and a table of the top genes of the selected group.

Analyse what you selected

Differential expression between the groups you highlighted, marker genes, dot plots and gene signatures, next to the embedding.

Analysis (Modes, Outputs, Interpretation)
The Pancreas 2D UMAP in the light theme with the sidebar closed, coloured by cell type, and the RNA velocity overlay on: streaks of particles flowing along the embedding, brightest where the velocity is largest. The Pancreas 2D UMAP in the dark theme with the sidebar closed, coloured by cell type, and the RNA velocity overlay on: streaks of particles flowing along the embedding, brightest where the velocity is largest.

See where cells are going

Animate RNA velocity or any other vector field as particles that flow over the embedding, in 2D or 3D.

Vector Field / Velocity Overlay (GPU Particle Overlay)
Two equal panels in the light theme with the sidebar closed, both showing the Pancreas 3D embedding from one linked camera: on the left coloured by cell type, on the right by the S-phase score on a Viridis scale, each under a title chip naming its field. Two equal panels in the dark theme with the sidebar closed, both showing the Pancreas 3D embedding from one linked camera: on the left coloured by cell type, on the right by the S-phase score on a Viridis scale, each under a title chip naming its field.

Compare views side by side

Keep a view, recolour the next, and link their cameras so one gesture moves both.

Multiview: Live view and kept snapshots
Filter

Hide categories, set value ranges and drop outliers, and see the count as you go.

Filtering (Visibility, Outliers, and Filter Stacks)
Highlight

Lasso, click or drag through the neighbour graph to build named groups of cells.

Highlighting and Selection (Groups, Pages, Tools)
Every step, kept and shared

Undo any step, branch off and pick up tomorrow; a session file carries the whole history, and a link opens the same dataset for anyone.

State and History
Export figures

SVG and PNG figures of exactly what is on screen, with their provenance.

Figure Export (Publication-Grade SVG/PNG)
Annotate together

Propose labels, vote and reach consensus through a GitHub repository.

Community Annotation (Voting + Consensus; GitHub Sync)
Private by design

Files are read where they are and never uploaded to Cellucid; see what is stored and sent.

Accessibility, Privacy, and Security

Start with the question in front of you#

You do not need to learn the whole application before doing useful work. Pick the route that matches today’s question.

Where are my populations?

Colour by a categorical obs field or a marker gene, then filter the noise away and highlight a population without losing the surrounding context.

Fields, Coloring, and Legends (Obs/Var)
Where are cells going?

Open the real Pancreas sample, compare its 1D, 2D, and 3D embeddings, and inspect the dimension-matched RNA-velocity overlay.

Standard Pancreas sample dataset
How do I share my own data?

Build a small public catalog with stable dataset identities, test it locally, and share an exact URL that opens the intended dataset.

Publish a Custom Dataset Repository
Can the viewer stay beside my analysis?

Embed Cellucid in Jupyter, inspect connection health, exchange selections and state with Python, and stop the local viewer cleanly.

Jupyter Integration (Notebook Embedding)

Bring data in the way that fits the work#

What you have

Best first path

Why

An H5AD of any size, a Zarr folder, or a portable Zarr ZIP

Browser file picker

One direct local selection or drop, no Python installed

A Seurat or SingleCellExperiment .rds, a Loom, 10x or MatrixMarket output, or a MuData

What Cellucid reads

Opened as it is, from disk or a link: no conversion first

An H5AD or Zarr store on another machine

Python server

The browser reads it in place, over an SSH tunnel if needed

An in-memory AnnData object

Jupyter integration

A tight analysis-to-visualization loop

A public collection of datasets

Custom repository guide

No running server; exact catalog and share links

A static host or CDN you already control

Publish a dataset catalog

?data= opens your catalog from one link; ?sampleCatalog= fills the app’s own Sample dataset dropdown from it

The complete data-loading map explains the memory, network, privacy, and reproducibility tradeoffs before you commit to a path.

Learn at your own depth#

60-second tour

Enter, move, colour, keep a view, highlight and export, once each.

Quick tour (60 seconds)
Which workflow?

A short decision tree from the data you have to the route that fits.

“Which workflow is for me?” decision tree
Tutorials

Notebooks from a first coloured embedding to velocity and session round trips.

Notebooks / Tutorials (Very Detailed, Step-by-Step)
UI glossary

Every term the app uses, defined once.

UI glossary (terminology)
API reference

The Python API, function by function, with exact contracts.

API Reference Coverage (and the canonical API reference)
Troubleshooting

From the message you saw, or the symptom, to the fix.

Troubleshooting (Web App): Start Here

Open source, citable, built in the open#

Cite Cellucid

If Cellucid helps your work, here is the reference to cite, and the study to cite for each built-in sample.

Citing Cellucid
Contribute

Report an issue, improve a guide or add a feature. The code is BSD-3-Clause licensed and developed in the open.

Contributing

Cellucid is one product in a few repositories, with clear handoffs:

  • cellucid is the web application.

  • cellucid-python writes Cellucid-ready AnnData and MuData, serves every format the viewer reads, and embeds the viewer in notebooks.

  • cellucid-r views Seurat and SingleCellExperiment objects from R and writes the same Cellucid-ready AnnData.

  • cellucid-datasets hosts the public sample catalog, including the standard Pancreas dataset.

  • cellucid-demo-custom-datasets is a tiny, inspectable model for your own public catalog.

  • cellucid-annotation provides the repository contract for community annotation.