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.

16 stars

Best use case

UMR-LMR-PMD-detection is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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.

Teams using UMR-LMR-PMD-detection should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/umr-lmr-pmd-detection/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/devops/umr-lmr-pmd-detection/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/umr-lmr-pmd-detection/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How UMR-LMR-PMD-detection Compares

Feature / AgentUMR-LMR-PMD-detectionStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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

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

---

## 4. Decision Tree

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

```r
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

```r
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

```r
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

```r
# check available genomes
library(BSgenome)
available.genomes()
# install
BiocManager::install("BSgenome.Hsapiens.UCSC.hg38") # e.g. hg38
```

Related Skills

tech-detection

16
from diegosouzapw/awesome-omni-skill

Detects project tech stack including languages, frameworks, package managers, and cloud platforms. Use when analyzing a project, detecting technologies, bootstrapping infrastructure, or setting up permissions. Generates project-context.json with detected stack.

secret-detection-scanner

16
from diegosouzapw/awesome-omni-skill

Detect secrets, credentials, and sensitive data in code and configurations. Scan git history for secrets, detect API keys, tokens, passwords, check environment files, monitor CI/CD logs for exposure, generate remediation steps, and track secret rotation status.

portfolio-risk-drift-detection

16
from diegosouzapw/awesome-omni-skill

Detect and explain risk drift in lending portfolios over time using vintage analysis, migration matrices, and concentration metrics. Use when monitoring portfolio credit quality trends, preparing board risk reports, conducting stress testing, or when risk metrics deviate from appetite thresholds.

platform-detection

16
from diegosouzapw/awesome-omni-skill

Detect project type and recommend deployment platform. Use when deploying projects, choosing hosting platforms, analyzing project structure, or when user mentions deployment, platform selection, MCP servers, APIs, frontend apps, static sites, FastMCP Cloud, DigitalOcean, Vercel, Hostinger, Netlify, or Cloudflare.

pattern-detection

16
from diegosouzapw/awesome-omni-skill

Identify existing codebase patterns (naming conventions, architectural patterns, testing patterns) to maintain consistency. Use when generating code, reviewing changes, or understanding established practices. Ensures new code aligns with project conventions.

nested-TAD-detection

16
from diegosouzapw/awesome-omni-skill

This skill detects hierarchical (nested) TAD structures from Hi-C contact maps (in .cool or mcool format) using OnTAD, starting from multi-resolution .mcool files. It extracts a user-specified chromosome and resolution, converts the data to a dense matrix, runs OnTAD, and organizes TAD calls and logs for downstream 3D genome analysis.

N+1 Query Detection

16
from diegosouzapw/awesome-omni-skill

Detect N+1 query patterns in GORM repository and service code — identify loops that execute queries, missing preloads, and unbounded fetches

context-detection

16
from diegosouzapw/awesome-omni-skill

Automatically detect project tech stack, frameworks, and development context

ai-problems-detection

16
from diegosouzapw/awesome-omni-skill

Protocolo de autodiagnostico contra os 5 problemas mais comuns da IA ao programar. Detecta overengineering, codigo duplicado, reinvencao da roda, falta de documentacao e arquivos monoliticos. Use SEMPRE antes de implementar, ao planejar mudancas, quando criar funcoes novas, ao escrever codigo, para revisar implementacoes. Palavras-chave - simples, duplicado, repetido, existe, separar, modular, documentacao, complexo, refatorar, engenharia demais, roda, reutilizar.

ai-pattern-detection

16
from diegosouzapw/awesome-omni-skill

Detects AI-generated writing patterns and suggests authentic alternatives. Auto-applies when reviewing content, editing documents, generating text, or when user mentions writing quality, AI detection, authenticity, or natural voice.

moai-alfred-language-detection

16
from diegosouzapw/awesome-omni-skill

Auto-detects project language and framework from package.json, pyproject.toml, etc.

performing-steganography-detection

16
from diegosouzapw/awesome-omni-skill

Detect and extract hidden data embedded in images, audio, and other media files using steganalysis tools to uncover covert communication channels.