HuMMuS exploits multi-omics single-cell measurements to infer numerous regulatory mechanisms. Inter-omics (e.g. peak-gene, TF-peak) and intra-omics interactions (e.g. peak-peak, gene-gene, TF-TF) are considered to capture both regulatory interactions and macromolecule cooperations.
The current outputs available from HuMMuS are
- gene regulatory networks (GRNs)
- enhancers
- TF - DNA binding regions
- TF - target genes.
Read our publication for more details !
Like most of the current state-of-the-art methods to infer GRN, we propose a minimal version of HuMMuS based on scRNA-seq + scATAC-seq data (paired or unpaired).
HuMMuS has been developed to be extendable to any additional biological modality of interest.
It is then possible to add any additional network to an already existing modality (e.g. both prior-knowledge network and data-driven network of genes), or from a new modality (e.g. adding epigenetic or proteomic networks).
For now, such personalisation requires to use directly some hummuspy (python package) functions at the end of the pipeline and write some configuration files manually. It will be simplified soon !
- Infer a gene regulatory network and other outputs from unpaired/paired scRNA+scATAC data shows the application of HuMMuS to the Chen dataset, used in the benchmark of HuMMuS publication.
HuMMuS is for now ready only in R but requires some python dependencies (hummuspy).
Python package hummuspy should preferably be installed using pip (from the terminal in a conda environment for e.g)
conda create -n hummuspy_env python
conda activate hummuspy_env
pip install hummuspy
Alternatively, you can also install it directly from R using the reticulate package:
library(reticulate)
py_install("hummuspy", envname = "r-reticulate", method="auto")
Core R package can be installed directly from R:
devtools::install_github("cantinilab/HuMMuS", ref="dev_SeuratV5")
# If you only work SeuratV4, you can also use main branch that will soon be deprecated
#devtools::install_github("cantinilab/HuMMuS")
Before running HuMMuS, if you're using multiple conda environment you need to make sure to that reticulate points toward the one where hummuspy is installed. You can precise it at the beginning of your code :
library(reticulate)
# Using a specific conda environment
envname = "hummuspy_env" # or "r-reticulate" for e.g.
use_condaenv(envname, required = TRUE)
For more details on how to setup the reticulate connection, see: https://rstudio.github.io/reticulate
To compute directly the scATAC data with HuMMuS, we currently only propose to use Cicero. It requires the version running with Monocle3. You then need to install both Monocle3, and Cicero:
devtools::install_github("cole-trapnell-lab/monocle3")
devtools::install_github("cole-trapnell-lab/cicero-release", ref = "monocle3")
If you encounter some troubles with Monocle3 installation, on ubuntu you can try to run: sudo apt-get install libgdal-dev libgeos-dev libproj-dev
. You can also go on their github page for more help. Having a previous version of Monocle (1 or 2) still in your R session can cause some troubles. If you encounter some even after restarting your R session,, try to remove.packages("monocle")
before to reinstall both Monocle3 and Cicero
To reproduce HuMMuS results presented in the manuscript, preprocessed data are accessible here
For quick tests, the Chen dataset preprocessed is accessible directly through the package as a Seurat object: load(chen_dataset)
, along with a subset version load(chen_dataset_subset)
.
Trimbour R., Deutschmann I. M., Cantini L. Molecular mechanisms reconstruction from single-cell multi-omics data with HuMMuS. Bioinformatics (2024), btae143. doi: https://doi.org/10.1093/bioinformatics/btae143