Skip to main content

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

Metadata

Release files for smoder 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for smoder 0.1.1
File Size Uploaded
smoder-0.1.1.tar.gz 37.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for smoder 0.1.1
File Interpreter ABI Platform
smoder-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 77.1 kB

Release files / smoder-0.1.1.tar.gz

Download URL smoder-0.1.1.tar.gz
Size 37.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7edcb55c31202277703a79b7f300d03759d4f25eed023091abf908aeab03637f
BLAKE2b-256 checksum
How to use checksums
e1069a99d218fa0d6f25a6f179da1da26de9ef8e8b70e2047440b4dee368f1ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / smoder-0.1.1-py3-none-any.whl

Download URL smoder-0.1.1-py3-none-any.whl
Size 39.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7b3e5d27e49fc5c5a3fcd84c91468de1ac3b840e03f93cfa7e86b37cd97fada8
BLAKE2b-256 checksum
How to use checksums
ee3fd377e0eb5e63e692815f68b688ce8ae9d523bce7a2411227296d7fc116e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page