agentsclimarketplace

M6a peak calling

Skill BioTender-max/awesome-bio-agent-skills/skills/bioskills/m6a-peak-calling

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

Install
npx -y skills add BioTender-max/awesome-bio-agent-skills --skill m6a-peak-calling

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

2.5 KB, 633 tokens by cl100k_base, as published. Nobody here has run it

Version Compatibility

Reference examples tested with: MACS3 3.0+

Before using code patterns, verify installed versions match. If versions differ:

  • R: packageVersion('<pkg>') then ?function_name to verify parameters
  • CLI: <tool> --version then <tool> --help to confirm flags

If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.

m6A Peak Calling

"Call m6A peaks from my MeRIP-seq data" → Identify m6A-modified RNA regions by comparing immunoprecipitated (IP) and input samples using statistical enrichment testing.

  • R: exomePeak2::exomePeak2() for GC-bias aware peak calling
  • CLI: macs3 callpeak as an alternative broad peak caller

exomePeak2 (Recommended)

Goal: Identify m6A-enriched regions by comparing IP and input samples with GC-bias correction and replicate-aware statistical testing.

Approach: Provide IP and input BAM files along with a gene annotation to exomePeak2, which models read counts in sliding windows across the transcriptome and calls significant enrichment peaks.

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

What ships with it: 3 files

3.0 KB alongside SKILL.md, 1 of them executable

examples/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.