|
1 | 1 | <h1 align="left">CyteType</h1> |
2 | | -<h4 align="left">Multi-agent AI driven cell annotation in single-cell transcriptomics</h4> |
| 2 | +<h3 align="left">Automated, evidence-based cell type annotation for single-cell transcriptomics</h3> |
3 | 3 |
|
4 | 4 | <p align="left"> |
5 | 5 | <a href="https://github.com/NygenAnalytics/cytetype/actions/workflows/publish.yml"> |
|
15 | 15 | <a href="https://pypi.org/project/cytetype/"> |
16 | 16 | <img src="https://img.shields.io/pypi/dm/cytetype" alt="PyPI downloads"> |
17 | 17 | </a> |
18 | | - <a href="https://discord.gg/V6QFM4AN"> |
19 | | - <img src="https://img.shields.io/discord/1339594966300622908" alt="PyPI version"> |
20 | | - </a> |
21 | 18 | </p> |
22 | 19 |
|
23 | 20 | --- |
24 | | -<a href="https://colab.research.google.com/drive/1aRLsI3mx8JR8u5BKHs48YUbLsqRsh2N7?usp=sharing" target="_blank">Example Notebook</a> | |
25 | | -<a href="https://prod.cytetype.nygen.io/report/6420a807-8bf3-4c33-8731-7617edfc2ad0?v=251124" target="_blank">Example output</a> | |
26 | | -<a href="docs/examples.md">Atlas scale results</a> |
27 | 21 |
|
28 | | -Switch to R/Seurat package: <a href="https://github.com/NygenAnalytics/CyteTypeR">CyteTypeR</a> |
| 22 | +> 🎉 **NEW:** [Preprint published November 7, 2025](https://www.biorxiv.org/content/10.1101/2025.11.06.686964v1) on bioRxiv |
| 23 | +> 📅 **FREE Webinar:** [Register now](https://attendee.gotowebinar.com/register/1731194703386732893) — Learn CyteType from the developers |
| 24 | +
|
| 25 | +--- |
| 26 | + |
| 27 | +## Why CyteType? |
| 28 | + |
| 29 | +Manual cell type annotation takes weeks and varies between experts. CyteType delivers consistent, expert-level annotations in minutes using a multi-agent AI system where specialized agents collaborate on marker analysis, literature evidence, and Cell Ontology mapping. |
29 | 30 |
|
30 | | -Read Preprint: <a href="https://www.biorxiv.org/content/10.1101/2025.11.06.686964v1">BioRxiv</a> |
| 31 | +<img width="800" alt="CyteType Overview" src="https://github.com/user-attachments/assets/c4cc4f67-9c63-4590-9717-c2391b3e5faf" /> |
31 | 32 |
|
32 | | -## Installation |
33 | | -`pip install cytetype` |
| 33 | +- **Save weeks of manual curation** — Annotate entire datasets at expert level in minutes, not days |
| 34 | +- **Drop-in integration** — 3 lines of code, works with existing Scanpy/Seurat workflows |
| 35 | +- **No setup friction** — No API keys required; built-in LLM with optional custom configuration |
| 36 | +- **Standards-compliant output** — Automatic Cell Ontology term mapping (CL IDs) |
| 37 | +- **Comprehensive annotations** — Cell types, subtypes, activation states, confidence scores, and lineage |
| 38 | +- **Transparent and auditable** — Interactive HTML reports show evidence, reasoning, and confidence for every annotation |
| 39 | + |
| 40 | +**🚀 [Try it now in Colab](https://colab.research.google.com/drive/1aRLsI3mx8JR8u5BKHs48YUbLsqRsh2N7?usp=sharing)** • **[See example report](https://prod.cytetype.nygen.io/report/6420a807-8bf3-4c33-8731-7617edfc2ad0?v=251124)** |
| 41 | + |
| 42 | +--- |
34 | 43 |
|
35 | 44 | ## Quick Start |
36 | 45 |
|
| 46 | +```bash |
| 47 | +pip install cytetype |
| 48 | +``` |
| 49 | + |
37 | 50 | ```python |
38 | | -import anndata |
39 | 51 | import scanpy as sc |
40 | 52 | from cytetype import CyteType |
41 | 53 |
|
42 | | -# ------ Example Scanpy Pipeline ------ |
43 | | -# Skip this step if you already have clusters and marker genes in an AnnData object. |
44 | | -adata = anndata.read_h5ad("path/to/your/data.h5ad") |
45 | | -sc.pp.normalize_total(adata, target_sum=1e4) |
46 | | -sc.pp.log1p(adata) |
47 | | -sc.pp.highly_variable_genes(adata, n_top_genes=1000) |
48 | | -sc.pp.pca(adata) |
49 | | -sc.pp.neighbors(adata) |
50 | | - |
51 | | -group_key = 'clusters' # Wherever you want to store or already have clusters in adata.obs |
52 | | - |
53 | | -sc.tl.leiden(adata, key_added=group_key) |
54 | | -sc.tl.umap(adata) |
55 | | -sc.tl.rank_genes_groups(adata, groupby=group_key, method="t-test") |
56 | | -# ------ Example Scanpy Pipeline ------ |
57 | | - |
58 | | -# ------ CyteType ------ |
59 | | -annotator = CyteType(adata, group_key=group_key) |
60 | | -adata = annotator.run( |
61 | | - study_context="Brief study description (e.g., Human brain tissue ...)", |
62 | | -) |
63 | | - |
64 | | -# Visualize results |
65 | | -sc.pl.embedding(adata, basis='umap', color=f'cytetype_annotation_{group_key}') |
66 | | -sc.pl.embedding(adata, basis='umap', color=f'cytetype_cellOntologyTerm_{group_key}') |
67 | | -sc.pl.embedding(adata, basis='umap', color=f'cytetype_cellOntologyTermID_{group_key}') |
68 | | -sc.pl.embedding(adata, basis='umap', color=f'cytetype_cellState_{group_key}') |
| 54 | +# Assumes preprocessed AnnData with clusters and marker genes |
| 55 | +annotator = CyteType(adata, group_key='clusters') |
| 56 | +adata = annotator.run(study_context="Human PBMC from healthy donor") |
| 57 | +sc.pl.umap(adata, color='cytetype_annotation_clusters') |
69 | 58 | ``` |
70 | 59 |
|
71 | | -## Documentation |
72 | | -- Configuration (LLMs, auth, advanced): <a href="docs/configuration.md">docs/configuration.md</a> |
73 | | -- Results: <a href="docs/results.md">docs/results.md</a> |
74 | | -- Troubleshooting: <a href="docs/troubleshooting.md">docs/troubleshooting.md</a> |
75 | | -- Development: <a href="docs/development.md">docs/development.md</a> |
76 | | -- Server Overview (high‑level): <a href="docs/server-overview.md">docs/server-overview.md</a> |
77 | | -- Ollama Integration: <a href="docs/ollama.md">docs/ollama.md</a> |
| 60 | +> **Note:** No API keys required for default configuration. See [custom LLM configuration](docs/configuration.md#llm-configuration) for advanced options. |
78 | 61 |
|
79 | | -## License |
80 | | -Licensed under CC BY‑NC‑SA 4.0 — see <a href="LICENSE.md">LICENSE.md</a>. |
| 62 | +**Using R/Seurat?** → [CyteTypeR](https://github.com/NygenAnalytics/CyteTypeR) |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +## Output Reports |
| 67 | + |
| 68 | +Each analysis generates an HTML report documenting annotation decisions, marker genes, confidence scores, and Cell Ontology mappings: |
| 69 | + |
| 70 | +<img width="1000" alt="CyteType Report Example" src="https://github.com/user-attachments/assets/9f0f4b36-2dd7-4cb8-93e3-ecda9c97a930" /> |
| 71 | + |
| 72 | +**[View example report with embedded chat interface](https://prod.cytetype.nygen.io/report/6420a807-8bf3-4c33-8731-7617edfc2ad0?v=251124)** |
| 73 | + |
| 74 | +--- |
| 75 | + |
| 76 | +## Benchmarks |
| 77 | + |
| 78 | +Validated across multiple datasets, tissues, and organisms. CyteType's agentic architecture consistently outperforms other methods across multiple LLMs: |
| 79 | + |
| 80 | +**📊 Performance:** 388% improvement over GPTCellType, 268% over CellTypist, 101% over SingleR |
| 81 | + |
| 82 | +<img width="500" alt="CyteType Benchmark Results" src="https://github.com/user-attachments/assets/a63cadc1-d8c5-4ac0-bba7-af36f9b3c46d" /> |
| 83 | + |
| 84 | +**[Browse results from single-cell atlases →](docs/examples.md)** |
| 85 | + |
| 86 | +## Need Help? |
| 87 | + |
| 88 | +📖 [Configuration options](docs/configuration.md) • [Understanding output columns](docs/results.md) • [Common issues & fixes](docs/troubleshooting.md) • [Development guide](docs/development.md) |
| 89 | +💬 [Join Discord](https://discord.gg/V6QFM4AN) for support |
| 90 | + |
| 91 | +--- |
| 92 | + |
| 93 | +## Citation |
| 94 | + |
| 95 | +If you use CyteType in your research, please cite our preprint: |
| 96 | + |
| 97 | +```bibtex |
| 98 | +@article{cytetype2025, |
| 99 | + title={Multi-agent AI enables evidence-based cell annotation in single-cell transcriptomics}, |
| 100 | + author={Gautam Ahuja, Alex Antill, Yi Su, Giovanni Marco Dall'Olio, Sukhitha Basnayake, Göran Karlsson, Parashar Dhapola}, |
| 101 | + journal={bioRxiv}, |
| 102 | + year={2025}, |
| 103 | + doi={10.1101/2025.11.06.686964}, |
| 104 | + url={https://www.biorxiv.org/content/10.1101/2025.11.06.686964v1} |
| 105 | +} |
| 106 | +``` |
81 | 107 |
|
82 | 108 | --- |
83 | | -<img width="2063" height="1857" alt="CyteType architecture" src="https://github.com/user-attachments/assets/c55f00a2-c4d1-420a-88c2-cdb507898383" /> |
| 109 | + |
| 110 | +## License |
| 111 | + |
| 112 | +CyteType is free for academic and non-commercial research use under CC BY‑NC‑SA 4.0 — see [LICENSE.md](LICENSE.md) |
| 113 | + |
| 114 | +For commercial use, please contact us at [contact@nygen.io](mailto:contact@nygen.io) |
0 commit comments