Skip to main content

Learn spatially informed Waddington-like potentials for single-cell gene expression

Project description

Learning cell fate landscapes from spatial transcriptomics using Fused Gromov-Wasserstein

codecov Tests Code style: black Documentation Status PyPI version

STORIES is a trajectory inference method capable of learning a causal model of cellular differentiation from spatial transcriptomics through time using Fused Gromov-Wasserstein. STORIES learns a potential function that defines each cell's stage of differentiation and allows one to predict the evolution of cells at future time points. In addition, STORIES uncovers possible driver genes and transcriptional regulators of cellular differentiation.

Read the preprint here and the documentation here!

STORIES is based on the Scverse ecosystem, making it easy to interface with existing tools for single-cell analysis such as Scanpy and CellRank. In addition, STORIES benefits from the JAX ecosystem for deep learning and OT computation, enabling the fast handling of large datasets.

introductory figure

Install the package

  • STORIES is implemented as a Python package seamlessly integrated within the scverse ecosystem. It relies on JAX for fast GPU computations and JIT compilation, and OTT for Optimal Transport computations.
  • System requirements: Python >= 3.10. Continuously tested on Ubuntu 22.04 LTS. Installation time <1mn. Benefits from CUDA or TPU for large datasets (on a GPU A40 and for 800k cells, training time ~ 30mn).

via PyPI (recommended)

pip install stories-jax

By default, JAX is installed for CPU. To get the GPU version, you can use the following (refer to JAX's docs). For use in Google Colab, you'll need to restart the kernel after this command.

pip install stories-jax jax[cuda12]==0.4.26

via GitHub (development version)

git clone git@github.com:cantinilab/stories.git
pip install ./stories/

Getting started

STORIES takes as an input an AnnData object, where omics information and spatial coordinates are stored in obsm, and obs contains time information, and optionally a proliferation weight. Visit the Getting started and API sections for tutorials and documentation.

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

stories_jax-0.1.1.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

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

stories_jax-0.1.1-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

Details for the file stories_jax-0.1.1.tar.gz.

File metadata

  • Download URL: stories_jax-0.1.1.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.9 Darwin/23.6.0

File hashes

Hashes for stories_jax-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c26e84e4f15777fa18705ae5edcff1eb4b2216adcbff52ed2ea2186218789d72
MD5 455a430118ecb6767077296ef284c703
BLAKE2b-256 ed2b87980721b0e0e3314488617fe422bd1bbbcd3d6c7ebb10364d9b607f3f08

See more details on using hashes here.

File details

Details for the file stories_jax-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: stories_jax-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 31.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.9 Darwin/23.6.0

File hashes

Hashes for stories_jax-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a98936b00044d29ff1020f8147f1b7cd89dcc9791f776c3191ccbf8b02ff8fd6
MD5 4d0b757f76d5715d1e6831f2b229d7dc
BLAKE2b-256 7048ed6c6d8aeb833c7e21907f9b4629f1f49ee2aac10100d328badbb16156f4

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