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
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7edcb55c31202277703a79b7f300d03759d4f25eed023091abf908aeab03637f
|
|
| MD5 |
37bc26aebc05cbc03d3368a7ad00730b
|
|
| BLAKE2b-256 |
e1069a99d218fa0d6f25a6f179da1da26de9ef8e8b70e2047440b4dee368f1ac
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b3e5d27e49fc5c5a3fcd84c91468de1ac3b840e03f93cfa7e86b37cd97fada8
|
|
| MD5 |
a8be67e9acab017150edf598a9fe6007
|
|
| BLAKE2b-256 |
ee3fd377e0eb5e63e692815f68b688ce8ae9d523bce7a2411227296d7fc116e0
|