Skip to content

SCIMAP Pro

Spatial single-cell analysis for AnnData and SpatialData.

SCIMAP Pro (scimappro) is the professional edition of SCIMAP. It keeps the same analytical vocabulary — phenotyping, neighbourhood statistics, spatial distance, co-occurrence, proximity scores — and rebuilds it around three things the community edition does not offer: native scverse SpatialData support, out-of-core streaming for .h5ad files that do not fit in memory, and vectorised, parallel implementations of the heavy spatial kernels.

pip install scimappro
import scimappro as sp

adata = sp.pp.mcmicro_to_scimap("quantification/unmicst-exemplar.csv")
adata = sp.pp.rescale(adata, gate="manual_gates.csv")
adata = sp.tl.phenotype(adata, phenotype="phenotype_workflow.csv")
adata = sp.tl.spatialCooccurrence(adata, phenotype="phenotype")
sp.pl.spatialCooccurrence(adata)

One data argument

Every public function takes its cell table as the first argument, named data, and accepts an AnnData, an .h5ad path, a SpatialData, or a .zarr store. There is no separate SpatialData API to learn. Read more

Streams what will not fit

streamData=True runs the analysis through CAP-AnnData, reading only the obs columns, markers, and matrix slices a function actually needs, and writing back only the sections that changed. Read more

Built for large slides

BallTree neighbourhood queries, Polars group-bys, Numba permutation kernels, and maxWorkers-controlled parallelism over images, in place of the row-wise Pandas loops of the original implementation.

Modern Python

Python 3.12, 3.13, and 3.14. NumPy 2, Pandas 3, AnnData 0.13, Zarr 3. Dependencies are resolved and pinned with uv.

Where to start

If you want to… Go to
Install the package Install
See a whole analysis end to end Quickstart
Move an existing scimap script across Migrating from scimap
Look up a function's parameters API index
Work through a real dataset Tutorials

Relationship to SCIMAP

SCIMAP Pro is a separate package with a deliberately incompatible APIadata became data, snake_case became camelCase, and several functions were renamed to say what they measure. Nothing imports scimap, and the two can be installed side by side. The migration guide maps every renamed function and parameter.

The community edition remains available and documented at scimap.xyz.

Citation

If SCIMAP Pro contributes to work you publish, please cite the SCIMAP paper:

Nirmal et al., (2024). SCIMAP: A Python Toolkit for Integrated Spatial Analysis of Multiplexed Imaging Data. Journal of Open Source Software, 9(97), 6604. https://doi.org/10.21105/joss.06604

SCIMAP development was led by Ajit Johnson Nirmal, Harvard Medical School. See the other tools from the Nirmal Lab.

Funding

This work was supported by NIH grant K99-CA256497.

License

Scimappro Academic License 1.0 — free for academic research, teaching, and other noncommercial use. Redistribution of modified copies is not permitted, and commercial use requires a separate license. See License.