Skip to main content

Package introducing the InSituPy framework to analyze single-cell spatial transcriptomics data.

Project description

InSituPy: A framework for histology-guided, multi-sample analysis of single-cell spatial transcriptomics data

InSituPy is a Python package designed to facilitate the analysis of single-cell spatial transcriptomics data. With InSituPy, you can easily load, visualize, and analyze the data, enabling and simplifying the comprehensive exploration of spatial gene expression patterns within tissue sections and across multiple samples. Currently the analysis is focused on data from the Xenium In Situ methodology but a broader range of reading functions will be implemented in the future.

Latest changes

!!!Warning: This repository is under very active development and it cannot be ruled out that changes might impair backwards compatibility. If you observe any such thing, please feel free to contact us to solve the problem. Thanks!

For the latest developments check out the releases.

Big improvements in 0.9.0

This version contains multiple bigger changes:

  • Implementation of generate_pseudobulk function
  • Working with multiple open napari viewers in parallel
  • Sync and save buttons in napari viewer
  • Implementation of readers for multiplex-IF data exported from QuPath. For scripts to work with QuPath and InSituPy see this repository
  • Changed syntax of the plotting submodule: The prefix "plot_" was removed from all functions. E.g. plot_spatial can be now called with .pl.spatial.
  • Completely revised code in .pl.spatial introducing different configuration objects to format the plots.
  • Improved documentation

Getting started

Documentation

For detailed instructions on using InSituPy, refer to the official documentation.

InSituPy works best within Jupyter Lab or Jupyter Notebook sessions. If you are not familiar with these platforms, see the documentation of Project Jupyter.

Installation

Make sure you have Conda installed on your system before proceeding with these steps. If not, you can install Miniconda or Anaconda from https://docs.conda.io/en/latest/miniconda.html.

Create and activate a conda environment:

conda create --name insitupy python=3.10
conda activate insitupy

Install from PyPi:

pip install insitupy-spatial

Optional: Install with GUI support (napari viewer):

If you want to use the graphical interface features powered by napari, install with the gui extra:

pip install insitupy-spatial[gui]

To ensure that the InSituPy package is available as a kernel in Jupyter notebooks within your conda environment, you can follow the instructions here.

For alternative installation strategies see the documentation.

Features

  • Data storage: Store data on both the single sample level and the multi-sample level using the InSituData and InSituExperiment objects.
  • Data Preprocessing: InSituPy provides functions for normalizing, filtering, and transforming raw in situ transcriptomics data.
  • Interactive Visualization: Create interactive plots using napari to easily explore spatial gene expression patterns.
  • Annotation: Annotate Xenium In Situ data in the napari viewer or import annotations from external tools like QuPath.
  • Multi-sample analysis: Perform analysis on an experiment-level, i.e. with multiple samples at once.

QuPath

We try to develop InSituPy alongside the Bioimage Analysis tool QuPath. QuPath has great functionalities to visualize whole slide image data, add annotations, generate segmentations or analyze signal intensities. Scripts to simplify the connection between QuPath and InSituPy, we collect here. This includes:

  • Export of annotations as GEOJSON from QuPath
  • Export of images as OME-TIFF from QuPath
  • Collected export of data from a multiplexed IF image to be imported into InSituPy. Import can be performed using either read_qupath or read_qupath_project. For cell and nucleus segmentation of multiplexed IF images we recommend using Instanseg.

Contributing

Contributions are welcome! If you find any issues or have suggestions for new features, please open an issue or submit a pull request.

Citation

If you use InSituPy in your work, please cite the preprint as follows:

InSituPy – A Framework for Histology-Guided, Multi-Sample Analysis of Single-Cell Spatial Transcriptomics Data.
Wirth, Johannes, Anna Chernysheva, Birthe Lemke, Isabel Giray, Aitana Egea Lavandera, and Katja Steiger.
bioRxiv, March 12, 2025. https://doi.org/10.1101/2025.03.07.641860.

License

InSituPy is licensed under the BSD-3-Clause.


InSituPy is developed and maintained by Johannes Wirth and Anna Chernysheva. Feedback is highly appreciated and hopefully InSituPy helps you with your analysis of spatial transcriptomics data. The package is thought to be a starting point to simplify the analysis of in situ sequencing data in Python and it would be exciting to integrate functionalities for larger and more comprehensive data structures. Currently, the framework focuses on the analysis of Xenium In Situ data but it is planned to integrate more methodologies and any support on this is highly welcomed.

Project details


Download files

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

Source Distribution

insitupy_spatial-0.9.1.tar.gz (200.2 kB view details)

Uploaded Source

Built Distribution

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

insitupy_spatial-0.9.1-py3-none-any.whl (239.2 kB view details)

Uploaded Python 3

File details

Details for the file insitupy_spatial-0.9.1.tar.gz.

File metadata

  • Download URL: insitupy_spatial-0.9.1.tar.gz
  • Upload date:
  • Size: 200.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.10.12 Windows/10

File hashes

Hashes for insitupy_spatial-0.9.1.tar.gz
Algorithm Hash digest
SHA256 f1c302c5c3d69e5230c694fedcb6f9c270b171789485a1bd6176f8e168386dbb
MD5 11192c74f5ddecc46ab9f93b6178d462
BLAKE2b-256 dff4fa1013bc9d41632a29700156292eb90bff4d9c19f2c77351a9e2d2b9e701

See more details on using hashes here.

File details

Details for the file insitupy_spatial-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: insitupy_spatial-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 239.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.10.12 Windows/10

File hashes

Hashes for insitupy_spatial-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 255680b4ee4eb99cba8bc10704fd0438cda1c4a29dbe68649a8d6ef2a8f17317
MD5 1f405e6e50628a032d7e6b9b692ee1ca
BLAKE2b-256 b4f561d9d6a57ff167cbae935b08ac6678ee2e7a9b921812fa3e768edd68a223

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