omicverse-single-cell-cellvote-consensus

Build consensus cell-type labels for AnnData objects with conflicting single-cell annotations.

13|2|Updated Apr 5, 2026
One-click install
npx skills add https://github.com/omicverse/omicverse-skills --skill omicverse-single-cell-cellvote-consensus
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: omicverse-single-cell-cellvote-consensus
Source: https://github.com/omicverse/omicverse-skills/tree/main/src/omicverse_skills/skills/single-cell-cellvote-consensus
Command: npx skills add https://github.com/omicverse/omicverse-skills --skill omicverse-single-cell-cellvote-consensus

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve?

CellVote solves inconsistent single-cell cell-type labeling when multiple annotators disagree, giving you one consensus label per cluster. It is built for AnnData workflows where labels already exist in obs and you need a reliable final annotation without manually comparing every annotator output.

Core Features & Use Cases

  • Multi-annotator consensus that combines outputs from SCSA, GPT-based annotation, GPTBioInsightor, scMulan, and PopV.
  • Online arbitration with an OpenAI-compatible model that uses cluster markers and biological context to choose the most plausible label.
  • Offline deterministic voting with a local-majority fallback for reproducible runs, testing, or environments without API access.
  • The workflow centers on ov.single.CellVote and its vote method, which writes the final cluster decision back into each cell.
  • Useful when you need to standardize noisy labels, resolve disagreements across annotators, or reproduce a PBMC3k consensus workflow.

Quick Start

Load your AnnData object, ensure cluster labels and annotator columns are populated, and ask the Skill to produce a consensus CellVote_celltype assignment using either online LLM arbitration or the offline local-majority method.

Frequently Asked Questions about omicverse-single-cell-cellvote-consensus

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I resolve conflicting cell-type labels from multiple single-cell annotation tools?

To resolve conflicting cell-type labels from multiple single-cell annotation tools, you can use a consensus voting method that compares cluster markers and biological context to assign one final label per cluster.

Can I run consensus cell annotation offline without an OpenAI API key?

You can run consensus cell annotation offline without an OpenAI API key by using a deterministic local-majority fallback that votes based on existing obs label columns for reproducible results.

How do I combine SCSA, PopV, and GPT-based cell-type annotations in an AnnData object?

You combine SCSA, PopV, and GPT-based cell-type annotations in an AnnData object by passing populated obs label columns to a cellvote function that arbitrates across the annotator outputs.

What is the best way to standardize noisy single-cell PBMC3k cluster labels?

The best way to standardize noisy single-cell PBMC3k cluster labels is applying cluster-level label arbitration that evaluates marker genes and annotator disagreements to write a consensus assignment back into obs.

What inputs do I need for LLM-based single-cell label arbitration?

For LLM-based single-cell label arbitration, you need an AnnData object with populated cluster marker genes and existing annotator label columns in obs, plus an OpenAI-compatible model endpoint for voting.

When should I use a local-majority vote instead of online LLM arbitration for cell types?

You should use a local-majority vote instead of online LLM arbitration for cell types when you lack API access, need reproducible testing, or want deterministic label results without LLM latency.