Implementation of HIDE as proposed in Völkl et al (2025), HIDE: Hierarchical cell-type Deconvolution, https://doi.org/10.1093/bioinformatics/btaf179
HIDE (Hierarchical cell-type Deconvolution) is a computational approach on infering cellular distribution from bulk transcriptomic data. In comparison to other algorithms HIDE incorporates a hierarchical cell-type structure. For a detailed description of its advantages, we refer to our paper.
Our group has subsequently developed HIDE-Deconv, a separate algorithm and end-to-end framework for the multiscale characterization of cellular remodeling from bulk RNA-seq data. HIDE-Deconv builds on the concept of hierarchical cell-type deconvolution introduced in HIDE, while employing a distinct algorithmic framework that jointly estimates cellular compositions across multiple levels of a cell-type hierarchy.
The framework is provided through both a command-line interface and a Python package, enabling reproducible deconvolution and downstream characterization of cellular remodeling.
Repository: https://github.com/dvoelkl/HIDE-deconv
Preprint: https://doi.org/10.64898/2026.08.24.746754
from HIDE_class import HIDEModel
import pandas as pd
# Load your data
X_ref = pd.read_csv("X_train.csv", index_col=0) # Reference expression matrix
C_train = pd.read_csv("train_distribution.csv", index_col=0) # Training composition
C_val = pd.read_csv("test_distribution.csv", index_col=0) # Validation composition
Y_train = pd.read_csv("train_data.csv", index_col=0) # Training bulk data
Y_val = pd.read_csv("test_data.csv", index_col=0) # Validation bulk data
# Create model with simplified initialization
model = HIDEModel.from_hierarchy_file('cell_hierarchy.csv', X_ref)
# Optionally update with actual cell counts for better performance
cell_counts = {celltype: C_train.sum(axis=1)[celltype] for celltype in X_ref.columns}
model.update_cell_counts(cell_counts)
# Train the model
model.train(C_train, C_val, Y_train, Y_val, X_ref)
# Make predictions on new data
predictions = model.predict(Y_new)
# Save the trained model
model.save_model('trained_model.pkl')In Tutorial.ipynb you find a detailed tutorial on how to use HIDE on an example breast cancer data set downloaded from DISCO (https://www.immunesinglecell.org/cell_type). HIDE_example.py also features the same example as how it could be used to integrate it into your pipeline.
All necessary requirements are frozen in requirements.txt. We recommend python version 3.13.2, as this was the version we used for freezing the requirements. For other version you must install the requirements on your own.
- Make HIDE available to non-coding users by implementing it into our graphical suite of deconvolution tools (Deconomix)
- Automatic creation of the reference profiles out of single cells
- Improved usability of the class
If you are looking for other deconvolution algorithms without the need of a hierarchical cell type structure, we recommend you to explore the DeconomiX package (http://deconomix.bioinf.med.uni-goettingen.de)
If you find any bug, struggle with loading a specific dataset, have any question or comment, please don't hesitate to contact us either via GitHub or via Email to franziska(dot)gortler(at)uib(dot)no or dennis(dot)k(dot)volkl(at)uib(dot)no (replace (dot) with . and (at) with @)