omicverse-single-cell-differential-abundance

Run differential abundance analysis on single-cell AnnData objects with scCODA, milopy, or milo.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires anndata, numpy, omicverse, pandas, scanpy, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

It turns OmicVerse single-cell differential abundance analysis into a reusable workflow for comparing cell-type composition between two conditions without rewriting notebook logic.

Core Features & Use Cases

  • Runs scCODA, milopy, or milo backends depending on the statistical workflow you need.
  • Validates condition labels, cell-type annotations, sample identifiers, and embeddings before neighborhood testing or posterior inference.
  • Use it for comparing disease versus control samples, inspecting compositional shifts, and exporting branch-specific result tables.

Quick Start

Ask the skill to compare two conditions in an AnnData object with the appropriate backend and return validated differential abundance results.

Frequently Asked Questions about omicverse-single-cell-differential-abundance

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

FAQPage Schema
How do I compare cell-type abundance between two conditions in single-cell data?

Differential abundance analysis compares cell-type composition between conditions by applying scCODA Bayesian inference or milopy neighborhood testing directly on AnnData objects. You can run these workflows using OmicVerse to detect compositional shifts.

What is the difference between scCODA and milopy for compositional analysis?

scCODA performs Bayesian inference for compositional shifts, while milopy conducts neighborhood testing on stored embeddings. This differential abundance analysis supports both statistical backends, along with legacy milo workflows, within a single-cell environment.

Do I need cell-type annotations and sample identifiers to run differential abundance testing?

Yes, differential abundance analysis requires condition labels, cell-type annotations, and sample identifiers. Milo-family branches additionally require a stored embedding in your AnnData object to validate inputs before neighborhood testing.

How does scCODA handle compositional data in single-cell RNA sequencing?

scCODA uses Bayesian inference to analyze compositional data by modeling cell-type counts as proportions. This differential abundance analysis workflow applies scCODA to single-cell AnnData objects to identify statistically significant shifts between control and test conditions.

Can I use anndata objects for differential abundance analysis with Omicverse?

Yes, differential abundance analysis operates directly on single-cell AnnData objects. The workflow validates condition labels, cell-type annotations, sample identifiers, and embeddings before running scCODA or milopy backends.

What are the limitations of milopy neighborhood testing for single-cell data?

milopy neighborhood testing requires a stored embedding and relies on mix_threshold and posterior sampling parameters. Differential abundance analysis with milopy validates these inputs beforehand, but branch-specific handling is necessary for accurate compositional comparison results.