Skip to main content

Docs PyPI version Python version Licence: MIT repo size Tests Qt Tutorial DOI

spaCR

Spatial phenotype analysis of CRISPR-Cas9 screens.

The spatial organization of organelles and proteins within cells constitutes a key level of functional regulation. In the context of infectious disease, the spatial relationships between host cell structures and intracellular pathogens are critical to understanding host clearance mechanisms and how pathogens evade them. spaCR is a Python toolkit for generating single-cell image data for deep-learning sub-cellular / cellular phenotypic classification from pooled genetic CRISPR-Cas9 screens. It provides a flexible toolset to extract single-cell images and measurements from high-content cell painting experiments, train deep-learning models to classify cellular phenotypes, simulate CRISPR-Cas9 imaging screens, and analyze pooled-screen data end to end.

📖 Full documentation: https://einarolafsson.github.io/spacr/

Features

  • Generate Masks — Cellpose masks for cells, nuclei, pathogens and organelles.

  • Object Measurements — scikit-image regionprops, intensity percentiles, Shannon entropy, Pearson’s and Manders’ correlations, homogeneity, radial distribution. Saved to a SQL database in object-level tables.

  • Crop Images — Save cropped objects (cells, nuclei, pathogen, cytoplasm) as PNGs alongside their DB rows.

  • Train CNNs or Transformers — PyTorch training loops for single-object classification.

  • Manual Annotation — Grid-based single-cell annotation UI that writes labels straight to the measurements DB.

  • Finetune Cellpose Models — Refine pretrained Cellpose weights against your own hand-drawn masks.

  • Timelapse Data Support — Track objects across timepoints; every module respects the T filename dimension.

  • Simulations — Generate synthetic phenotype screens with configurable perturbation effects.

  • Sequencing — Map FASTQ reads to row / column / gRNA barcodes for pooled-screen genotype-phenotype linking.

  • Analysis Suite — UMAP, ML/DL classification, regression, recruitment, activation, plaque, Ca²⁺ oscillation.

spaCR workflow

Overview and data organization of spaCR.

a. Schematic workflow of the spaCR pipeline for pooled image-based CRISPR screens. Microscopy images (TIFF, LIF, CZI, NDI) and sequencing reads (FASTQ) are used as inputs (black). The main modules (teal) are: (1) Mask — generates object masks for cells, nuclei, pathogens, and cytoplasm; (2) Measure — extracts object-level features and crops object images, storing quantitative data in an SQL database; (3) Classify — applies ML (e.g., XGBoost) or DL (e.g., PyTorch) models to classify objects, summarising results as well-level classification scores; (4) Map Barcodes — extracts and maps row, column, and gRNA barcodes from sequencing data to corresponding wells; (5) Regression — estimates gRNA effect sizes and gene scores via multiple linear regression using well-level summary statistics. b. Downstream submodules available for extended analyses at each stage. c. Output folder structure for each module, including locations for raw and processed images, masks, object-level measurements, datasets, and results. d. List of all spaCR package modules.

Quickstart

pip install spacr
spacr                        # launches the Qt GUI

Installation

Linux is the recommended platform. Windows users are encouraged to switch to Linux — it’s free, open-source, and simply works better with the scientific Python + GPU stack.

macOS prerequisites (before pip install):

brew install libomp hdf5 cmake openssl

Linux prerequisites (only if you also want the classic Tk GUI):

sudo apt-get install python3-tk

Install (PyPI):

pip install spacr

Install (from source, latest development branch):

git clone https://github.com/EinarOlafsson/spacr.git
cd spacr && pip install -e '.[qt]'

Launch:

spacr           # Qt GUI (default)
spacr-qt        # explicit alias for the Qt GUI
spacr-legacy    # classic Tk GUI

Example Notebooks

The following Jupyter notebooks illustrate common workflows:

Interactive Tutorial

Click below to explore the step-by-step GUI and Notebook tutorials for spaCR:

Tutorial

Debugging & logs

Every subsystem funnels through the same rotating log at ~/.spacr/logs/spacr.log (5 MB × 3 backups). Crank the level via env var:

