Supported methods

The canonical list of what --method accepts, what each value resolves to, and which tasks support it. scfoundry list methods prints the same information from the registry that ships with the package.

Task support matrix

Method

Category

GPU

download

embed

transfer

finetune

c2s

zero-shot

yes

cellama

zero-shot

yes

cellfm

zero-shot

yes

cellplm

zero-shot

yes

geneformer

zero-shot

yes

genept

zero-shot

no

langcell

zero-shot

yes

scbert

zero-shot

yes

sccello

zero-shot

yes

✓ (linear probing)

scfoundation

zero-shot

yes

scgpt

zero-shot

yes

scimilarity

zero-shot

yes

scprint

zero-shot

yes

uce

zero-shot

yes

novae

zero-shot

yes

pca

reference

no

scvi

reference

yes

scgpt_integrated

integration

yes

scvi_denovo

integration

yes

harmony

integration

no

seurat_cca

integration

no

seurat_rpca

integration

no

Three categories:

  • zero-shot — pretrained foundation models with frozen weights. What the benchmark ranks.

  • referencepca, the classical yardstick, and scvi, zero-shot projection onto the pretrained CELLxGENE Census scVI: a pretrained model rather than a baseline, kept apart from the transformer scFMs the paper counts.

  • integration — methods trained on the input using its batch labels. Accepted by embed only, and ranked separately in every result table.

finetune lists only methods whose official adaptation updates weights; the models whose authors adapt them with a classifier on frozen embeddings (genept, scimilarity, scprint, uce) are covered by transfer --classifier mlp. scCello’s official recipe is linear probing on the frozen encoder and is kept under finetune for that reason. Cell2Sentence fine-tuning is not yet supported, and novae — a spatial model — only embeds.

Models and containers

Method

Name

Category

Container image

Default checkpoint (--model)

Upstream version

c2s

Cell2Sentence

zero-shot

housy17/c2s:latest

C2S/C2S-Pythia-410m-cell-type-prediction

v1.2.0

cellama

CELLama

zero-shot

housy17/cellama:latest

CELLama/all-MiniLM-L6-v2

v0.1.0

cellfm

CellFM

zero-shot

housy17/cellfm:latest

CellFM/CellFM_80M_weight.ckpt

commit 5054a2a (MindSpore-parity fixes)

cellplm

CellPLM

zero-shot

housy17/cellplm:latest

CellPLM/20231027_85M.best.ckpt

v0.1.0

geneformer

Geneformer

zero-shot

housy17/geneformer:latest

Geneformer/Geneformer-V2-316M

V2-316M

genept

GenePT-w

zero-shot

housy17/genept:latest

GenePT/ada-002 (selector)

commit 3602699

langcell

LangCell

zero-shot

housy17/langcell:latest

LangCell/ckpt (fixed)

commit 69e41ef

scbert

scBERT

zero-shot

housy17/scbert:latest

scBERT/panglao_pretrain.pth

v1.0.0

sccello

scCello

zero-shot

housy17/sccello:latest

scCello/scCello-zeroshot

commit 767585b

scfoundation

scFoundation

zero-shot

housy17/scfoundation:latest

scFoundation/models.ckpt

commit 397631c

scgpt

scGPT

zero-shot

housy17/scgpt:0.2.4

scGPT/scGPT_human

v0.2.4

scimilarity

SCimilarity

zero-shot

housy17/scimilarity:latest

SCimilarity/model_v1.1

v0.4.1 (model v1.1)

scprint

scPRINT

zero-shot

housy17/scprint:latest

scPRINT/medium-v1.5.ckpt

2.3.8 (checkpoint medium-v1.5)

uce

UCE

zero-shot

housy17/uce:latest

UCE/33l_8ep_1024t_1280.torch

commit 8227a65 (33 layers)

novae

Novae (spatial)

zero-shot

housy17/novae:1.0.0

Novae/novae-human-0

novae-human-0

pca

PCA

reference

housy17/scllms:latest

none

scanpy HVG(2000) → scale → PCA(50)

scvi

scVI (Census)

reference

scverse/scvi-tools:py3.11-cu12-runtime-stable

scVI/Census2024-07-01-HomoSapiens (--scvi_model)

Census 2024-07-01 Homo sapiens

scgpt_integrated

scGPT (integrated)

integration

housy17/scgpt:0.2.4

scGPT/scGPT_human

