Changelog¶
Notable changes to scFoundry. The release this documentation describes is shown in the site footer.
0.2.1 — 2026.09¶
scFoundation fine-tuning fix. The fine-tuning and prediction scripts fed the backbone
raw counts, whereas zero-shot embedding feeds it log1p-normalised counts (the
representation it was pretrained on, get_embedding.py --pre_normalized F). Both now
apply the same normalisation, so a fine-tuned scFoundation sees the input the frozen one
does. Results of finetune --method scfoundation change accordingly.
check task. scfoundry check --data file.h5ad reports whether a file satisfies the
input contract — raw counts, full transcriptome, unique identifiers, the columns a task or
method reads — as an advisory OK / WARN / FAIL list. It changes nothing and never blocks a
run.
0.2.0 — 2026.08¶
The scfoundry command. The framework is now a pip-installable package with a single
command and a workspace model: scfoundry init prepares a directory, every task is a
sub-command, every launch is recorded under runs/. Python and Nextflow are the only
requirements. The pipeline ships inside the package; the old per-task entry points
(embed_by_scfm.nf, fewshot_by_scfm.nf, finetune_by_scfm.nf,
download_model_weights.nf) still work from a repository checkout but print a
deprecation notice.
Embed covers every embedding method. PCA, the pretrained-Census scVI and the five
batch-integration methods (scgpt_integrated, scvi_denovo, harmony, seurat_cca,
seurat_rpca) are embed methods alongside the foundation models, in three declared
categories. Novae is added for spatial data. Output directories are the method ids
throughout.
Transfer replaces few-shot. transfer fits a classifier on frozen embeddings —
logistic regression (default), prototype, kNN or an MLP head — and applies it; it covers
few-shot annotation, reference mapping and the frozen-backbone comparison for models
without a fine-tuning recipe.
Fine-tune is restricted to methods that update parameters. SCimilarity, GenePT, UCE and
scPRINT, previously adapted by a post-hoc classifier, are served by
transfer --classifier mlp instead. Fine-tuned models are published by copy, so they
survive work-directory cleanup.
Benchmark and geometry tasks. benchmark computes the manuscript’s thirteen metrics
under its Leiden protocol, including the batch-mixing metrics. geometry computes the
representation-geometry probes introduced in the revision: participation ratio, spectral
and cell-pair anisotropy, R_NX against Pearson-residual expression space, TwoNN intrinsic
dimension and partial η².
Revised method implementations. CellFM (MindSpore-parity fixes), Geneformer,
scFoundation, SCimilarity and scPRINT. scPRINT downloads medium-v1.5 from a pinned
Hugging Face revision and CellPLM from its official Dropbox share, both verified by SHA-256.
2026.03.04¶
Fine-tuning released. finetune_by_scfm.nf covered 13 methods across two families —
native backbone fine-tuning for models that support it, and a shared post-hoc classifier
for models exposing only frozen embeddings.
2026.01.13¶
Few-shot learning released. fewshot_by_scfm.nf fitted class prototypes from a
labelled support set and annotated a query set by cosine distance. Supported 14 methods.
Also fixed several minor bugs in the scPRINT deployment.
Earlier¶
Batch integration. batch_integration_by_scfm.nf produced actively batch-corrected
embeddings from scGPT, scVI, Harmony, Seurat CCA and Seurat RPCA, using batch labels only.
Embedding benchmark. embedding_benchmark.nf scored an embedding against known cell
types with nine bio-conservation metrics.
Zero-shot embedding. embed_by_scfm.nf and download_model_weights.nf — the core of
the framework, covering 16 methods including PCA and the pretrained Census scVI.
Note
Container images are tagged latest for most methods, so an image can change without a
change recorded here. scGPT (0.2.4) and Novae (1.0.0) are pinned. If you need
byte-reproducible results, record the image digests your run resolved to.
See also
Release notes and the commit history live in the code repository: [https://github.com/Svvord/scFoundry](https://github.com/Svvord/scFoundry).