DeSide is a DEep-learning and SIngle-cell based DEconvolution method for solid tumors, which can be used to infer cellular proportions of different cell types from bulk RNA-seq data.
DeSide consists of the following four parts (see figure below):
- DNN Model
- Single Cell Dataset Integration
- Cell Proportion Generation
- Bulk Tumor Synthesis
In this repository, we provide the code for implementing these four parts and visualizing the results.
DeSide requires Python 3.8 or higher. It has been tested on Linux and MacOS, but should work on Windows as well.
- tensorflow>=2.11.1
- scikit-learn==0.24.2
- anndata>=0.8.0
- scanpy==1.8.0
- umap-learn==0.5.1
- pandas==1.5.3
- numpy>=1.22
- matplotlib
- seaborn>=0.11.2
- bbknn==1.5.1
- SciencePlots
- matplotlib<3.7
pip should work out of the box:
# creating a virtual environment is recommended
conda create -n deside python=3.8
conda activate deside
# update pip
python3 -m pip install --upgrade pip
# install deside
pip install desideIf installation fails on Apple Silicon macOS when building dependencies such as
tables, install hdf5 and pytables from conda-forge first, then install
DeSide again:
conda install -c conda-forge hdf5 pytables
pip install desideUsage examples can be found: DeSide_mini_example
Three examples are provided:
- Using pre-trained model
- Training a model from scratch
- Generating a synthetic dataset
Example 1 can now be run with one function call after import:
import deside
deside.predict_with_pretrained_model(
input_file="path/xx_TPM.csv",
output_file_path="./results/y_pred.csv"
)This helper expects the same local assets used in the mini example:
./DeSide_model/for the pre-trained model files./datasets/gene_set/for the pathway.gmtfiles
By default, missing Example 1 assets will be downloaded automatically into those folders (with explicit download logs). To disable auto-download, pass auto_download=False.
You can also run Example 1 from this repository as a script:
python examples/example1_pretrained_model.py \
--input-file path/xx_TPM.csv \
--output-file ./results/y_pred.csvFor all detailed documentation, please check https://deside.readthedocs.io/. The documentation will demonstrate the usage of DeSide from the following aspects:
- Installation in a virtual environment
- Usage examples
- Datasets used in DeSide
- Functions and classes in DeSide
See docs/changelog.md for the full change history.
- v1.3.3 (June 16, 2026): add a one-call pre-trained model API, automatic downloads for Example 1 assets, and a runnable Example 1 script.
DeSide can be used under the terms of the MIT License.
Any questions or suggestions about DeSide are welcomed! Please report it on issues, or contact Xin Xiong (onlybelter@outlook.com) or Xuefei Li (xuefei.li@siat.ac.cn).
@article{Xiong2023.05.11.540466,
author = {Xin Xiong and Yerong Liu and Dandan Pu and Zhu Yang and Zedong Bi and Liang Tian and Xuefei Li},
title = {DeSide: A unified deep learning approach for cellular decomposition of bulk tumors based on limited scRNA-seq data},
elocation-id = {2023.05.11.540466},
year = {2023},
doi = {10.1101/2023.05.11.540466},
URL = {https://www.biorxiv.org/content/early/2023/05/14/2023.05.11.540466},
eprint = {https://www.biorxiv.org/content/early/2023/05/14/2023.05.11.540466.full.pdf},
journal = {bioRxiv}
}
@article{Xiong2024-nq,
title = {{DeSide}: A unified deep learning approach for cellular
deconvolution of tumor microenvironment},
author = {Xiong, Xin* and Liu, Yerong* and Pu, Dandan and Yang, Zhu and
Bi, Zedong and Tian, Liang# and Li, Xuefei#},
journaltitle = {Proc. Natl. Acad. Sci. U. S. A.},
volume = {121},
issue = {46},
pages = {e2407096121},
date = {2024},
doi = {10.1073/pnas.2407096121},
URL = {https://www.pnas.org/doi/10.1073/pnas.2407096121}
}
