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
  • postprocessing reconstruction
  • spatial result visualization

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
  • postprocessing utilities are available for denoised RNA and second-modality reconstruction
  • visualization utilities are available for spatial heatmaps and embedding-based clustering
  • 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/
│   ├── postprocessing/
│   └── visualization/
├── 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.

Install from PyPI

pip install smoder

Install from GitHub

git clone https://github.com/HokazeJunko/SMODER.git
cd SMODER
pip install -e .

Create a Python environment

A dedicated environment is recommended.

For example:

conda create -n smoder python=3.12
conda activate smoder

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

How to obtain the data

The validated example dataset is not currently distributed through a public download link.

Please contact the maintainer to obtain the example files.

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:

https://smoder.readthedocs.io/en/latest/

It currently includes:

  • installation guide
  • data preparation guide
  • tutorial notebook
  • result visualizations
  • postprocessing and visualization utilities
  • API reference

Roadmap

Planned next steps include:

  • additional runnable pipelines for other datasets
  • improved package interfaces
  • more complete dataset instructions
  • 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.1.tar.gz (37.8 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.1-py3-none-any.whl (39.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: smoder-0.1.1.tar.gz
  • Upload date:
  • Size: 37.8 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.1.tar.gz
Algorithm Hash digest
SHA256 7edcb55c31202277703a79b7f300d03759d4f25eed023091abf908aeab03637f
MD5 37bc26aebc05cbc03d3368a7ad00730b
BLAKE2b-256 e1069a99d218fa0d6f25a6f179da1da26de9ef8e8b70e2047440b4dee368f1ac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: smoder-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 39.3 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7b3e5d27e49fc5c5a3fcd84c91468de1ac3b840e03f93cfa7e86b37cd97fada8
MD5 a8be67e9acab017150edf598a9fe6007
BLAKE2b-256 ee3fd377e0eb5e63e692815f68b688ce8ae9d523bce7a2411227296d7fc116e0

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