* add eslint-prettier * add lint-staged * ignore .eslintcache * remove unused import * attempt test change * Revert "attempt test change" This reverts commit78d0e31d41. * attempt to add error * Revert "attempt to add error" This reverts commita5885c0942. * add error * create config * add comment * tweak glob * Revert "add error" This reverts commit3187522396. * add python error * Revert "add python error" This reverts commitd0b116ed15. * lint on push + PR * Revert "add comment" This reverts commitefa4eb6676. * add prettier rules to ESLint * remove lint-diff targets
an interactive explorer for single-cell transcriptomics data
cellxgene (pronounced "cell-by-gene") is an interactive data explorer for single-cell transcriptomics datasets, such as those coming from the Human Cell Atlas. Leveraging modern web development techniques to enable fast visualizations of at least 1 million cells, we hope to enable biologists and computational researchers to explore their data.
Whether you need to visualize one thousand cells or one million, cellxgene helps you gain insight into your single-cell data.
Getting started
The comprehensive guide to cellxgene
The cellxgene documentation is your one-stop-shop for information about cellxgene! You may be particularly interested in:
- Seeing what cellxgene can do
- Learning more about cellxgene installation and usage
- Preparing your own data for use in cellxgene
- Checking out our roadmap for future development
- Contributing to cellxgene
Quick start
To install cellxgene you need Python 3.6+. We recommend installing cellxgene into a conda or virtual environment.
Install the package.
pip install cellxgene
Launch cellxgene with an example anndata file
cellxgene launch https://cellxgene-example-data.czi.technology/pbmc3k.h5ad
To explore more datasets already formatted for cellxgene, check out the Demo data or see Preparing your data to learn more about formatting your own data for cellxgene.
Finding help
We'd love to hear from you!
For questions, suggestions, or accolades, join the #cellxgene-users channel on the CZI Science Slack and say "hi!".
For any errors, report bugs on Github.
Developing with cellxgene
Contributing
We warmly welcome contributions from the community! Please see our contributing guide and don't hesitate to open an issue or send a pull request to improve cellxgene.
This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to opensource@chanzuckerberg.com.
Reuse
This project was started with the sole goal of empowering the scientific community to explore and understand their data. As such, we encourage other scientific tool builders in academia or industry to adopt the patterns, tools, and code from this project, and reach out to us with ideas or questions. All code is freely available for reuse under the MIT license.
Security
If you believe you have found a security issue, we would appreciate notification. Please send email to security@chanzuckerberg.com.
About
Core team
The current core team:
- Colin Megill, frontend & product design
- Bruce Martin, software engineer
- Sidney Bell, computational biologist
- Lia Prins, designer
- Severiano Badajoz, software engineer
We would also like to gratefully acknowledge contributions from past core team members:
- Charlotte Weaver, software engineer
Inspiration
We've been heavily inspired by several other related single-cell visualization projects, including the UCSC Cell Browswer, Cytoscape, Xena, ASAP, Gene Pattern, and many others. We hope to explore collaborations where useful as this community works together on improving interactive visualization for single-cell data.
We were inspired by Mike Bostock and the crossfilter team for the design of our filtering implementation.
We have been working closely with the scanpy team to integrate with their awesome analysis tools. Special thanks to Alex Wolf, Fabian Theis, and the rest of the team for their help during development and for providing an example dataset.
We are eager to explore integrations with other computational backends such as Seurat or Bioconductor

