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)"
1---2name: dmr-detection-bumphunter3description: 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.4license: CC-BY-4.05---67# dmr-detection-bumphunter89## Summary1011Detect 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.1213## When to use1415Apply 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.1617## When NOT to use1819- Input is already a list of called CpG-level differential methylation results; use DMR detection on raw or minimally processed beta values instead.20- Sample groups are not well-defined or biological replicates are absent; bumphunter requires sufficient statistical power within groups.21- Data contains strong batch effects or confounding variables not corrected during preprocessing; apply ComBat or RefbaseEWAS adjustment before DMR calling.2223## Inputs2425- EPIC or 450k methylation array beta-value matrix (samples × CpG sites)26- Sample phenotype/group labels (case/control or multi-group contrast)27- Preprocessed, normalized methylation data (quality control and batch correction applied)2829## Outputs3031- DMR object containing genomic coordinates, CpG membership, and statistics for each detected region32- DMR count and summary table with region-level p-values or test statistics33- Annotated DMR list with gene associations3435## How to apply3637Load 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).3839## Related tools4041- **ChAMP** (Primary R package providing champ.DMR() function and bumphunter-based DMR detection pipeline) — https://github.com/YuanTian1991/ChAMP42- **Bumphunter** (Underlying spatial clustering algorithm for identifying contiguous DMRs)43- **ChAMPdata** (Companion data package providing CpG annotations, array manifests, and example datasets (EPICSimData)) — https://github.com/YuanTian1991/ChAMPdata44- **minfi** (Provides Functional Normalization method used in preprocessing before DMR detection)4546## Examples4748```49library(ChAMP); data(EPICSimData); result <- champ.DMR(beta, pheno, method='bumphunter'); print(length(result$DMR))50```5152## Evaluation signals5354- 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.55- Each detected DMR should contain ≥3 CpGs; verify no single-CpG or dual-CpG regions are included in output.56- DMR genomic coordinates should be non-overlapping and fall within expected chromosomal regions; check for contiguity and absence of intergenic gaps.57- DMR statistics (p-value, effect size) should show statistical and biological consistency with the underlying CpG-level beta-value differences.58- Reproducibility check: re-running champ.DMR() on the same input should yield identical DMR calls and counts.5960## Limitations6162- DMRs with only 1–2 CpGs are excluded by default; if you require detection of very small clustered regions, this tool is inappropriate.63- Bumphunter method is sensitive to spatial proximity assumptions; sparse CpG arrays or non-contiguous probe designs may yield fragmented or spurious regions.64- Performance depends on upstream preprocessing and normalization quality; inadequate batch correction or poor quality control can inflate or deflate DMR counts.65- 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.6667## Evidence6869- [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"70- [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"71- [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"72- [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"73- [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)"