CyteOnto compares cell type annotations. You give it the reference labels of a study,
the author labels, and the labels that one or more annotation algorithms assigned to the
same cells or clusters. CyteOnto matches every label to a term of the
Cell Ontology (CL) and scores how similar
the author’s term and the algorithm’s term are. Labels that match the same term, as
Treg and regulatory T cell usually do, score 1. CD4-positive, alpha-beta T cell
scores close to CD8-positive, alpha-beta T cell, and T cell scores low against
neuron. Use it to benchmark annotation methods against a reference without string
matching.
How it works in brief¶
An LLM describes each label, after splitting mixture labels such as doublets into their cell types.
An embedding model turns each description into a vector, which is matched to the closest of the 2,902 Cell Ontology terms.
The two terms that an author label and an algorithm label matched are scored with a similarity metric, which compares the embeddings of the terms’ descriptions by default and can also use the ontology’s hierarchy.
How CyteOnto works describes each step.
Two ways to use CyteOnto¶
| Hosted API | Python package | |
|---|---|---|
| Runs on | https://cyteonto.nygen.io | Your computer |
| You need | An HTTP client | Python 3.13 or newer |
| API keys | None with the default models | Your own, for an LLM and an embedding provider |
| Options | The fields of the request | Every option, plus the caches and files on disk |
A first comparison¶
This request compares three author labels with the labels of one algorithm on the hosted API. It needs no API key:
curl -sS -X POST https://cyteonto.nygen.io/compare \
-H 'Content-Type: application/json' \
-d '{
"authorLabels": ["alveolar macrophage", "regulatory T cell", "CD8-positive, alpha-beta T cell"],
"algorithms": {"method_a": ["lung macrophage", "Treg", "CD8 T cell"]}
}'The response holds a run ID. The job runs in the background: poll its status, then
download one row per label pair. The
hosted API quickstart walks through these steps
with curl and Python, and the Python quickstart
runs the same comparison with the cyteonto package.
Where to go next¶
Getting started: install the package, compare labels with the hosted API or in Python, and read how CyteOnto works.
Guides: choose models and providers, compare compound labels, pick a similarity metric, reuse and clean caches, compare labels in AnnData, and read the results.
Reference: the Python API, the HTTP API, the environment variables and limits and the data files and formats.
Support: troubleshooting and how to cite CyteOnto.
Source code and issues¶
CyteOnto is developed in
NygenAnalytics