Welcome to InSituPy’s documentation!

Welcome to InSituPy’s documentation!#

InSituPy logo

InSituPy is a Python package for the analysis of single-cell spatial transcriptomics data. With InSituPy, you can read, visualize, and analyze the spatially resolved gene expression within one dataset but also across different datasets. Further, it provides a general structure for organizing multiple datasets and its corresponding metadata.

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.

Note

!!!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!

Features#

A key feature of InSituPy is its hierarchical data structure, centered around the InSituExperiment and InSituData objects:

  • InSituData: Represents and manages at the individual sample level. It integrates all modalities of spatial omics datasets, including cellular readouts, cellular boundaries, images, transcripts, regions, and annotations.

  • InSituExperiment: Aggregates multiple InSituData instances and links them with associated metadata, enabling cross-sample analysis and organization.

Additional features include:

  • 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.

Getting started#

Installation

Learn how to install InSituPy.

Installation
Tutorials

Tutorials to help you get started with InSituPy.

Tutorials
API

Application Programming Interface.

API

Contributing#

Contributions are welcome! If you find any issues or have suggestions for new features, please open an issue or submit a pull request. To engage in discussions and start working collectively on InSituPy, feel free to post in our Zulip chat.