Skip to content
settylabPublic

About

Zarr-based AnnData Visualization Tool

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

1,578 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AnnZarro

PyPI Python 3.9+ License: MIT Docs Tests DOI bioRxiv

A read-only browser viewer for AnnData in zarr (or h5ad) built around the matrices other viewers leave out: cell x cell kernels and distances (obsp) and gene x gene similarities (varp), explored one focused cell or gene at a time and linked to the cell x gene layers.

Documentation: annzarro.readthedocs.io (tutorials, user guide, data preparation, deployment and reference). Developed by the Setty Lab.

Clicking a cell moves the diffusion-walk colouring; clicking a gene recolours its correlations and per-cell fold change

Install

pip install annzarro              # or 'annzarro[remote]' for s3://, gs:// and https:// stores

This installs AnnZarro on your own computer or on a server. Or download the desktop app, or set up a shared server, below.

From source: git clone https://github.com/settylab/annzarro.git && pip install -e ./annzarro. Details: installation, desktop app.

Desktop app or server

Desktop app (download the latest release):

macOS Windows Linux

macOS: Apple silicon, Intel, or brew install --cask settylab/annzarro/annzarro. Linux: AppImage, .deb. All files and checksums.

  • Standalone on your laptop, no Python needed
  • Works offline
  • Your data stay on your computer
  • No login, no set-up
  • Opens local .zarr stores

Server (one server, many users in the browser; install):

Server

  • Multi-user access in the browser, with login
  • Panel sets shared and exchanged between users
  • Large datasets stay on the server; only the slices a view needs travel to the browser
  • Per-user dataset access control and an admin page
  • Less memory on each user's computer

What it does

  • Colours any plot by the focused cell's row of an obsp matrix or the focused gene's row of a varp matrix.
  • Plots any obs, var, obsm, varm column or layers row/column against any other, spatial coordinates included.
  • Links cells and genes: one cell's values across genes, one gene's values across cells, in every layer.
  • Filters cell and gene tables with AND/OR conditions that mask the plots; saves layouts as panel sets and share links.
  • Reads only the chunks behind what is on screen, so cost follows the view, not the dataset size; locally or from S3, GCS and HTTP.
  • Never writes to your data and never runs code: a lab server can show datasets without giving write or compute access.

Cell x cell, gene x gene, cells x genes and table filters

Quickstart

mkdir -p ~/annzarro-data
ln -s /path/to/your.zarr ~/annzarro-data/
annzarro start --data-dir ~/annzarro-data      # opens http://127.0.0.1:8000

Walkthrough with the demonstration data: quickstart.

Prepare your data

Any AnnData written with adata.write_zarr(...) opens as is. Which slot feeds which view, how to precompute obsp/varp matrices and how to chunk for speed: preparing data.

Deployment

  • Desktop app: one person, data on the same computer. Set up
  • Personal server: annzarro start on a laptop or an HPC node, reached over an SSH tunnel. Set up
  • Lab server: annzarro serve (gunicorn) behind HTTPS, on a host or in a container, read-only, with login and shared panel sets. Set up
  • Public site: a lab server open to strangers, with an imprint, a privacy notice and dataset attribution. What it owes its visitors

Documentation

annzarro.readthedocs.io: tutorials on cell and gene similarity, the user guide, data preparation, deployment, and the CLI, configuration and HTTP API reference.

Citing AnnZarro

If you use AnnZarro, please cite the preprint:

Otto, D. J., Baasri, S. and Setty, M. AnnZarro: scalable, interactive exploration of cell-by-cell and gene-by-gene relationships in single-cell data. bioRxiv (2026). doi:10.64898/2026.10.10.758158

@article{otto2026annzarro,
  author  = {Otto, Dominik J. and Baasri, Siddharth and Setty, Manu},
  title   = {{AnnZarro}: scalable, interactive exploration of cell-by-cell and gene-by-gene relationships in single-cell data},
  journal = {bioRxiv},
  year    = {2026},
  doi     = {10.64898/2026.10.10.758158},
  url     = {https://doi.org/10.64898/2026.10.10.758158}
}

To cite the software itself, for example the exact release you ran, use its Zenodo DOI. Each release is archived on Zenodo with its own version DOI (v0.7.5: 10.5281/zenodo.23587867); the concept DOI below always resolves to the latest release.

@software{otto_annzarro_software,
  author    = {Otto, Dominik J. and Baasri, Siddharth and Setty, Manu},
  title     = {AnnZarro},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.23222216},
  url       = {https://doi.org/10.5281/zenodo.23222216}
}

Citation metadata are also in CITATION.cff (GitHub's "Cite this repository"), which names the preprint as the preferred citation.

Development

npm ci once (Node.js 22+), then python -m pytest runs the Python tests, every JS suite and ESLint. See running the tests.

Licence

MIT (LICENSE). The web interface bundles unmodified third-party libraries under their own permissive licences, listed in annzarro/THIRD_PARTY_LICENSES/.

Trademarks. The Fred Hutch name and logo are trademarks of Fred Hutchinson Cancer Center and are not licensed under the MIT license that covers the rest of AnnZarro; they appear in AnnZarro with permission. Do not reuse them, or change them, without Fred Hutch's permission. The MIT license does not grant any rights to the names, logos, or trademarks of Fred Hutch. Forks and derivative works must remove Fred Hutch's name and logo and must not suggest endorsement by Fred Hutch. See TRADEMARKS.md.

About

Zarr-based AnnData Visualization Tool

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages