Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
gptomics avatar

Bio Epitranscriptomics M6a Differential

  • 4 installs
  • 1.1k repo stars
  • Updated July 25, 2026
  • gptomics/bioskills

Identify differential m6A methylation between conditions from MeRIP-seq data using exomePeak2.

About

Detects differential m6A methylation between experimental groups from MeRIP-seq data with exomePeak2. A developer uses it when comparing epitranscriptomic changes across treatments or cell states.

  • exomePeak2 differential m6A analysis
  • Compares methylation between conditions

Bio Epitranscriptomics M6a Differential by the numbers

  • 4 all-time installs (skills.sh)
  • Ranked #1,625 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/gptomics/bioskills --skill bio-epitranscriptomics-m6a-differential

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs4
repo stars1.1k
Last updatedJuly 25, 2026
Repositorygptomics/bioskills

What it does

Identify differential m6A methylation between conditions from MeRIP-seq data using exomePeak2.

Files

SKILL.mdMarkdownGitHub ↗

Differential m6A Analysis

exomePeak2 Differential Analysis

library(exomePeak2)

# Define sample design
# condition: factor for comparison
design <- data.frame(
    condition = factor(c('ctrl', 'ctrl', 'treat', 'treat'))
)

# Differential peak calling
result <- exomePeak2(
    bam_ip = c('ctrl_IP1.bam', 'ctrl_IP2.bam', 'treat_IP1.bam', 'treat_IP2.bam'),
    bam_input = c('ctrl_Input1.bam', 'ctrl_Input2.bam', 'treat_Input1.bam', 'treat_Input2.bam'),
    gff = 'genes.gtf',
    genome = 'hg38',
    experiment_design = design
)

# Get differential sites
diff_sites <- results(result, contrast = c('condition', 'treat', 'ctrl'))

QNB for Differential Methylation

library(QNB)

# Requires count matrices from peak regions
# IP and input counts per sample
qnb_result <- qnbtest(
    IP_count_matrix,
    Input_count_matrix,
    group = c(1, 1, 2, 2)  # 1=ctrl, 2=treat
)

# Filter significant
# padj < 0.05, |log2FC| > 1
sig <- qnb_result[qnb_result$padj < 0.05 & abs(qnb_result$log2FC) > 1, ]

Visualization

library(ggplot2)

# Volcano plot
ggplot(diff_sites, aes(x = log2FoldChange, y = -log10(padj))) +
    geom_point(aes(color = padj < 0.05 & abs(log2FoldChange) > 1)) +
    geom_hline(yintercept = -log10(0.05), linetype = 'dashed') +
    geom_vline(xintercept = c(-1, 1), linetype = 'dashed')

Related Skills

  • m6a-peak-calling - Identify peaks first
  • differential-expression/de-results - Similar statistical concepts
  • modification-visualization - Plot differential sites

Related skills

Data Science & MLanalyticspipelines

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.