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.
pip install annzarro # or 'annzarro[remote]' for s3://, gs:// and https:// storesThis 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 (download the latest release):
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
.zarrstores
Server (one server, many users in the browser; install):
- 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
- Colours any plot by the focused cell's row of an
obspmatrix or the focused gene's row of avarpmatrix. - Plots any
obs,var,obsm,varmcolumn orlayersrow/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.
mkdir -p ~/annzarro-data
ln -s /path/to/your.zarr ~/annzarro-data/
annzarro start --data-dir ~/annzarro-data # opens http://127.0.0.1:8000Walkthrough with the demonstration data: quickstart.
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.
- Desktop app: one person, data on the same computer. Set up
- Personal server:
annzarro starton 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
annzarro.readthedocs.io: tutorials on cell and gene similarity, the user guide, data preparation, deployment, and the CLI, configuration and HTTP API reference.
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.
npm ci once (Node.js 22+), then python -m pytest runs the Python tests, every JS suite and
ESLint. See running the tests.
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.

