PRISM (Profiling of RNA In-situ through Single-round iMaging) is an innovative method that employs a multi-channel color barcoding to distinguish a wide array of RNA transcripts in large-scale tissues with sub-micron resolution through a single staining and imaging cycle, making it fast and free of problems associated with fluidics-dependency and inter-round spot shift.
For more information, please read the article:
This repository provides the post-stitching computational pipeline for PRISM: spot detection, gene calling, and cell segmentation on stitched PRISM images (2D and 3D). Image acquisition — focal stacking, illumination correction, registration, stitching — is handled by the companion package spatial_img_core (not yet public; request access at huanglab111@gmail.com). The codebase is modular and configurable for different experimental setups and tissue types.
For detailed documentation, please refer to the docs directory:
- Quick Start - Get started quickly
- Installation Guide - Complete installation instructions
- Detailed Usage Guide - Comprehensive workflow documentation
- Configuration Guide - Parameter configuration
- Data Architecture - Data structure requirements
- Changelog - Project change history
For detailed setup and usage instructions, see the Quick Start Guide.
Basic Setup:
git clone https://github.com/HuangLab-PKU/PRISM-Code
cd PRISM-Code
pip install -e .Prerequisites:
- Python 3.10+
- (Optional) GPU for StarDist segmentation or PoSTcode gene calling — see installation guide
- (Optional)
spatial_img_corefor the upstream raw-image → stitched-image steps. It is not yet public; request access from the authors at huanglab111@gmail.com.
The PRISM code consists of the following post-stitching components: readout, gene_calling, cell_segmentation, and downstream analysis (cell typing, subcellular). Upstream steps (probe design → experiment → raw images → stitched images) are handled by the probe_designer and spatial_img_core packages. probe_designer is public; spatial_img_core is not yet public — request access at huanglab111@gmail.com.
graph LR
A["Probe Design (probe_designer)"] --> B["Experiment"];
B --> C["Raw Images (2D / 3D)"];
subgraph "Upstream: spatial_img_core (not yet public)"
C --> D["Stitched Images"];
end
subgraph "PRISM (this repo)"
D --> E("Spot Detection / Readout");
E --> F("Gene Calling");
F --> G["Cell Segmentation"];
G --> H["Analysis"];
end
Stitched raw images are provided on zenodo.org, download based on your needs:
We also provide HCC2D unstitched raw images on PKU NetDisk.
For more raw data, contact us: huanglab111@gmail.com.
- For image acquisition (focal stacking, illumination correction, registration, stitching):
spatial_img_core— not yet public, request access at huanglab111@gmail.com - For probe design: probe_designer
- For 3D segmentation: StarDist
- For 3D spot detection: AIRLOCALIZE (invoked through
spatial_img_core)
For questions or support, contact us at: huanglab111@gmail.com