Skip to content
Back to skills

Celltypist

ASecurity

"Use CellTypist for single-cell RNA-seq cell type annotation, model

  • 247 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 8, 2026
datapythongobashexpressdockerapi

Works with

  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 20 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill celltypist --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Celltypist?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Celltypist
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-celltypist/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-celltypist)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: celltypist
description: "Use CellTypist for single-cell RNA-seq cell type annotation, model
  management, custom classifier training, CLI usage, and result visualization
  workflows."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# CellTypist Repo Skill

Use this skill when a task involves CellTypist, automated scRNA-seq cell type annotation, CellTypist model downloads or local model pickles, `celltypist.annotate`, the `celltypist` CLI, custom CellTypist classifier training, or CellTypist result exports and plots.

## Quick Start

Install CellTypist from PyPI or conda, then verify the import and CLI:

```bash
pip install celltypist
python -c "import celltypist; print(celltypist.__version__)"
celltypist --help
```

CellTypist uses `scanpy`, `anndata`, `scikit-learn`, `pandas`, `numpy`, `openpyxl`, `click`, `requests`, and `leidenalg`. GPU paths are optional: `rapids-singlecell` affects over-clustering during majority voting, and `cuml` affects GPU logistic regression training.

## Route by Task

- Use [annotation-workflows](sub-skills/annotation-workflows/SKILL.md) for prediction with `celltypist.annotate`, count tables, Matrix Market input, `.h5ad`, in-memory `AnnData`, CLI annotation, best-match vs probability-match modes, majority voting, and table export.
- Use [model-management](sub-skills/model-management/SKILL.md) for built-in model download/cache behavior, offline model pickles, `CELLTYPIST_FOLDER`, `Model.load`, `Model.write`, marker extraction, model conversion, model subsetting, and tiny offline model fixtures.
- Use [training-and-custom-models](sub-skills/training-and-custom-models/SKILL.md) for `celltypist.train`, training matrix/label/gene validation, logistic regression vs SGD vs mini-batch, feature selection, sparse-memory settings, GPU training caveats, and `downsample_adata`.
- Use [visualization-and-results](sub-skills/visualization-and-results/SKILL.md) for `AnnotationResult` tables, Excel export, AnnData insertion, confidence scores, UMAP plot files, and `celltypist.dotplot` comparisons against manual labels or clusters.

## Common Workflows

### Annotate Query Cells

Prefer an explicit local model path when the user needs offline behavior. Built-in model names and `model=None` can consult the CellTypist model cache and may need network access if the cache is empty.

```python
import celltypist

predictions = celltypist.annotate(
    "query_counts.csv",
    model="local_model.pkl",
    mode="best match",
)
predictions.to_table(folder="results", prefix="query_")
```

For CLI usage, create the output directory first:

```bash
mkdir -p results
celltypist --indata query_counts.csv --model local_model.pkl --outdir results --prefix query_ --quiet
```

### Work Offline With Local Models

Use the model-management helpers to avoid accidental downloads:

```bash
python sub-skills/model-management/scripts/model_cache_check.py --verify-model ./local_model.pkl
python sub-skills/model-management/scripts/tiny_model_factory.py --output tiny_model.pkl --write-query-csv tiny_query.csv
```

Then pass `./local_model.pkl` or an absolute path to `Model.load()` or `celltypist.annotate()`.

### Train or Preflight Custom Models

Before expensive training, validate the matrix/label/gene shape and algorithm feasibility:

```bash
python sub-skills/training-and-custom-models/scripts/training_data_check.py \
  --matrix reference.csv --labels labels.txt --genes genes.txt
```

Use `with_mean=False` for sparse data that should not be densified, and use `check_expression=False` only when the user intentionally trains on a subset such as highly variable genes that cannot satisfy whole-transcriptome normalization checks.

### Export and Plot Results

Use the visualization sub-skill when the user already has an `AnnotationResult`:

```python
adata = predictions.to_adata(insert_labels=True, insert_conf=True, insert_prob=True)
predictions.to_table(folder="results", prefix="query_", xlsx=True)
```

For `celltypist.dotplot()`, remember that the default prediction column is `majority_voting`; use `use_as_prediction="predicted_labels"` when majority voting was not run.

## Shared References and Checks

- Read [troubleshooting](references/troubleshooting.md) for install/import issues, model-cache/network surprises, optional GPU package behavior, data-format problems, and workflow routing.
- Read [CLI and containers](references/cli-and-containers.md) for command patterns, Docker/Singularity notes, and safe smoke checks.
- Read [repo provenance](references/repo-provenance.md) before deciding whether this skill matches a current CellTypist checkout or needs refresh.
- Run [celltypist_cli_smoke.py](scripts/celltypist_cli_smoke.py) to check that the installed `celltypist` command exposes expected options without running downloads or annotation.

## Safety and Self-Containment

- Do not rely on original repository notebooks, docs, or source files at runtime; this skill bundles distilled references and safe helper scripts.
- Do not call model download APIs in offline or restricted environments unless the user explicitly wants network access.
- Treat built-in model files and remote model indexes as runtime data dependencies, not as part of this skill.
- Use local model paths with `./` or absolute paths for strict offline loading; bare filenames can trigger built-in inventory checks.

Files in this skill

  • SKILL.md5.3 KB
  • references/cli-and-containers.md3 KB
  • references/repo-provenance.md1.7 KB
  • references/repo-routing-metadata.json337 B
  • references/troubleshooting.md3.9 KB
  • scripts/celltypist_cli_smoke.py3 KB
  • sub-skills/annotation-workflows/SKILL.md2.7 KB
  • sub-skills/annotation-workflows/references/api-reference.md6.1 KB
  • sub-skills/annotation-workflows/references/cli-reference.md4.2 KB
  • sub-skills/annotation-workflows/references/data-formats.md5 KB
  • sub-skills/annotation-workflows/references/troubleshooting.md6.7 KB
  • sub-skills/annotation-workflows/scripts/annotation_smoke.py13 KB
  • sub-skills/model-management/SKILL.md2.5 KB
  • sub-skills/model-management/references/conversion-and-subsetting.md6.3 KB
  • sub-skills/model-management/references/model-reference.md6.6 KB
  • sub-skills/model-management/references/troubleshooting.md8 KB
  • sub-skills/model-management/scripts/model_cache_check.py9.3 KB
  • sub-skills/model-management/scripts/tiny_model_factory.py6.4 KB
  • sub-skills/training-and-custom-models/SKILL.md2.6 KB
  • sub-skills/training-and-custom-models/references/api-reference.md6.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.