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
smoderpackage 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.csvspatial_decon_result.h5adtraining_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 RNARNA.h5ad: spatial RNApeak.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.csvspatial_decon_result.h5adtraining_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)
| File | Size | Uploaded | |
|---|---|---|---|
| smoder-0.1.1.tar.gz | 37.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|