OMICSDESKbioinformatics, delivered

The code behind the samples

Every figure and number on our sample pages was produced by one of these scripts, from public data. They are here to download and re-run — that is what "reproducible" has to mean if it means anything. Your own project ships with its own script in exactly this form.

Single-cell sample

↓ run_demo.py

Downloads the public 10x PBMC 3k dataset, runs QC, filtering, normalisation, HVG selection, PCA, neighbours, UMAP, Leiden clustering, marker genes and marker-based annotation. Produces every figure and number on the single-cell sample page.

See what it produces →

Blind annotation cross-check

↓ run_annotation.py

Repeats the manual annotation, then runs a public CellTypist reference model that never sees those labels, and compares the two cluster by cluster at lineage level.

See what it produces →

Spatial sample

↓ run_spatial.py

Public 10x Visium human lymph node section: QC, filtering, clustering into spatial domains, spatial autocorrelation (Moran’s I) for spatially variable genes, and tissue overlays.

See what it produces →

Bulk RNA-seq sample

↓ run_bulk.py

GEO GSE60450: reads the sample design from the GEO series matrix rather than assuming it, then DESeq2 via pydeseq2, volcano plot, sample clustering, and a milk-protein sanity check.

See what it produces →

Trajectory sample

↓ run_trajectory.py

Public haematopoiesis data: PAGA topology, force-directed layout initialised from it, diffusion pseudotime from a defined root, and a quantitative branch check against erythroid and myeloid markers.

See what it produces →

Pseudobulk vs per-cell

↓ run_pseudobulk.py

GEO GSE96583, 8 donors with and without interferon-β: aggregates counts per donor and condition for a paired DESeq2 analysis, then runs a naive per-cell Wilcoxon on the same cells and compares the two gene lists.

See what it produces →

How to run them

python -m venv .venv && . .venv/bin/activate
pip install scanpy leidenalg igraph matplotlib pydeseq2 celltypist
python run_demo.py            # single-cell sample
python run_pseudobulk.py      # needs the GEO files listed at the top of the script

Each script downloads its own public data, except the pseudobulk one, which expects four GEO files whose URLs are in the header comment. Comments in the source are in the analyst's working language (Chinese); the code and variable names are not.

Why we publish this

Two reasons, both practical. It lets you check our work instead of trusting a claim — run it and see whether the numbers on the sample pages come out. And it shows the form your own delivery takes: a script you can hand to a student, not a folder of images whose provenance died with the project.

→ Get a quote · how a project runs