FOCUS: End-to-end preprocessing, alignment, and registration pipeline¶
FOCUS is an end-to-end pipeline for integrating spatial multiomics data from multiple imaging and omics instruments acquired on the same tissue section. It handles preprocessing, spatial alignment, and optional feature registration. When a spot-based modality is used as reference and registration is enabled, FOCUS assembles outputs into a single MuData (.h5mu) file ready for downstream analysis in scanpy, squidpy, and AnnData. Alignment-only workflows produce merged AnnData files per modality.
Who is this for?¶
-
New users
Start with the interactive GUI. No Python required.
-
CLI / power users
The CLI reference covers running FOCUS in batch mode, on an HPC cluster, or from a script.
-
Developers
The API reference covers integrating FOCUS outputs, extending modality support, and building on top of the Python API.
Key features¶
- No programming required: the entire pipeline is driven by a JSON configuration file or the interactive web GUI
- MuData output: results are written as
.h5mu, compatible with scanpy, squidpy, and AnnData - Four modalities: fluorescence/brightfield microscopy, MSI/lipidomics, Raman spectroscopy imaging, and spatial transcriptomics
- Cross-platform: Windows, macOS, Linux, and HPC environments are all supported
- Container support: Docker, Podman, and Singularity/Apptainer images are available for reproducible deployment
Getting started in 3 steps¶
1. Install FOCUS
FOCUS is installed from source. Clone the repository and run the installer, which
creates a FOCUS conda environment and registers the focus command:
git clone https://github.com/sifrimlab/FOCUS.git
cd FOCUS
bash install.sh # Windows (PowerShell): .\install.ps1
conda activate FOCUS
See the full Installation Guide for container and HPC options.
2. Prepare your data
Organize raw files into the standard directory layout:
dataset/
├── sample_001/
│ ├── microscopy/ # .tiff / .tif / .ome.tiff / .ome.tif / .qptiff / .czi
│ ├── msi/ # pos/ and/or neg/ with .imzML + .ibd
│ ├── raman/ # .lif
│ └── st/ # .h5ad
└── sample_002/
└── ...
See Directory Structure for the full specification.
3. Run the pipeline
Pipeline at a glance¶
| Stage | What happens |
|---|---|
| Preprocessing | Per-modality QC, normalization, format conversion |
| Alignment | Interactive visual alignment via web GUI |
| Registration | Patch embeddings (images) or Gaussian interpolation (omics) onto reference coordinates |
| Compilation | All modalities merged into a single MuData file |
Further reading¶
- System Overview: pipeline architecture, modality table, directory layout
- Key Concepts: glossary of FOCUS terminology
- Configuration Reference: every JSON field explained
- Scientific Background: motivation and algorithm design
- Data Schemas: canonical AnnData / MuData schemas for developers