Skip to main content

Spatial phenotype analysis of crisp screens (SpaCr)

Project description

Badges

Docs PyPI version Python version Licence: MIT repo size Tutorial

logo spaCR Spatial phenotype analysis of CRISPR–Cas9 screens (spaCR).


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-based software package for generating single-cell image data for deep-learning sub-cellular/cellular phenotypic classification from pooled genetic CRISPR-Cas9 screens. SpaCr provides a flexible toolset to extract single-cell images and measurements from high-content cell painting experiments, train deep-learning models to classify cellular/subcellular phenotypes, simulate, and analyze pooled CRISPR-Cas9 imaging screens.

Features

  • Generate Masks: Generate Cellpose masks of cell, nuclei, and pathogen objects.

  • Object Measurements: Measurements for each object including scikit-image regionprops, intensity percentiles, shannon-entropy, Pearson’s and Manders’ correlations, homogeneity, and radial distribution. Measurements are saved to a SQL database in object-level tables.

  • Crop Images: Save objects (cells, nuclei, pathogen, cytoplasm) as images. Object image paths are saved in a SQL database.

  • Train CNNs or Transformers: Train PyTorch models to classify single object images.

  • Manual Annotation (nightly): Supports manual annotation of single-cell images and segmentation to refine training datasets for training CNNs/Transformers or cellpose, respectively.

  • Finetune Cellpose Models (nightly): Adjust pre-existing Cellpose models to your specific dataset for improved performance.

  • Timelapse Data Support (nightly): Track objects in timelapse image data.

  • Simulations: Simulate spatial phenotype screens with spaCRPower.

  • Sequencing: Map FASTQ reads to barcode and gRNA barcode metadata.

  • Misc (nightly): Analyze Ca oscillation, recruitment, infection rate, plaque size/count.

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 machine learning (ML, e.g., XGBoost) or deep learning (DL, e.g., PyTorch) models to classify objects, summarizing 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. Output folder structure for each module, including locations for raw and processed images, masks, object-level measurements, datasets, and results. c. List of all spaCR package modules.

Installation

Linux recommended.

macOS prerequisites (before install):

brew install libomp hdf5 cmake openssl

Linux GUI requirement: spaCR GUI requires Tkinter.

sudo apt install python3-tk

Install stable version (main):

pip install spacr

Install nightly version:

pip install spacr-nightly

Launch GUI (stable):

spacr

Launch GUI (nightly):

spacrn

Example Notebooks

The following example Jupyter notebooks illustrate common workflows using spaCR.

spaCR workflow

Graphical abstract | Workflow for pooled CRISPR–Cas9 spatial phenotype screening

A pooled population of cells with perturbations (G1i) is distributed into wells (W1j) and expanded. Cells from each well (Wj) are transferred for genotyping by PCR with barcoded primers, followed by next-generation sequencing (NGS) to determine gRNA abundances (Rij). In parallel, cells are phenotyped by MaxViT-based image classification, generating an average well classification score (Cj). Multiple linear regression (MLR) uses Cj as the response variable and Rij as the predictor to estimate the effect size (βi) of each gRNA.

Interactive Tutorial (under construction)

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

Tutorial

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: spaCR: Spatial phenotype analysis of CRISPR-Cas9 screens.

Papers Using spaCR

Below are selected publications that have used or cited spaCR:

Project details


Release history Release notifications | RSS feed

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.1.3.tar.gz (54.6 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.1.3-py3-none-any.whl (47.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: spacr-1.1.3.tar.gz
  • Upload date:
  • Size: 54.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for spacr-1.1.3.tar.gz
Algorithm Hash digest
SHA256 7bbf849d636130d010c97737a5f3ebbe3a766659ab0eded6c3e49f6419c620a7
MD5 499c1833ee797a1df290d7a4f1b2594c
BLAKE2b-256 ff7415507ea93f87cd84ecb232d8ca92b6afb764e223bbcddef9a602cb0f0bf8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spacr-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 47.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for spacr-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 92ae95c6a6c14ddc6683c787e2200fde3f99cd0099c5cbfe1476ad9f7fd71b3c
MD5 6717b1f5b06ab7c1e9ce7da0195590b3
BLAKE2b-256 4ea1fa7979e654f79914ba94e2122f3c5ff3e761584b1e8733a718675fa2cb8e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page