UMR-LMR-PMD-detection

This pipeline performs genome-wide segmentation of CpG methylation profiles to identify Unmethylated Regions (UMRs), Low-Methylated Regions (LMRs), and Partially Methylated Domains (PMDs) using whole-genome bisulfite sequencing (WGBS) methylation calls. The pipeline provides high-resolution enhancer-like LMRs, promoter-associated UMRs, and large-scale PMDs characteristic of reprogramming, aging, or cancer methylomes, enabling integration with chromatin accessibility, TF binding, and genome architecture analyses.

$ Installieren

git clone https://github.com/BIsnake2001/ChromSkills /tmp/ChromSkills && cp -r /tmp/ChromSkills/26.UMR-LMR-PMD-detection ~/.claude/skills/ChromSkills

// tip: Run this command in your terminal to install the skill


name: UMR-LMR-PMD-detection description: This pipeline performs genome-wide segmentation of CpG methylation profiles to identify Unmethylated Regions (UMRs), Low-Methylated Regions (LMRs), and Partially Methylated Domains (PMDs) using whole-genome bisulfite sequencing (WGBS) methylation calls. The pipeline provides high-resolution enhancer-like LMRs, promoter-associated UMRs, and large-scale PMDs characteristic of reprogramming, aging, or cancer methylomes, enabling integration with chromatin accessibility, TF binding, and genome architecture analyses.

Unmethylated Regions (UMR) & Low-Methylated Region (LMR) & Partially Methylated Domain (PMD) Detection

1. Overview

This pipeline performs genome-wide segmentation of CpG methylation profiles to identify Unmethylated Regions (UMRs), Low-Methylated Regions (LMRs), and Partially Methylated Domains (PMDs) using whole-genome bisulfite sequencing (WGBS) methylation calls.

Main steps include:

  • Refer to the Inputs & Outputs section to check available inputs and design the output structure.
  • Always prompt user for genome assembly used.
  • Always prompt user for which columns are methylation fraction/percent and coverage and strand.
  • Convert BED → GRanges with mC/nC counts.
  • Perform CpG filtering (coverage threshold).
  • Call UMRs/LMRs using MethylSeekR segmentation.
  • Mask UMR/LMR and detect PMDs using a 2-state HMM (optional).
  • Export annotations as BED files and summary tables.

2. When to Use This Skill

Biological questions

Use this skill when your research aims to:

  • Identify enhancer-like hypomethylated domains (LMRs).
  • Detect large-scale methylation erosion (PMDs).
  • Quantify global methylation heterogeneity.
  • Explore regulatory element accessibility from WGBS alone.
  • Integrate methylome segmentation with ATAC-seq, ChIP-seq, or chromatin states.

3. Inputs & Outputs

Inputs

<sample>.bed

Outputs

LMR_PMD_calling/
    regions/
        UMRs.bed/
        LMRs.bed/
        PMDs.bed/

4. Decision Tree

Step 1: Prepare the object for detecting UMR/LMR/PMD

library(MethylSeekR)
library(GenomicRanges)
bed <- read.table("sample.bed")
bed <- bed[, c(1,2,3,6,10,11)] # column index provided by user
colnames(bed) <- c("chr","start","end","percentage","coverage","strand")
bed$mC <- round(bed$beta * bed$coverage) # beta = 0.01 * percentage
bed$nC <- bed$coverage - bed$mC

gr <- GRanges(seqnames=bed$chr,
              ranges=IRanges(bed$start, bed$end),
              strand=bed$strand,
              mC=bed$mC,
              nC=bed$nC)

Step 2: UMR and LMR detection

library("BSgenome.Hsapiens.UCSC.hg38") # provided by user
sLengths=seqlengths(Hsapiens)
lmr_cutoff = 0.5
res <- segmentUMRsLMRs(m = gr, meth.cutoff = lmr_cutoff, seqLengths = sLengths, myGenomeSeq=Hsapiens)
UMRs <- res$UMRs
LMRs <- res$LMRs
# save UMR and LMR to the BED format files if more than zero UMRs and LMRs detected

Step 3: PMD detection

pmds <- segmentPMDs(m=gr, chr.sel=unique(seqnames(gr)), 
                    seqLengths=seqlengths(gr))

Notes & troubleshooting

  • Install the required genome sequence or derived information with BSgenome package if not available
# check available genomes
library(BSgenome)
available.genomes()
# install
BiocManager::install("BSgenome.Hsapiens.UCSC.hg38") # e.g. hg38