Skip to main content

Python client for characterization of clusters from single-cell RNA-seq data.

Project description

CyteType

Agentic, Evidence-Based Cell Type Annotation for Single-Cell RNA-seq

CI Status Python Version PyPI version License: CC BY-NC-SA 4.0 PyPI downloads

CyteType performs automated cell type annotation in single-cell RNA sequencing (scRNA-seq) data. It uses a multi-agent AI architecture to deliver transparent, evidence-based annotations with Cell Ontology mapping.

Integrates with Scanpy and Seurat workflows.


Preprint published: Nov. 7, 2025: bioRxiv link - Dive into benchmarking results


Why CyteType?

Cell type annotation is one of the most time-consuming steps in single-cell analysis. It typically requires weeks of expert curation, and the results often vary between annotators. When annotations do get done, the reasoning is rarely documented; this makes it difficult to reproduce or audit later.

CyteType addresses this with a novel agentic architecture: specialized AI agents collaborate on marker gene analysis, literature evidence retrieval, and ontology mapping. The result is consistent, reproducible annotations with a full evidence trail for every decision.

CyteType multi-agent AI architecture for single-cell RNA-seq cell type annotation

Key Features

Feature Description
Cell Ontology Integration Automatic CL ID assignment for standardized terminology and cross-study comparison
Confidence Scores Numeric certainty values (0–1) for cell type, subtype, and activation state — useful for flagging ambiguous clusters
Linked Literature Each annotation includes supporting publications and condition-specific references — see exactly why a call was made
Annotation QC via Match Scores Compare CyteType results against your existing annotations to quickly identify discrepancies and validate previous work
Embedded Chat Interface Explore results interactively; chat is connected to your expression data for on-the-fly queries

Also included: interactive HTML reports, Scanpy/Seurat compatibility (R wrapper via CyteTypeR), and no API keys required out of the box.

📹 Watch CyteType intro video


Quick Start

Installation

pip install cytetype

Basic Usage with Scanpy

import scanpy as sc
from cytetype import CyteType

# Assumes preprocessed AnnData with clusters and marker genes
group_key = 'clusters'
annotator = CyteType(
    adata, 
    group_key=group_key, 
    rank_key='rank_genes_' + group_key, 
    n_top_genes=100
)
adata = annotator.run(study_context="Human PBMC from healthy donor")
sc.pl.umap(adata, color='cytetype_annotation_clusters')

🚀 Try it in Google Colab

Note: No API keys required for default configuration. See Configuration for LLM setup, artifact handling, and advanced options.

Using R/Seurat?CyteTypeR


Documentation

Resource Description
Configuration LLM settings, parameters, and customization
Output Columns Understanding annotation results and metadata
Troubleshooting Common issues and solutions
Development Contributing and local setup
Discord Community support

Output Reports

Each analysis generates an HTML report documenting annotation decisions, reviewer comments and an embedded chat interface for further exploration.

CyteType HTML report showing cell type annotations marker genes

View example report


Benchmarks

Validated across PBMC, bone marrow, tumor microenvironment, and cross-species datasets. CyteType's agentic architecture consistently outperforms existing annotation methods:

Comparison Improvement
vs GPTCellType +388%
vs CellTypist +268%
vs SingleR +101%
CyteType benchmark comparison against GPTCellType CellTypist SingleR

Browse CyteType results on atlas scale datasets


Citation

If you use CyteType in your research, please cite our preprint:

Ahuja G, Antill A, Su Y, Dall'Olio GM, Basnayake S, Karlsson G, Dhapola P. Multi-agent AI enables evidence-based cell annotation in single-cell transcriptomics. bioRxiv 2025. doi: 10.1101/2025.11.06.686964

@article{cytetype2025,
  title={Multi-agent AI enables evidence-based cell annotation in single-cell transcriptomics},
  author={Gautam Ahuja, Alex Antill, Yi Su, Giovanni Marco Dall'Olio, Sukhitha Basnayake, Göran Karlsson, Parashar Dhapola},
  journal={bioRxiv},
  year={2025},
  doi={10.1101/2025.11.06.686964},
  url={https://www.biorxiv.org/content/10.1101/2025.11.06.686964v1}
}

License

CyteType is free for academic and non-commercial research under CC BY-NC-SA 4.0.

For commercial licensing, contact contact@nygen.io.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cytetype-0.19.3.tar.gz (51.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cytetype-0.19.3-py3-none-any.whl (56.5 kB view details)

Uploaded Python 3

File details

Details for the file cytetype-0.19.3.tar.gz.

File metadata

  • Download URL: cytetype-0.19.3.tar.gz
  • Upload date:
  • Size: 51.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytetype-0.19.3.tar.gz
Algorithm Hash digest
SHA256 bd43b252fd88bd93183395161afbea25f0b3c69121d0eb3e738ffccb9a5158c6
MD5 e0950bb9be6120c6cd41472059d6e797
BLAKE2b-256 3ead63b80f81089cd2a5dd3dc03d4890665df068fa74392ef64e68d72a12687e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cytetype-0.19.3.tar.gz:

Publisher: publish.yml on NygenAnalytics/CyteType

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cytetype-0.19.3-py3-none-any.whl.

File metadata

  • Download URL: cytetype-0.19.3-py3-none-any.whl
  • Upload date:
  • Size: 56.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cytetype-0.19.3-py3-none-any.whl
Algorithm Hash digest
SHA256 54aa982a88fccefed68787ff9b71879d3fa1eaa16fe63fd1746db5b1d093d244
MD5 88031c969c59774fd8e5dc20f7cb3678
BLAKE2b-256 3f910e207998c1aee01b8e0ba9ea2c5efe53f8daadc3155526c9806fea24ae6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cytetype-0.19.3-py3-none-any.whl:

Publisher: publish.yml on NygenAnalytics/CyteType

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page