SPACR_LOG_LEVEL=DEBUG spacr

Or, interactively:

from spacr.logging_util import setup_logging, enable_debug
setup_logging()              # once at program start
enable_debug()               # all spacr.* loggers → DEBUG

spaCRPower

Power analysis of pooled-perturbation spaCR screens.

spaCRPower

Data Availability

License

spaCR is distributed under the terms of the MIT License. See the LICENSE file for details.

How to Cite

If you use spaCR in your research, please cite:

Olafsson EB, et al. A pooled image-based CRISPR screen identifies EAF1 as a T. gondii modulator of ESCRT subversion. Manuscript under consideration.

Papers Using spaCR

Selected publications that have used or cited spaCR:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spacr-1.4.9.7.tar.gz (25.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spacr-1.4.9.7-py3-none-any.whl (12.9 MB view details)

Uploaded Python 3

File details

Details for the file spacr-1.4.9.7.tar.gz.

File metadata

  • Download URL: spacr-1.4.9.7.tar.gz
  • Upload date:
  • Size: 25.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.20

File hashes

Hashes for spacr-1.4.9.7.tar.gz
Algorithm Hash digest
SHA256 0136459891e386a169fa58b010633024b7032ef01869ae42437ac4145ae0e7b4
MD5 a926d7908fd6ca7890fc252490c1a910
BLAKE2b-256 be993b552c6a2f666d43f18cddfe93c42be2c20a2aa69d7ce4d61aef602a7d21

See more details on using hashes here.

File details

Details for the file spacr-1.4.9.7-py3-none-any.whl.

File metadata

  • Download URL: spacr-1.4.9.7-py3-none-any.whl
  • Upload date:
  • Size: 12.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.20

File hashes

Hashes for spacr-1.4.9.7-py3-none-any.whl
Algorithm Hash digest
SHA256 867aafd7fa5d2c5b757374e68e0be644e75b6244e3c60742db2504314f32bf8b
MD5 d40f79a5a123c08b127b04dc2eefa486
BLAKE2b-256 a51a0ef792ccd486cf1b06eb635ac1790c0aacb1161026f0b4d48221f8fa42fa

See more details on using hashes here.

Release history Release notifications | RSS feed

1.5.0.7

2 files

1.5.0.6

2 files

1.5.0.5

2 files

1.5.0.4

2 files

1.5.0.2

2 files

1.5.0.1

2 files

1.4.9.9

2 files

This release

1.4.9.7 This release

2 files

1.3.6

2 files

1.3.5

2 files

1.3.4

2 files

1.3.1

2 files

1.3.0

2 files

1.2.7

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.9

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.1

2 files

0.9.26

2 files

0.9.25

2 files

0.9.24

2 files

0.9.23

2 files

0.9.22

2 files

0.9.21

2 files

0.9.7

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.5.0

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.3.80

2 files

0.3.72

2 files

0.3.71

2 files

0.3.70

2 files

0.3.68

2 files

0.3.66

2 files

0.3.65

2 files

0.3.64

2 files

0.3.62

2 files

0.3.61

2 files

0.3.60

2 files

0.3.55

2 files

0.3.52

2 files

0.3.47

2 files

0.3.46

2 files

0.3.45

2 files

0.3.43

2 files

0.3.42

2 files

0.3.41

2 files

0.3.38

2 files

0.3.37

2 files

0.3.36

2 files

0.3.35

2 files

0.3.33

2 files

0.3.32

2 files

0.3.31

2 files

0.3.30

2 files

0.3.22

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.81

2 files

0.2.68

2 files

0.2.67

2 files

0.2.66

2 files

0.2.65

2 files

0.2.61

2 files

0.2.56

2 files

0.2.53

2 files

0.2.46

2 files

0.2.45

2 files

0.2.41

2 files

0.2.32

2 files

0.2.31

2 files

0.2.21

2 files

0.2.8

2 files

0.2.5

2 files

0.2.3

2 files

0.1.81

2 files

0.1.77

2 files

0.1.76

2 files

0.1.75

2 files

0.1.64

2 files

0.1.55

2 files

0.1.50

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page