Skip to contents

Overview

CMEnt is an R package for identifying Differentially Methylated Regions (DMRs) from pre-computed seeds, commonly identified Differentially Methylated Positions (DMPs). The package implements a correlation-based approach to expand regions around significant DMPs, considering both statistical significance and biological relevance of methylation changes.

Features

  • Correlation-based model-free region expansion from genomic seeds
  • DMR-level Stouffer meta-p-values and FDR q-values from supporting seed p-values
  • Optional SVM-based DMR scoring as a complementary discriminative ranking measure
  • Motif discovery within DMRs
  • DMRs motif-based interactions
  • lookup of DMRs motifs matching binding factors on JASPAR database
  • Support for 450K, EPIC, EPICv2, mouse array platforms and NGS datasets in the form of bed (or tabix) files
  • Support for genome builds hg19, hg38, hs1, mm10 and mm39
  • Visualization functions for DMRs and methylation profiles

Considerations

  • CMEnt is designed to work with pre-computed seeds (DMPs) and does not perform DMP identification itself. Users should first identify DMPs using their preferred method before using CMEnt for region expansion.
  • CMEnt is not preprocessing input methylation files (e.g. no normalization, no filtering, no probe removal), apart from conversion to different formats for efficiency, and optional confounders adjustment. It is recommended to preprocess beta files using established pipelines (e.g. minfi, meffil) before using CMEnt for DMR identification.
  • When seed p-values are provided, DMR pval/qval are the primary statistical evidence columns. The optional SVM score is useful as a complementary measure of sample-level discriminative strength, not as a replacement for statistical significance and effect size.

Installation

You can install the development version of CMEnt from GitHub.

# install.packages("devtools") # nolint
devtools::install_github("CMG-UA/CMEnt")

Another option is to use the Docker image available on DockerHub, which contains a pre-installed version of CMEnt along with all dependencies. You can pull the image using the following command:

docker pull ghcr.io/cmg-ua/cment/cment:latest

and run it using:

docker run --rm ghcr.io/cmg-ua/cment/cment:latest --help

To launch the packaged example output in CMEntViewer, publish the Shiny port from the container and bind the app to 0.0.0.0:

docker run --rm -p 3838:3838 \
  ghcr.io/cmg-ua/cment/cment:latest \
  launchCMEntViewer \
  --output_prefix /CMEnt/inst/extdata/example_output \
  --launch_browser FALSE \
  --host 0.0.0.0 \
  --port 3838

Then open http://localhost:3838 in your browser.

If you want to view outputs created on your machine, mount them into the container. Keeping the R library and cache on Docker volumes avoids re-installing on-demand packages and cached annotations on every run:

docker volume create cment-r-lib
docker volume create cment-r-cache

docker run --rm -p 3838:3838 \
  -v "$PWD:/work" -w /work \
  -v cment-r-lib:/usr/local/lib/R/site-library \
  -v cment-r-cache:/home/root/.cache/R \
  ghcr.io/cmg-ua/cment/cment:latest \
  launchCMEntViewer \
  --output_prefix /work/path/to/output_prefix \
  --launch_browser FALSE \
  --host 0.0.0.0 \
  --port 3838

Usage

Here’s a basic example of how to use CMEnt:

suppressPackageStartupMessages(library(CMEnt))
loadExampleInputDataChr5And11("beta", "dmps", "pheno", "array_type")
# Build DMRs using parallel processing
dmrs <- buildDMRs(
    beta = beta,
    seeds = dmps,
    pheno = pheno,
    sample_group_col = "Sample_Group",
    array = array_type,  # Specify array platform
    min_sites = 3,
    min_seeds = 2,
    njobs = 2  # Use parallel processing
)

# View summary of DMR statistics
summary(dmrs)

Citation

If you use CMEnt in your research, please cite:

    To cite package 'CMEnt' in publications use:

      Lemonidis et al (2026). From DMPs to DMRs: CMEnt, Characterization of Methylation using positional Entanglement. R package version 0.99.0.
      University of Antwerp, Antwerp, Belgium.

    A BibTeX entry for LaTeX users is:

      @Manual{
        title = {From DMPs to DMRs: CMEnt, Characterization of Methylation using positional Entanglement},
        author = {Vasileios Lemonidis, Ken op de Beeck, Joris R Vermeesch, Timon Vandamme, Guy Van Camp, Joe Ibrahim},
        year = {2026},
        note = {R package version 0.99.0},
        url = {https://github.com/CMG-UA/CMEnt},
      }

License

This project is licensed under the GPL-2 License - see the LICENSE.md file for details.

Authors

  • Vasileios Lemonidis - Initial work - [University of Antwerp]

Acknowledgments