scGPT_human fine-tuned with DSBN + DAB + GEPC + ECS

scvi_denovo

scVI (de novo)

integration

scverse/scvi-tools:py3.11-cu12-runtime-stable

none (trained on the input)

scvi-tools

harmony

Harmony

integration

satijalab/seurat:5.5.0

none

Seurat v5 IntegrateLayers(HarmonyIntegration)

seurat_cca

Seurat CCA

integration

satijalab/seurat:5.5.0

none

Seurat v5 IntegrateLayers(CCAIntegration)

seurat_rpca

Seurat RPCA

integration

satijalab/seurat:5.5.0

none

Seurat v5 IntegrateLayers(RPCAIntegration)

Every image is pulled automatically on first use and cached under cache/.shared/nxf_singularity/ in the workspace. Upstream versions are the revision each container was built from — cite the upstream project, not this table, when you report results. Links are on the citation page.

Three entries do not follow the --model pattern:

  • genept--model is a selector, not a path. Only GenePT/ada-002 (1536-d) and GenePT/model-3-large (3072-d) are recognised.

  • langcell — the checkpoint path is fixed to LangCell/ckpt; there is no --model.

  • scvi — the pretrained Census model is selected with --scvi_model.

Method-specific parameters

Parameters that exist for one method only, forwarded as --name value. Shared parameters are in the parameter reference.

Method

Parameter

Default

Effect

scbert

--bin_num

5

Number of expression bins used to discretise counts.

uce

--nlayers

33

Transformer layers to use from the checkpoint.

scprint

--how

"random expr"

Gene-selection strategy for building the input sequence.

scprint

--max_len

4000

Maximum genes per cell.

scprint

--scprint_save_every

10000

Cells per intermediate checkpoint during inference.

scfoundation

--scfoundation_pool_type

"all"

Pooling over token embeddings. "all" or "max".

scfoundation

--scfoundation_lr, --scfoundation_scheduler, --scfoundation_grad_clip

1e-4, "warmup_cosine", 0.0

Fine-tuning learning rate, schedule and gradient clipping (0.0 disables).

cellama

--top_k

30

Highest-expressed genes used to build each cell’s sentence.

cellama

--cellama_finetuned_top_k

30

Same, when re-embedding with the fine-tuned backbone.

scimilarity

--scimilarity_use_gpu

true

Whether to run inference on the GPU.

scvi

--scvi_model

scVI/Census2024-07-01-HomoSapiens

Pretrained Census model.

scvi

--scvi_use_gpu

true

Whether to run inference on the GPU.

scvi_denovo

--scvi_n_latent, --scvi_max_epochs, --integration_n_hvg

30, null, 2000

Latent dimensions; training epochs (null lets scvi-tools choose); highly variable genes (0 = all genes).

scgpt_integrated

--integration_epoch, --integration_batch_size, --integration_n_hvg

15, 64, 1200

Fine-tuning epochs, batch size and highly variable genes.

harmony, seurat_cca, seurat_rpca

--seurat_n_hvg, --seurat_n_pcs

2000, 30

Highly variable genes and principal components computed before integration.

pca

--pca_n_top_genes, --pca_n_comps

2000, 50

Highly variable genes retained; principal components, and therefore output dimensions.

Default batch sizes

Inference batch size for embed (and the embedding step of transfer). The variation is real — models differ by orders of magnitude in memory per cell.

--batch-size

Methods

Note

2048

scimilarity

Lightweight encoder over a fixed gene panel.

1024

scvi, cellplm

Small models.

64

scgpt, cellfm, geneformer, scbert, sccello, scprint, langcell

The transformer default.

16

uce

Long sequences and a large model.

8

c2s

A 410M-parameter autoregressive language model.

not used

cellama, scfoundation, genept, novae, pca, integration methods

These declare no batch_size; passing --batch-size has no effect.

Fine-tuning uses separate parameters with their own per-method defaults — see Fine-tune.

The PCA reference

Worth documenting precisely, because it is the yardstick every foundation model is measured against:

normalize_total(target_sum=1e4)
log1p
highly_variable_genes(n_top_genes=2000, flavor="seurat")
subset to HVGs
scale(max_value=10)
pca(n_comps=50, svd_solver="arpack", random_state=0)

This is the standard Scanpy workflow with default settings, deliberately unoptimised. It needs no checkpoint and runs on the CPU in seconds.

See also