Claude-skill-registry-data bio-epitranscriptomics-m6a-peak-calling

Call m6A peaks from MeRIP-seq IP vs input comparisons. Use when identifying m6A modification sites from methylated RNA immunoprecipitation data.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/m6a-peak-calling" ~/.claude/skills/majiayu000-claude-skill-registry-data-bio-epitranscriptomics-m6a-peak-calling && rm -rf "$T"
manifest: data/m6a-peak-calling/SKILL.md
source content

m6A Peak Calling

exomePeak2 (Recommended)

library(exomePeak2)

# Peak calling with biological replicates
result <- exomePeak2(
    bam_ip = c('IP_rep1.bam', 'IP_rep2.bam'),
    bam_input = c('Input_rep1.bam', 'Input_rep2.bam'),
    gff = 'genes.gtf',
    genome = 'hg38',
    paired_end = TRUE
)

# Export peaks
exportResults(result, format = 'BED')

MACS3 Alternative

# Call peaks treating input as control
macs3 callpeak \
    -t IP_rep1.bam IP_rep2.bam \
    -c Input_rep1.bam Input_rep2.bam \
    -f BAMPE \
    -g hs \
    -n m6a_peaks \
    --nomodel \
    --extsize 150 \
    -q 0.05

MeTPeak

library(MeTPeak)

# GTF-aware peak calling
metpeak(
    IP_BAM = c('IP_rep1.bam', 'IP_rep2.bam'),
    INPUT_BAM = c('Input_rep1.bam', 'Input_rep2.bam'),
    GENE_ANNO_GTF = 'genes.gtf',
    OUTPUT_DIR = 'metpeak_output'
)

Peak Filtering

# Filter by fold enrichment and q-value
# FC > 2, q < 0.05 typical thresholds
awk '$7 > 2 && $9 < 0.05' peaks.xls > filtered_peaks.bed

Related Skills

  • merip-preprocessing - Prepare data for peak calling
  • m6a-differential - Compare peaks between conditions
  • chip-seq/peak-calling - Similar concepts