/HuMMuS

Molecular interactions inference from single-cell multi-omics data

Primary LanguageRGNU Affero General Public License v3.0AGPL-3.0

HuMMuS

pkgdown doc-deployment PyPI version

Heterogeneous Multilayer network for Multi-omics Single-cell data

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.

Overview

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 !

scRNA + scATAC

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).

Use of additional modalities

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 !

Tutorials/Vignettes

Installation

HuMMuS is for now ready only in R but requires some python dependencies (hummuspy).

HuMMuS python dependency

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")

HuMMuS R package

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

scATAC processing

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

Data accessibility

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).

Cite us

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