Skip to content

About

The complete Python toolkit for Cellucid. Serve, export, document, explore.

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Cellucid

PyPI version Python versions Documentation Status License: BSD-3-Clause

Cellucid

See every cell. Query any gene. Explore in 2D and 3D. Interactive, GPU-accelerated single-cell visualization in the browser.

Cellucid is a browser-first viewer for exploring large single-cell datasets in real time: fly through 2D/3D embeddings (UMAP/t-SNE/PCA), color by genes or metadata, filter and compare populations, and share reproducible views with collaborators.

Highlights

  • GPU-accelerated WebGL rendering with level-of-detail culling; a built-in synthetic benchmark measures what your own GPU sustains
  • AnnData-first workflow for the Scanpy ecosystem (.h5ad and Zarr supported)
  • Cellucid-ready AnnData (prepare()): one standard .h5ad, .zarr or .zarr.zip, laid out for fast browser reads, that you can host locally, on GitHub, on any web host, or behind a server
  • Genes + metadata overlays optimized for interactive querying
  • Connectivity + dynamics: KNN edges and animated vector fields (RNA velocity / drift)
  • Collaboration: community annotation voting with optional GitHub sync
  • Publication export: SVG (vector) and high-DPI PNG figures
  • Works everywhere: web app, local/remote server, and Jupyter notebooks

Install

Cellucid requires Python 3.11, 3.12, 3.13, or 3.14. Use the dedicated Installation guide to choose PyPI or GitHub based on current registry availability. To install the active source directly from the official GitHub repository:

pip install "cellucid @ git+https://github.com/theislab/cellucid-python"

From PyPI:

pip install cellucid

The PyPI package page is authoritative for registry availability. Until it lists the active version, pip install cellucid resolves only to the versions PyPI already holds, and those are earlier generations whose API differs from the one this README and the documentation describe.

Quickstart

Try the web app (no setup):

  1. Open cellucid.com
  2. Open one .h5ad, a .zarr folder, or one .zarr.zip archive

Or visualize an AnnData from Python/Jupyter:

from cellucid import show_anndata

show_anndata(
    adata,
    dataset_name="My dataset",
    dataset_id="my-dataset",
)

An adata straight out of Scanpy works as written. The viewer reads the data itself, as each view needs it: cellucid serve data.h5ad (or a Zarr store) hands it the file in place, and an in-memory object is written once to a temporary .h5ad.

To share or host a dataset, write a Cellucid-ready AnnData once. It is still a standard AnnData, with the expression matrix gene-major and the dataset's name, citation and launch defaults in uns['cellucid'], so the browser reads one gene with one round trip and the file names itself (on a 562k-cell dataset over a simulated 80 ms link: opened in 0.25 s, the first gene in 0.09 s; see the specification's measured choices):

from cellucid import prepare

prepare(
    "my_dataset.h5ad",
    format="h5ad",
    embeddings={"X_umap": adata.obsm["X_umap"]},
    dataset_id="my-dataset",
    dataset_name="My dataset",
    obs=adata.obs,
    var=adata.var,
    gene_expression=adata.X,
)

format is required: "zarr" (a folder of small files) for GitHub, which refuses files over 100 MB and serves many small files at once over HTTP/2; "h5ad" (or "zarr.zip", the Zarr store in one file) for everything else — single-file hosts such as Zenodo, Figshare, Hugging Face, S3 or a lab server, local files, cellucid serve and Jupyter. The documentation's "Which format?" guide has the measurements.

Then cellucid serve my_dataset.h5ad, show_anndata("my_dataset.h5ad"), or open the file in the web app.

Documentation and ecosystem

Citation

Placeholder citation. The Cellucid preprint is in preparation for bioRxiv and has no DOI yet; the reference below is a placeholder and will be replaced when the preprint is published.

If you use Cellucid, please cite:

Inecik, K. PLACEHOLDER: Cellucid preprint, title to be announced (forthcoming on bioRxiv). bioRxiv (in preparation).

BibTeX and other formats: Citing Cellucid.

Community

License

BSD-3-Clause

About

The complete Python toolkit for Cellucid. Serve, export, document, explore.

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages