Use when you have preprocessed, normalized beta-value matrices from EPIC or 450k methylation arrays with at least two sample groups (case/control, treatment/untreated, or similar contrasts) and seek to identify regions of coordinated differential methylation rather than individual CpG sites.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add HolobiomicsLab/asb-skill-collections --skill dmr-detection-bumphunter --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Dmr Detection Bumphunter?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/holobiomicslab-dmr-detection-bumphunter)More formats (shields.io, HTML) on the badges page.
---
name: dmr-detection-bumphunter
description: Use when you have preprocessed, normalized beta-value matrices from EPIC or 450k methylation arrays with at least two sample groups (case/control, treatment/untreated, or similar contrasts) and seek to identify regions of coordinated differential methylation rather than individual CpG sites.
license: CC-BY-4.0
metadata:
edam_operation: http://edamontology.org/operation_3680
edam_topics:
- http://edamontology.org/topic_3295
- http://edamontology.org/topic_0654
tools:
- Bumphunter
- ChAMP
- ChAMPdata
- minfi
derived_from:
- doi: 10.1093/bioinformatics/btx513
title: champ
evidence_spans:
- previous DMR detection functions Bumphunter and DMRcate
claims: []
provenance:
collection: https://w3id.org/holobiomicslab/asb-skill/collection/epigenomics/v1
assembled_by: scripts/collect_metabolomics_collection.py
sources:
- build: coll_champ
doi: 10.1093/bioinformatics/btx513
title: champ
dedup_kept_from: coll_champ
schema_version: 0.2.0
---
# dmr-detection-bumphunter
## Summary
Detect differentially methylated regions (DMRs) in EPIC or 450k methylation array data using the bumphunter-based method implemented in ChAMP. This skill identifies contiguous genomic regions with coordinated methylation differences between sample groups, filtering out single-CpG or low-complexity signals.
## When to use
Apply this skill when you have preprocessed, normalized beta-value matrices from EPIC or 450k methylation arrays with at least two sample groups (case/control, treatment/untreated, or similar contrasts) and seek to identify regions of coordinated differential methylation rather than individual CpG sites. Use when you expect DMRs to contain multiple CpGs (≥3) and want bumphunter's spatial clustering approach rather than probe-level detection.
## When NOT to use
- Input is already a list of called CpG-level differential methylation results; use DMR detection on raw or minimally processed beta values instead.
- Sample groups are not well-defined or biological replicates are absent; bumphunter requires sufficient statistical power within groups.
- Data contains strong batch effects or confounding variables not corrected during preprocessing; apply ComBat or RefbaseEWAS adjustment before DMR calling.
## Inputs
- EPIC or 450k methylation array beta-value matrix (samples × CpG sites)
- Sample phenotype/group labels (case/control or multi-group contrast)
- Preprocessed, normalized methylation data (quality control and batch correction applied)
## Outputs
- DMR object containing genomic coordinates, CpG membership, and statistics for each detected region
- DMR count and summary table with region-level p-values or test statistics
- Annotated DMR list with gene associations
## How to apply
Load your EPIC or 450k methylation dataset (from .idat files or preprocessed beta-value matrix) into R and ensure it is normalized using one of ChAMP's supported methods (SWAN, PBC, BMIQ, or Functional Normalization from minfi). Call champ.DMR() function specifying the bumphunter-based detection method. The function will perform spatial clustering of CpGs and apply a minimum CpG threshold (typically ≥3 CpGs per region) to filter out isolated signals. Extract and count DMRs from the output; expect fewer regions than simulated DMRs due to filtering of single-to-dual-CpG signals. Verify DMR count is reasonable for your data scale and biological context (e.g., ~4700 DMRs for EPIC simulation data with 5000+ simulated regions indicates proper filtering).
## Related tools
- **ChAMP** (Primary R package providing champ.DMR() function and bumphunter-based DMR detection pipeline) — https://github.com/YuanTian1991/ChAMP
- **Bumphunter** (Underlying spatial clustering algorithm for identifying contiguous DMRs)
- **ChAMPdata** (Companion data package providing CpG annotations, array manifests, and example datasets (EPICSimData)) — https://github.com/YuanTian1991/ChAMPdata
- **minfi** (Provides Functional Normalization method used in preprocessing before DMR detection)
## Examples
```
library(ChAMP); data(EPICSimData); result <- champ.DMR(beta, pheno, method='bumphunter'); print(length(result$DMR))
```
## Evaluation signals
- DMR count should be lower than the number of simulated or expected regions, reflecting filtering of low-complexity (1–2 CpG) signals; for EPIC simulation data, expect ~4700–4800 called DMRs from ~5000 simulated regions.
- Each detected DMR should contain ≥3 CpGs; verify no single-CpG or dual-CpG regions are included in output.
- DMR genomic coordinates should be non-overlapping and fall within expected chromosomal regions; check for contiguity and absence of intergenic gaps.
- DMR statistics (p-value, effect size) should show statistical and biological consistency with the underlying CpG-level beta-value differences.
- Reproducibility check: re-running champ.DMR() on the same input should yield identical DMR calls and counts.
## Limitations
- DMRs with only 1–2 CpGs are excluded by default; if you require detection of very small clustered regions, this tool is inappropriate.
- Bumphunter method is sensitive to spatial proximity assumptions; sparse CpG arrays or non-contiguous probe designs may yield fragmented or spurious regions.
- Performance depends on upstream preprocessing and normalization quality; inadequate batch correction or poor quality control can inflate or deflate DMR counts.
- No built-in multiple testing correction at the region level is described; users must apply downstream FDR or Bonferroni adjustment based on the number of tested regions.
## Evidence
- [other] The EPIC simulation dataset contains fewer than 5000 DMRs (approximately 4700+) because some simulated DMRs contain only 1-2 CpGs, which are not regarded as DMRs in champ.DMR() function.: "approximately 4700+) because some simulated DMRs contain only 1-2 CpGs, which are not regarded as DMRs in champ.DMR() function"
- [intro] For the identification of Differentially Methylated Regions (DMRs), ChAMP offers the new Probe Lasso method, in addition to previous DMR detection functions Bumphunter and DMRcate: "For the identification of Differentially Methylated Regions (DMRs), ChAMP offers the new Probe Lasso method, in addition to previous DMR detection functions Bumphunter and DMRcate"
- [intro] ChAMP package is designed for conduct DNA methylation array analysis, providing service from data loading, to final gene set enrichment analysis: "ChAMP package is designed for conduct DNA methylation array analysis, providing service from data loading, to final gene set enrichment analysis"
- [intro] The ChAMP package is designed for the analysis of Illumina Methylation beadarray data (EPIC and 450k) and provides a pipeline that integrates currently available 450k and EPIC analysis methods: "The ChAMP package is designed for the analysis of Illumina Methylation beadarray data (EPIC and 450k) and provides a pipeline that integrates currently available 450k and EPIC analysis methods"
- [intro] For the EPIC Simulation Data Set, user may use following code to load it: data(EPICSimData): "For the EPIC Simulation Data Set, user may use following code to load it: data(EPICSimData)"
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!