Universal single cell annotator
Skill BioTender-max/awesome-bio-agent-skills/skills/openclaw/universal-single-cell-annotator
A curated collection of AI agent skills for biomedical research, covering genomics, proteomics, single-cell analysis, clinical AI, and protein design.From the repository description
npx -y skills add BioTender-max/awesome-bio-agent-skills --skill universal-single-cell-annotatorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
2.3 KB, 610 tokens by cl100k_base, as published. Nobody here has run it
name: 'universal-single-cell-annotator' description: 'Annotate scRNA-seq' measurable_outcome: Execute skill workflow successfully with valid output within 15 minutes. allowed-tools:
- read_file
- run_shell_command
Universal Single-Cell Annotator
This skill wraps multiple cell type annotation strategies into a single Python class. It allows agents to flexibly choose between rule-based (markers), data-driven (CellTypist), or reasoning-based (LLM) approaches depending on the context.
When to Use This Skill
- Initial Analysis: When processing raw AnnData objects.
- Validation: When cross-referencing automated labels with known markers.
- Discovery: When identifying rare cell types using LLM reasoning on marker lists.
Core Capabilities
- Marker-Based Scoring: Scores cells based on provided gene lists (e.g., "T-cell": ["CD3D", "CD3E"]).
- Deep Learning Reference: Wraps
celltypistto transfer labels from massive atlases. - LLM Reasoning: Extracts top markers per cluster and constructs prompts for LLM interpretation.
Workflow
- Load Data: Ensure data is in
AnnDataformat (standard for Scanpy). - Choose Strategy:
- Use Markers if you have a known gene panel.
- Use CellTypist for broad immune/tissue profiling.
- Use LLM for novel clusters.
- Annotate: Run the corresponding method.
- Inspect: Check
adata.obsfor the new annotation columns.
Example Usage
User: "Annotate this dataset looking for T-cells and B-cells."
Agent Action:
from universal_annotator import UniversalAnnotator
import scanpy as sc
adata = sc.read_h5ad('data.h5ad')
annotator = UniversalAnnotator(adata)
markers = {
'T-cell': ['CD3D', 'CD3E', 'CD8A'],
'B-cell': ['CD79A', 'MS4A1']
}
annotator.annotate_marker_based(markers)
# Results in adata.obs['predicted_cell_type']
<!-- AUTHOR_SIGNATURE: 9a7f3c2e-MD-BABU-MIA-2026-MSSM-SECURE -->What ships with it: 11 files
16.2 KB alongside SKILL.md, 8 of them executable
cellidentifierdx-main/
- cellidentifierdx/cli.pyruns1.5 KB
- cellidentifierdx/__init__.pyruns440 B
- cellidentifierdx/scoring.pyruns1003 B
- cellidentifierdx/utils.pyruns691 B
- .gitignore1 B
- LICENSE404 B
- README.md3.7 KB
- setup.pyruns1.1 KB
- tests/__init__.pyruns402 B
- tests/test_scoring.pyruns781 B
- universal_annotator.pyruns6.2 KB