Skip to content

scCello

⚠️ Status: partial | Version: v1.0


Overview

Cell ontology-aligned embeddings, zero-shot cell type annotation with hierarchical coherence

When to choose scCello

User wants zero-shot cell type annotation, ontology-consistent predictions, or hierarchical cell-type labeling


Specifications

Property Value
Model scCello
Version v1.0
Tasks embed, integrate, annotate
Modalities RNA
Species human
Gene IDs symbol
Embedding Dim 512
GPU Required Yes
Min VRAM 16 GB
Recommended VRAM 32 GB
CPU Fallback No
Adapter Status ⚠️ partial

Quick Start

import omicverse as ov

# 1. Check model spec
info = ov.fm.describe_model("sccello")

# 2. Profile your data
profile = ov.fm.profile_data("your_data.h5ad")

# 3. Validate compatibility
check = ov.fm.preprocess_validate("your_data.h5ad", "sccello", "embed")

# 4. Run inference
result = ov.fm.run(
    task="embed",
    model_name="sccello",
    adata_path="your_data.h5ad",
    output_path="output_sccello.h5ad",
    device="auto",
)

# 5. Interpret results
metrics = ov.fm.interpret_results("output_sccello.h5ad", task="embed")

Input Requirements

Requirement Detail
Gene ID scheme symbol
Preprocessing Standard preprocessing. Annotations are aligned to the Cell Ontology hierarchy.
Data format AnnData (.h5ad)
Batch key .obs column for batch integration (optional)
Label key .obs column for cell type labels (optional)

Output Keys

After running ov.fm.run(), results are stored in the AnnData object:

Key Location Description
X_sccello adata.obsm Cell embeddings (512-dim)
sccello_pred adata.obs Predicted cell type labels
import scanpy as sc

adata = sc.read_h5ad("output_sccello.h5ad")
embeddings = adata.obsm["X_sccello"]  # shape: (n_cells, 512)

# Downstream analysis
sc.pp.neighbors(adata, use_rep="X_sccello")
sc.tl.umap(adata)
sc.tl.leiden(adata, resolution=0.5)
sc.pl.umap(adata, color=["leiden"])

Resources


Hands-On Tutorial

For a step-by-step walkthrough with code, see the scCello Tutorial Notebook.