Skip to main content

SMODER: spatial multi-omics deconvolution toolkit

Project description

SMODER

SMODER is a Python toolkit for spatial multi-omics deconvolution.

It is designed to integrate spatial transcriptomics with an additional spatial modality, such as protein or chromatin accessibility signals, in order to infer cell-type composition across spatial locations.

The current implementation provides a modular workflow for:

  • data preprocessing
  • feature engineering
  • graph construction
  • model training
  • deconvolution result generation

The package is organized around reusable components for preprocessing, modeling, configuration, and end-to-end pipeline execution.

Highlights

  • Modular Python package structure
  • End-to-end runnable spatial multi-omics pipeline
  • Support for RNA + second-modality workflows
  • Reusable preprocessing, model, and pipeline components
  • Tutorial notebook and documentation website support

Project Status

What is currently available:

  • the smoder package can be installed and imported
  • the current mouse brain H3K27ac pipeline can run end-to-end
  • tutorial and API documentation are available through Read the Docs
  • output files can be generated successfully, including:
    • cell_type_proportions.csv
    • spatial_decon_result.h5ad
    • training_log.txt

Current recommended execution method:

python -m smoder.pipelines.mousebrain_h3k27ac

Repository Structure

SMODER/
├── smoder/
│   ├── __init__.py
│   ├── config/
│   ├── models/
│   ├── pipelines/
│   └── preprocessing/
├── data/
├── docs/
├── scripts/
├── tutorials/
├── pyproject.toml
├── requirements.txt
└── README.md

Installation

Requirements

The current validated environment is:

  • Linux
  • conda-based Python environment
  • Python 3.12

The main tutorial and recommended workflow are currently oriented toward this environment.

Clone the repository

git clone <repository_url>
cd SMODER

Create a Python environment

A dedicated environment is recommended.

For example:

conda create -n smoder python=3.12
conda activate smoder

Install the package

pip install -e .

Data

The current validated example uses a mouse brain RNA + peak dataset.

Required input files:

  • sc_mousebrain_processed.h5ad: single-cell reference RNA
  • RNA.h5ad: spatial RNA
  • peak.h5ad: spatial peak data

Example directory layout:

data/
└── mousebrain_H3K27ac/
   ├── sc_mousebrain_processed.h5ad
   ├── RNA.h5ad
   └── peak.h5ad

Please prepare the required dataset files separately and place them into a local data directory matching the expected structure.

Additional notes on data preparation are provided in data/README.md and in the documentation site.

Quick Start

Run the current validated pipeline:

python -m smoder.pipelines.mousebrain_h3k27ac

Typical outputs include:

  • cell_type_proportions.csv
  • spatial_decon_result.h5ad
  • training_log.txt

Documentation

Documentation is available through Read the Docs.

It currently includes:

  • installation guide
  • data preparation guide
  • tutorial notebook
  • API reference

Roadmap

Planned next steps include:

  • additional runnable pipelines for other datasets
  • improved package interfaces
  • more complete dataset instructions
  • formal PyPI release
  • continued documentation improvements

Citation

If you use SMODER in your work, please cite the corresponding paper or project release once formal citation information becomes available.

Contact

Maintainer: Shucun Xiong

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

smoder-0.1.0.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

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

smoder-0.1.0-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

Details for the file smoder-0.1.0.tar.gz.

File metadata

  • Download URL: smoder-0.1.0.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for smoder-0.1.0.tar.gz
Algorithm Hash digest
SHA256 006bcb70e5c35fb5d64256d33c5eb89852ba14458ebeea769686a1b9f89dd30f
MD5 396b6cb0b18b744af77e08cf208b0206
BLAKE2b-256 875976835fc8887be9550457d7b6722132645ec3342cf11ee825bd1a8535308a

See more details on using hashes here.

File details

Details for the file smoder-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: smoder-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 29.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for smoder-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 06add82086891e12267cce6e809ef44936793bc9b575e573e056caaaade721c4
MD5 ba168a05dc26d4c99efcf9bf0b342368
BLAKE2b-256 233b747d94589cc6085add1f8b9382cf7a0fef185885774411fc4a589ded1a4f

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