|
1 | | -# CyteTypeR |
| 1 | +<h1 align="left">CyteTypeR</h1> |
| 2 | +<h3 align="left">Automated, evidence-based cell type annotation for single-cell transcriptomics</h3> |
2 | 3 |
|
3 | | -CyteTypeR is the R version of CyteType, a single‑cell RNA‑seq cluster annnotation using multi-agent workflow [CyteType](https://github.com/NygenAnalytics/CyteType). |
4 | | -Current version of this package interfaces with **Seurat objects** after clustering and characterize cell clusters through CyteType API. |
| 4 | +<p align="left"> |
| 5 | + <a href="https://raw.githubusercontent.com/NygenAnalytics/CyteType/refs/heads/master/LICENSE.md"> |
| 6 | + <img src="https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg" alt="License: CC BY-NC-SA 4.0"> |
| 7 | + </a> |
| 8 | +</p> |
5 | 9 |
|
6 | | -**For AnnData .h5ad, check out the python client: [CyteType](https://github.com/NygenAnalytics/CyteType)** |
| 10 | +--- |
7 | 11 |
|
| 12 | +> 🎉 **NEW:** [Preprint published November 7, 2025](https://www.biorxiv.org/content/10.1101/2025.11.06.686964v1) on bioRxiv |
| 13 | +> 📅 **FREE Webinar:** [Register now](https://attendee.gotowebinar.com/register/1731194703386732893) — Learn CyteType from the developers |
| 14 | +
|
| 15 | +--- |
| 16 | + |
| 17 | +## Why CyteTypeR? |
| 18 | + |
| 19 | +Manual cell type annotation takes weeks and varies between experts. CyteTypeR 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. |
| 20 | + |
| 21 | +<img width="800" alt="CyteType Overview" src="https://github.com/user-attachments/assets/c4cc4f67-9c63-4590-9717-c2391b3e5faf" /> |
| 22 | + |
| 23 | +- **Save weeks of manual curation** — Annotate entire datasets at expert level in minutes, not days |
| 24 | +- **Drop-in integration** — 3 lines of code, works with existing Scanpy/Seurat workflows |
| 25 | +- **No setup friction** — No API keys required; built-in LLM with optional custom configuration |
| 26 | +- **Standards-compliant output** — Automatic Cell Ontology term mapping (CL IDs) |
| 27 | +- **Comprehensive annotations** — Cell types, subtypes, activation states, confidence scores, and lineage |
| 28 | +- **Transparent and auditable** — Interactive HTML reports show evidence, reasoning, and confidence for every annotation |
| 29 | + |
| 30 | +**[See example report](https://prod.cytetype.nygen.io/report/6420a807-8bf3-4c33-8731-7617edfc2ad0?v=251124)** |
| 31 | + |
| 32 | +--- |
8 | 33 |
|
9 | 34 | ## Installation |
| 35 | + |
10 | 36 | ``` R |
11 | 37 | # Using devtools |
12 | 38 | install.packages("devtools") |
13 | 39 |
|
14 | 40 | # Install from GitHub |
15 | 41 | library(devtools) |
16 | 42 | install_github("NygenAnalytics/CyteTypeR") |
17 | | - |
18 | 43 | ``` |
19 | 44 |
|
20 | | -## Quick Start Example |
21 | | -``` R |
| 45 | +## Quick Start |
| 46 | + |
| 47 | +```R |
22 | 48 | # Load package |
23 | 49 | library(CyteTypeR) |
24 | 50 |
|
25 | | -prepped_data <- PrepareCyteTypeR(pbmc, |
26 | | - pbmc.markers, |
27 | | - n_top_genes = 10, |
28 | | - group_key = 'seurat_clusters', |
29 | | - aggregate_metadata = TRUE, |
30 | | - coordinates_key = "umap") |
| 51 | +prepped_data <- PrepareCyteTypeR( |
| 52 | + pbmc, |
| 53 | + pbmc.markers, |
| 54 | + n_top_genes = 10, |
| 55 | + group_key = 'seurat_clusters', |
| 56 | + aggregate_metadata = TRUE, |
| 57 | + coordinates_key = "umap" |
| 58 | +) |
31 | 59 |
|
32 | 60 | metadata <- list( |
33 | 61 | title = 'My scRNA-seq analysis of human pbmc', |
34 | 62 | run_label = 'initial_analysis', |
35 | | - experiment_name = 'pbmc_human_samples_study') |
| 63 | + experiment_name = 'pbmc_human_samples_study' |
| 64 | +) |
| 65 | + |
| 66 | +results <- CyteTypeR( |
| 67 | + obj=pbmc, |
| 68 | + prepped_data = prepped_data, |
| 69 | + study_context = "pbmc blood samples from humans", |
| 70 | + metadata = metadata |
| 71 | +) |
| 72 | +``` |
| 73 | + |
| 74 | +> **Note:** No API keys required for default configuration. See [custom LLM configuration](docs/configurations.md#llm-configurations) for advanced options. |
| 75 | +
|
| 76 | +**Using Scanpy/Anndata?** → [CyteType](https://github.com/NygenAnalytics/CyteType) |
| 77 | + |
| 78 | +--- |
| 79 | + |
| 80 | +## Output Reports |
36 | 81 |
|
37 | | -results <- CyteTypeR(obj=pbmc, |
38 | | - prepped_data = prepped_data, |
39 | | - study_context = "pbmc blood samples from humans", |
40 | | - metadata = metadata |
41 | | - ) |
| 82 | +Each analysis generates an HTML report documenting annotation decisions, marker genes, confidence scores, and Cell Ontology mappings: |
| 83 | + |
| 84 | +<img width="1000" alt="CyteType Report Example" src="https://github.com/user-attachments/assets/9f0f4b36-2dd7-4cb8-93e3-ecda9c97a930" /> |
| 85 | + |
| 86 | +**[View example report with embedded chat interface](https://prod.cytetype.nygen.io/report/6420a807-8bf3-4c33-8731-7617edfc2ad0?v=251124)** |
| 87 | + |
| 88 | +--- |
| 89 | + |
| 90 | +## Benchmarks |
| 91 | + |
| 92 | +Validated across multiple datasets, tissues, and organisms. CyteType's agentic architecture consistently outperforms other methods across multiple LLMs: |
| 93 | + |
| 94 | +**📊 Performance:** 388% improvement over GPTCellType, 268% over CellTypist, 101% over SingleR |
| 95 | + |
| 96 | +<img width="500" alt="CyteType Benchmark Results" src="https://github.com/user-attachments/assets/a63cadc1-d8c5-4ac0-bba7-af36f9b3c46d" /> |
| 97 | + |
| 98 | +**[Browse results from single-cell atlases →](docs/examples.md)** |
| 99 | + |
| 100 | +## Need Help? |
| 101 | + |
| 102 | +📖 [Configuration options](docs/configurations.md) |
| 103 | +💬 [Join Discord](https://discord.gg/V6QFM4AN) for support |
| 104 | + |
| 105 | +--- |
| 106 | + |
| 107 | +## Citation |
| 108 | + |
| 109 | +If you use CyteTypeR in your research, please cite our preprint: |
| 110 | + |
| 111 | +```bibtex |
| 112 | +@article{cytetype2025, |
| 113 | + title={Multi-agent AI enables evidence-based cell annotation in single-cell transcriptomics}, |
| 114 | + author={Gautam Ahuja, Alex Antill, Yi Su, Giovanni Marco Dall'Olio, Sukhitha Basnayake, Göran Karlsson, Parashar Dhapola}, |
| 115 | + journal={bioRxiv}, |
| 116 | + year={2025}, |
| 117 | + doi={10.1101/2025.11.06.686964}, |
| 118 | + url={https://www.biorxiv.org/content/10.1101/2025.11.06.686964v1} |
| 119 | +} |
42 | 120 | ``` |
43 | 121 |
|
44 | | -## Documentations |
45 | | -- [Get started](docs/get-started.md) |
46 | | -- [Configurations](docs/configurations.md) |
| 122 | +--- |
47 | 123 |
|
48 | 124 | ## License |
49 | 125 |
|
50 | | -Licensed under CC BY‑NC‑SA 4.0 — see: [LICENSE.md](LICENSE.md) |
| 126 | +CyteTypeR is free for academic and non-commercial research use under CC BY‑NC‑SA 4.0 — see [LICENSE.md](LICENSE.md) |
| 127 | + |
| 128 | +For commercial use, please contact us at [contact@nygen.io](mailto:contact@nygen.io) |
| 129 | + |
| 130 | + |
0 commit comments