Agent skill

Bio Epitranscriptomics M6a Peak Calling

by GPTomics in GPTomics/bioSkills

Calls m6A peaks from MeRIP-seq / m6A-seq paired IP-vs-input data using exomePeak2 (transcript-aware, GC-bias-corrected Poisson GLM), MeTPeak (HMM over sliding windows), MACS3/MACS2 with --nomodel…

MITAuto-check passedResearch & Science

Install Bio Epitranscriptomics M6a Peak Calling

skills CLI
$ npx skills add GPTomics/bioSkills --skill bio-epitranscriptomics-m6a-peak-calling -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install GPTomics/bioSkills bio-epitranscriptomics-m6a-peak-calling --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/epitranscriptomics/m6a-peak-calling .claude/skills/bio-epitranscriptomics-m6a-peak-calling && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
bio-epitranscriptomics-m6a-peak-calling
GitHub stars
1.2k
Used in
1 other repo
Token cost
~8.5k tokens
SKILL.md length
3,833 words
Files
4
Skills in repo
559
Repo updated
First seen
Licence
MIT

At a glance

Calls m6A peaks from MeRIP-seq / m6A-seq paired IP-vs-input data using exomePeak2 (transcript-aware, GC-bias-corrected Poisson GLM), MeTPeak (HMM over sliding windows), MACS3/MACS2 with --nomodel…

  • Calling peaks from paired IP/input genome BAMs
  • SKILL.md covers Version Compatibility, The Single Most Important…, Algorithmic Taxonomy and Decision Tree by Scenario, plus 12 more sections
  • Runs R and Shell scripts from its folder
  • Choosing exomePeak2 (transcript-aware default) vs MACS3 (broad genomic) vs MeTPeak (HMM-smoothed low-coverage)

What it does

Bio Epitranscriptomics M6a Peak Calling is an agent skill from GPTomics/bioSkills. Calls m6A peaks from MeRIP-seq / m6A-seq paired IP-vs-input data using exomePeak2 (transcript-aware, GC-bias-corrected Poisson GLM), MeTPeak (HMM over sliding windows), MACS3/MACS2 with --nomodel --broad --keep-dup all (genome-wide broad alternative), and DRACH motif enrichment via HOMER or ggseqlogo as a sanity check (NOT a filter). Covers BED12 vs narrowPeak output, exonic vs intronic peak handling, multi-tool reconciliation (intersection vs union), the m6A-vs-m6Am ambiguity at 5'UTR peaks that antibody methods…

Its SKILL.md is about 8.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `examples/macs3_peaks.sh` and `usage-guide.md`).

It sits in Research & Science, covering Bioinformatics and Accounting and bookkeeping. The repository describes itself as: a set of SKILLS.md for doing bioinformatics with agents like claude code. The licence is MIT.

When your agent uses it

  • Calling peaks from paired IP/input genome BAMs
  • Choosing exomePeak2 (transcript-aware default) vs MACS3 (broad genomic) vs MeTPeak (HMM-smoothed low-coverage)
  • Confirming DRACH enrichment as a sanity check on the peak set
  • Reconciling differing peak sets across tools

Example prompts

  • “Use the bio-epitranscriptomics-m6a-peak-calling skill to call m6A peaks from MeRIP-seq / m6A-seq paired IP-vs-input data using exomePeak2…”
  • “/bio-epitranscriptomics-m6a-peak-calling”

Requirements

  • A Bash shell

What it can do on your machine

Read from SKILL.md and the folder at commit d91ed3d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (R and Shell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Bio Epitranscriptomics M6a Peak Calling loads about 8.5k tokens when it runs. Until then it costs about 266 tokens; SKILL.md has 3,833 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~266
When it runs · the whole SKILL.md, loaded when a task matches
~8.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from GPTomics/bioSkills at commit d91ed3d, republished under its MIT licence (© GPTomics). 3,833 words, ~8,498 tokens.

Download SKILL.mdSave it as .claude/skills/bio-epitranscriptomics-m6a-peak-calling/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
bio-epitranscriptomics-m6a-peak-calling
description
Calls m6A peaks from MeRIP-seq / m6A-seq paired IP-vs-input data using exomePeak2 (transcript-aware, GC-bias-corrected Poisson GLM), MeTPeak (HMM over sliding windows), MACS3/MACS2 with --nomodel --broad --keep-dup all (genome-wide broad alternative), and DRACH motif enrichment via HOMER or ggseqlogo as a sanity check (NOT a filter). Covers BED12 vs narrowPeak output, exonic vs intronic peak handling, multi-tool reconciliation (intersection vs union), the m6A-vs-m6Am ambiguity at 5'UTR peaks that antibody methods cannot resolve, and orthogonal validation (miCLIP/GLORI/m6A-SAC-seq/m6Anet). Use when calling peaks from paired IP/input genome BAMs, choosing exomePeak2 (transcript-aware default) vs MACS3 (broad genomic) vs MeTPeak (HMM-smoothed low-coverage), confirming DRACH enrichment as a sanity check on the peak set, reconciling differing peak sets across tools, validating MeRIP peaks against single-base methods, interpreting 5' peaks where m6Am contamination is possible, or recommending a consensus strategy.
tool_type
mixed
primary_tool
exomePeak2

Version Compatibility

Reference examples tested with: exomePeak2 1.14+ (Bioconductor 3.18+), MeTPeak (GitHub commit SHA-pinned; no Bioconductor release), MACS3 3.0+, MACS2 2.2.9+, samtools 1.19+, GenomicFeatures 1.54+, BSgenome.Hsapiens.UCSC.hg38 1.4+, HOMER 4.11+, ggseqlogo 0.2+, rtracklayer 1.62+, GenomicRanges 1.54+, ChIPseeker 1.38+.

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

  • R: packageVersion('exomePeak2') then ?exomePeak2 to verify parameters
  • CLI: macs3 callpeak --help, findMotifsGenome.pl to confirm flags

If R throws unused argument or argument is missing, the exomePeak2 / MeTPeak API may have moved between releases; consult ?exomePeak2 and the installed package's NAMESPACE.

exomePeak2 differential is triggered by populating bam_treated_ip / bam_treated_input alongside the control-arm bam_ip / bam_input (see m6a-differential); there is NO mode= argument. MeTPeak is GitHub-only and unversioned — pin a commit SHA in any reproducible analysis; defaults are WINDOW_WIDTH=50, SLIDING_STEP=50, FRAGMENT_LENGTH=100. MACS3 supersedes MACS2 in development activity but both are widely used; default --keep-dup is 1 in BOTH and MUST be overridden to all for MeRIP. HOMER findMotifsGenome.pl is mature; the -rna flag is the RNA-mode entry.

m6A Peak Calling

"Find m6A sites in my MeRIP data" -> Compare paired IP and input read distributions per transcript window, call windows with statistically significant IP enrichment as peaks, annotate against transcript features (5'UTR / CDS / 3'UTR / stop-codon), and confirm DRACH motif enrichment on the peak set relative to background as a sanity check that the antibody-IP worked. CRITICAL: DRACH is a sanity check on the WHOLE peak set, NOT a filter on individual peaks (filtering by DRACH drops 5-10% of real m6A sites and creates circular validation). Equally critical: peaks within ~50 nt of TSS may be PCIF1 m6Am, not METTL3 m6A — anti-m6A antibodies cross-react.

  • R: exomePeak2::exomePeak2() -- transcript-aware GC-corrected GLM (field default)
  • R: MeTPeak::metpeak() -- HMM-smoothed sliding-window alternative
  • CLI: macs3 callpeak --nomodel --keep-dup all --broad -- broad genomic alternative
  • CLI: findMotifsGenome.pl peaks.bed -rna (HOMER) -- DRACH enrichment sanity check
  • R: ggseqlogo::ggseqlogo() -- peak-centre 5-mer sequence logo

The Single Most Important Modern Insight -- MeRIP cannot distinguish m6A from m6Am near the 5' end, and DRACH is a sanity check not a filter

Anti-m6A antibodies (Synaptic Systems 202-003, Abcam ab151230, NEB EpiMark E1610, Cell Signaling 56593, Active Motif 61755) cross-react with m6Am — the cap-adjacent N6,2'-O-dimethyladenosine at the +1 nucleotide of capped mRNAs, installed by PCIF1 / CAPAM (Akichika 2019 Science 363:eaav0080; Boulias 2019 Mol Cell 75:631). METTL3 / METTL14 do NOT methylate the cap-adjacent position; PCIF1 does. Peaks within the first ~50 nt of a transcript are ambiguous between m6A and m6Am. METTL3-KO will REMOVE internal m6A peaks but LEAVE the cap m6Am peaks intact, which has caused multiple papers to mis-attribute METTL3-independent peaks to non-canonical writers when they are really PCIF1 m6Am. Linder 2015 Nat Methods 12:767 (miCLIP, the antibody-based single-base method) explicitly notes the cross-reactivity. Separately: while ~70% of mammalian METTL3-deposited m6A sites sit within the DRACH consensus (D=A/G/U, R=A/G, A=methylated, C=C, H=A/C/U), a non-trivial fraction are non-DRACH. Post-hoc filtering peaks by DRACH content drops real m6A peaks; DRACH should be reported as enrichment-relative-to-background (HOMER / MEME / ggseqlogo) on the PEAK SET as a whole, NOT as a per-peak filter. For unambiguous internal-m6A studies, restrict analysis to peaks past the first ~50 nt AND validate at high-stakes sites with an orthogonal method (miCLIP for single-base antibody validation; GLORI Liu 2023 Nat Biotechnol 41:355 for absolute stoichiometry; m6A-SAC-seq Hu 2022 Nat Biotechnol 40:1210; m6Anet for ONT direct-RNA confirmation).

Algorithmic Taxonomy

Tool / modeMechanismInputsOutputStrengthFails when
exomePeak2 (Liu 2022 NAR Genom Bioinform 4:lqac046)Transcript-windowed Poisson GLM with on-the-fly GC-bias correction; supersedes exomePeak v1paired IP/input BAM + TxDb / GTFBED12 + RDS + per-peak fold-change / FDRTranscript-aware; GC-aware; integrates motif annotation; modern field defaultSlow on very large datasets; argument signatures shift between Bioconductor minor releases — verify against ?exomePeak2
MeTPeak (Cui 2016 Bioinformatics 32:i378)HMM over sliding windows with Beta-binomial emission per windowpaired IP/input BAM + GTF (or TxDb)BED12HMM smooths spatial dependency; better at low coverageGitHub-only; unversioned; default window/step is 50/50 not the small values some tutorials suggest
MACS3 / MACS2 broad mode (Zhang 2008 Genome Biol 9:R137)Sliding-window negative-binomial test; --broad extends; --nomodel disables ChIP fragment-shift modelpaired IP/input BAMnarrowPeak / broadPeakBattle-tested ChIP-seq lineage; very fastNot transcript-aware; misses GC-confounded peaks; default --keep-dup 1 collapses MeRIP signal at high-coverage transcripts
MeRIPtools (R wrapper)Bundles exomePeak / MeTPeak / motif / annotation stepsFASTQ -> peaks pipelinefull reportReproducible end-to-endLess flexibility than calling tools separately
MoAIMSMixture model alternativepaired IP/input BAMpeaksSmaller user base; less benchmarkedNiche use
m6Aboost (R)Boost peak-calling sensitivity by leveraging DRACH motif as a priorpaired IP/input BAM + motif filerefined peak setImproves sensitivity in low-coverage regionsBuilds DRACH into the calling — DON'T use as evidence for DRACH enrichment downstream (circular)
m6ACali (recent ML peak filter; verify current citation against the project repo)ML-based false-peak filter trained on exomePeak2 + MACS2 outputs across many cell linescalled peak set + IP/input BAMrefined peak setModern QC layer; cuts antibody artifact peaksTrained on specific antibody clones; verify it generalises to the antibody used

Decision Tree by Scenario

ScenarioRecommendedWhy wrong choices fail
Standard mammalian MeRIP, 3+ replicates per armexomePeak2 + DRACH confirmation; reconcile with MeTPeak as a second opinionMACS3 misses GC-confounded peaks; MeTPeak alone gives less GC awareness
Viral / kilobase-broad peaksMACS3 --broad --broad-cutoff 0.1 --keep-dup allexomePeak2 splits broad enrichment into many small per-window peaks
Low-coverage / scarce-sample MeRIPMeTPeak HMM smooths; exomePeak2 as cross-checkMACS3 default loses sensitivity at low coverage
Need single-nucleotide resolutionNOT MeRIP -- switch to miCLIP, m6Anet, GLORI, SAC-seqMeRIP windows are ~100-200 nt; cannot resolve to base
5'UTR / cap-proximal peaksRun normally BUT flag 5' peaks (within ~50 nt of TSS) as m6A-or-m6Am ambiguous; validate with PCIF1-KO if availableAntibody cross-reacts with m6Am; cannot assign without orthogonal data
Cross-tool reconciliationCall with exomePeak2 + MeTPeak + MACS3 broad; intersect (NOT union) for high-confidence; report each separatelyUnion inflates false-positive rate; single-tool reports under-call ~30% of consensus peaks
Validation of high-stakes peak setCross-check against published m6A-Atlas / REPIC databases; orthogonal validation at top hits (miCLIP / GLORI / m6A-SAC-seq)Single-method-single-study peaks have ~50% inter-study overlap (McIntyre 2020)
Wanting absolute stoichiometryNOT MeRIP -- use GLORI (Liu 2023 Nat Biotechnol), SAC-seq (Hu 2022), eTAM-seq (Xiao 2023)MeRIP IP fold-change is relative, not absolute
METTL3-KO validation experimentCall peaks in WT and KO; peaks that DISAPPEAR in KO are m6A-dependent; peaks that REMAIN are antibody artifacts OR m6Am OR non-METTL3 modifications (METTL16, METTL5)Calling only WT and assuming all peaks are m6A; many are not
Anti-m6A vs anti-m6Am specific analysisFor internal m6A only: exclude TSS-proximal peaks AND use GLORI / SAC-seq orthogonal validation; for m6Am specifically: m6Am-seq (Sun H 2021 Nat Commun 12:4778), m6ACE-seq, or PCIF1-KO subtractionAntibody alone CANNOT distinguish — this is a chemistry problem, not a software problem

Methodology evolves; before any high-stakes peak-calling analysis, web-search "exomePeak2 Bioconductor release notes" and "MeRIP peak caller benchmark 2024" for current consensus parameters.

exomePeak2 Standard Workflow

Goal: Produce a transcript-aware set of m6A peaks with FDR and IP/input fold-change from paired IP/input genome BAM files, suitable as input to differential analysis, motif scanning, or downstream visualisation.

Approach: Build a TxDb from the matched GTF; pass paired IP/input BAM vectors with bam_ip and bam_input; let exomePeak2 handle GC-bias correction internally; export BED12 + RDS for downstream use; annotate against transcript features.

r
library(exomePeak2)
library(GenomicFeatures)
library(BSgenome.Hsapiens.UCSC.hg38)

txdb <- makeTxDbFromGFF('refs/annotation.gtf', format='gtf')

result <- exomePeak2(
    bam_ip       = c('aligned/IP_rep1.bam', 'aligned/IP_rep2.bam', 'aligned/IP_rep3.bam'),
    bam_input    = c('aligned/Input_rep1.bam', 'aligned/Input_rep2.bam', 'aligned/Input_rep3.bam'),
    txdb         = txdb,
    genome       = BSgenome.Hsapiens.UCSC.hg38,
    paired_end   = TRUE,
    library_type = 'unstranded',
    save_dir     = 'exomepeak2_output',
    experiment_name = 'm6a_run1'
)

# Inspect peaks: GRanges with metadata
peaks <- result
length(peaks)
head(as.data.frame(peaks))

exomePeak2() writes BED12 + RDS + per-peak fold-change / FDR to save_dir/experiment_name/. The txdb argument is the canonical interface; older tutorials use gff= (path) which is deprecated. BSgenome is required for GC correction; if unavailable, exomePeak2 falls back to a less-accurate GC-uncorrected mode.

MeTPeak HMM-Smoothed Alternative

Goal: Call peaks with HMM smoothing across spatial windows, useful when coverage is low or when peak boundaries are ambiguous from per-window negative-binomial tests alone.

Approach: MeTPeak accepts IP and INPUT BAM vectors plus either a GTF file path (GENE_ANNO_GTF=) or a TxDb object (TXDB=); defaults are WINDOW_WIDTH=50, SLIDING_STEP=50, FRAGMENT_LENGTH=100, MINIMAL_PEAK_LENGTH=FRAGMENT_LENGTH/2, MINIMAL_MAPQ=30. The example below uses GTF input with explicit defaults shown for transparency; adjust only with rationale.

r
library(MeTPeak)

metpeak(
    IP_BAM              = c('aligned/IP_rep1.bam', 'aligned/IP_rep2.bam', 'aligned/IP_rep3.bam'),
    INPUT_BAM           = c('aligned/Input_rep1.bam', 'aligned/Input_rep2.bam', 'aligned/Input_rep3.bam'),
    GENE_ANNO_GTF       = 'refs/annotation.gtf',
    OUTPUT_DIR          = 'metpeak_output',
    EXPERIMENT_NAME     = 'm6a_run1',
    WINDOW_WIDTH        = 50,
    SLIDING_STEP        = 50,
    FRAGMENT_LENGTH     = 100,
    MINIMAL_PEAK_LENGTH = 50,
    PEAK_CUTOFF_PVALUE  = 1e-5,
    PEAK_CUTOFF_FDR     = 0.05,
    FOLD_ENRICHMENT     = 1
)

MeTPeak accepts either GENE_ANNO_GTF= (a file path) or TXDB= (a TxDb object); the GTF path is the more common usage and is documented in the GitHub README. Output BED12 is at OUTPUT_DIR/EXPERIMENT_NAME/peak.bed. MeTPeak is GitHub-only (compgenomics/MeTPeak) and unversioned; pin a commit SHA in reproducible analyses.

MACS3 Broad-Peak Alternative

Goal: Call broad MeRIP peaks across the genome using the ChIP-seq sliding-window negative-binomial framework; useful for viral genomes where peaks span kilobases, or as a cross-caller second opinion.

Approach: MACS3 callpeak with --nomodel --extsize 150 --keep-dup all --broad. The --nomodel flag disables the ChIP-seq fragment-shift model (designed for DNA); --keep-dup all is REQUIRED because MACS3 default deduplicates and collapses MeRIP signal at high-coverage transcripts.

bash
macs3 callpeak \
    --treatment aligned/IP_rep1.bam aligned/IP_rep2.bam aligned/IP_rep3.bam \
    --control   aligned/Input_rep1.bam aligned/Input_rep2.bam aligned/Input_rep3.bam \
    --format BAMPE \
    --gsize hs \
    --nomodel \
    --extsize 150 \
    --keep-dup all \
    --broad \
    --broad-cutoff 0.1 \
    --qvalue 0.05 \
    --outdir macs3_output \
    --name m6a_run1

--keep-dup all is non-negotiable for MeRIP; the default --keep-dup 1 (keep one read per position) destroys real signal. --broad and --broad-cutoff 0.1 extend narrow peaks into broader regions, appropriate for MeRIP fragments. Output: narrowPeak + broadPeak + gappedPeak files in macs3_output/.

DRACH Motif Confirmation (Sanity Check, NOT a Filter)

Goal: Confirm that the called peak set is enriched for the DRACH consensus motif relative to genomic background, validating antibody specificity. NEVER post-hoc remove individual non-DRACH peaks.

Approach: Run HOMER findMotifsGenome.pl with -rna mode on peak centres ±50 bp against a length-matched random-shuffled background; expect DRACH-like consensus in the top motifs with E-value < 1e-50 for a well-behaved MeRIP dataset.

bash
findMotifsGenome.pl \
    exomepeak2_output/m6a_run1/peaks.bed \
    hg38 \
    motif_output \
    -rna \
    -size 100 \
    -len 5,6 \
    -p 8
r
library(Biostrings)
library(BSgenome.Hsapiens.UCSC.hg38)
library(ggseqlogo)
library(rtracklayer)

peaks <- import('exomepeak2_output/m6a_run1/peaks.bed')

peak_centres <- resize(peaks, width=5, fix='center')
genome <- BSgenome.Hsapiens.UCSC.hg38
seqs <- as.character(getSeq(genome, peak_centres))

ggseqlogo(seqs, method='probability') +
    ggplot2::labs(title='Peak-centre 5-mer (DRACH consensus expected)')

If DRACH enrichment is NOT observed in the peak set, the IP failed OR the wrong antibody was used OR the assay actually captured a different modification (m6A is centred in coding regions / 3'UTR; m1A is centred at TSS — different metagene signature). Do NOT proceed to differential analysis until DRACH is confirmed on the peak set as a whole.

Multi-Tool Consensus

Goal: Build a high-confidence peak set by intersecting multiple peak callers run on the same data; report both per-tool peak counts and the intersection.

Approach: Use bedtools intersect to combine exomePeak2, MeTPeak, and MACS3 broadPeak outputs; require at least 2-of-3 caller agreement for the high-confidence set.

bash
bedtools intersect \
    -a exomepeak2_output/m6a_run1/peaks.bed \
    -b metpeak_output/m6a_run1/peak.bed macs3_output/m6a_run1_peaks.broadPeak \
    -wa \
    -u \
    -f 0.5 > consensus_at_least_2of3.bed

wc -l \
    exomepeak2_output/m6a_run1/peaks.bed \
    metpeak_output/m6a_run1/peak.bed \
    macs3_output/m6a_run1_peaks.broadPeak \
    consensus_at_least_2of3.bed

Intersection (consensus) is the conservative choice; union inflates the false-positive rate (every caller's idiosyncratic false positives propagate). For published analyses, report both per-tool count AND consensus count; the ratio is a useful caller-agreement metric.

Per-Method Failure Modes

Anti-m6A antibody cross-reacts with m6Am at 5' peaks

Trigger: Peak called at the very 5' end of a transcript (within ~50 nt of TSS), attributed to METTL3-deposited internal m6A.

Mechanism: Anti-m6A antibodies cross-react with m6Am (the cap-adjacent N6,2'-O-dimethyladenosine at the +1 nucleotide of capped mRNAs), installed by PCIF1 / CAPAM (Akichika 2019 Science 363:eaav0080). METTL3 / METTL14 do NOT methylate the cap-adjacent position. Linder 2015 Nat Methods 12:767 explicitly noted the cross-reactivity; Mauer 2017 Nature 541:371 deepened the m6Am story.

Symptom: 5' peaks remain in METTL3-KO cells; agent infers METTL3-independent m6A writers when the peaks are really PCIF1 m6Am.

Fix: Flag peaks within ~50 nt of TSS as m6A-or-m6Am ambiguous. For unambiguous internal-m6A studies, exclude TSS-proximal peaks; for m6Am-specific studies, use PCIF1-KO subtraction or m6Am-seq (Sun H 2021); for orthogonal stoichiometric resolution, use GLORI / SAC-seq.

Peaks called at GC-extreme transcripts by MACS3 but not exomePeak2

Trigger: MACS3 broadPeak output has peaks at high-GC or low-GC transcripts that exomePeak2 does NOT call on the same BAMs.

Mechanism: exomePeak2 implements internal GC-bias correction; MACS3 does not. The IP step has GC bias because anti-m6A antibody pull-down efficiency varies with local GC content. MACS3 attributes GC-driven IP enrichment to true methylation; exomePeak2 corrects for it.

Fix: Trust exomePeak2 for transcript-aware analyses. Use MACS3 only as a second opinion or for broad / viral analyses. If a MACS3-only peak is biologically interesting, validate orthogonally.

DRACH filtering applied post-hoc

Trigger: Filtering called MeRIP peaks to retain only those containing a DRACH motif within the peak window.

Mechanism: ~70% of mammalian METTL3-deposited m6A sites sit within DRACH (Linder 2015), but a non-trivial fraction are non-DRACH. MeRIP peaks span ~100-200 nt; the methylated A is somewhere within the window but the peak boundary is not the modification position. Filtering by "no DRACH in window" rejects real peaks where DRACH sits at the edge or where the m6A is non-DRACH. The filter also creates circular validation — the filtered set is enriched for DRACH by construction.

Symptom: Peak count drops 30-50% after DRACH filtering; reviewers note the filter is not a standard convention.

Fix: Report DRACH enrichment as a SANITY CHECK on the peak set (HOMER E-value < 1e-50 expected) — never as a per-peak filter. For single-nucleotide methods (miCLIP, m6Anet, GLORI), the DRACH constraint is built into the calling model and need not be re-applied.

MACS3 default --keep-dup 1 on MeRIP

Trigger: MACS3 invoked without --keep-dup all; default behaviour is to retain one read per position.

Mechanism: MeRIP libraries have NO UMI (standard protocol); positional duplicates in MeRIP are a mix of PCR duplicates and biological re-sampling of high-coverage transcripts. Default --keep-dup 1 collapses the latter and destroys real signal at the most-abundant transcripts.

Symptom: MACS3 reports very few peaks at housekeeping genes (GAPDH, ACTB) despite obvious IP enrichment in IGV; peak count drops 5-20x compared to --keep-dup all.

Fix: Always pass --keep-dup all to MACS3 / MACS2 for MeRIP. This is the same logic as the do-NOT-dedup rule in merip-preprocessing.

MeTPeak called with wrong argument name for annotation

Trigger: metpeak(IP_BAM=..., INPUT_BAM=..., txdb=txdb_object) (lowercase txdb= rather than TXDB=).

Mechanism: MeTPeak's annotation arguments are GENE_ANNO_GTF= (GTF file path) or TXDB= (uppercase, TxDb object). Lowercase txdb= is not recognised. exomePeak2 uses lowercase txdb= instead, which leads to easy confusion between the two skills' APIs.

Fix: Pass either GENE_ANNO_GTF='annotation.gtf' (string path) or TXDB=txdb_object (capitalised). Verify argument casing against the installed MeTPeak source.

Single-tool peak set reported without cross-caller agreement

Trigger: Paper reports "18,234 m6A peaks" from exomePeak2 alone; downstream biology built on this single set.

Mechanism: Cross-tool concordance on MeRIP is empirically ~70% between exomePeak2 and MeTPeak on the same BAMs; single-tool reports include ~30% tool-specific calls. McIntyre 2020 Sci Rep 10:6590 documents this directly.

Fix: Run at least 2 callers (typically exomePeak2 + MeTPeak; or exomePeak2 + MACS3 broad); report the intersection as high-confidence; full per-tool counts as supplementary.

Show full SKILL.md (1,541 more words)Show less
Transcriptome alignment passed to peak caller

Trigger: A transcriptome BAM (reads aligned to a transcripts.fa file) passed to exomePeak2 or MACS3 instead of a genome BAM.

Mechanism: Peak callers operate on genome BAMs and use the GTF to project peaks back to transcript features. Transcriptome BAMs have reads in per-transcript coordinates; the GTF cannot resolve these back to genome coordinates without re-alignment.

Fix: Align to GENOME with STAR / HISAT2 for downstream MeRIP peak calling (see merip-preprocessing). Transcriptome BAMs are for m6anet-analysis only.

Reconciliation: When Peak Callers Disagree

PatternLikely causeAction
exomePeak2 calls a peak; MACS3 does notGC-confounded; MACS3 calibration ignores GCTrust exomePeak2 for transcript-aware analysis
MACS3 calls a broad peak; exomePeak2 calls 3-5 sub-peaksBroad biology (e.g., long 3'UTR); exomePeak2 splits broad enrichment into per-window peaksMerge exomePeak2 sub-peaks within 200 nt; report as broad
miCLIP single-nt site OUTSIDE MeRIP peak windowMeRIP window slightly shifted; OR low-coverage transcriptInspect MeRIP coverage; consider miCLIP authoritative for single-nt identity
m6Anet high-confidence site at non-MeRIP-peak locationNon-DRACH site invisible to MeRIP antibody preferences; OR low MeRIP coverage; OR site is real but stoichiometry too low for MeRIP detectionTrust m6Anet for DRACH-context sites at adequate coverage
Two replicates concordant; third divergesFailed IP in third replicateInspect IP enrichment QC in merip-preprocessing for the diverging replicate; consider exclusion
GLORI calls a high-stoichiometry site that MeRIP missesMeRIP under-calls at low-expression transcripts; OR site outside common-core consensusTrust GLORI for absolute stoichiometry; MeRIP is qualitative
exomePeak2 gives different peak counts across Bioconductor releases on same BAMsDefault-parameter or signature shifts between minor Bioconductor releasesVerify against ?exomePeak2; pin Bioconductor + exomePeak2 version in reproducible analyses
MACS3 narrowPeak vs broadPeak give very different counts--broad extends peaks; narrow mode requires strong per-window enrichmentFor MeRIP, use --broad; broadPeak is the appropriate output format
5' peaks dominate the peak setHigh m6Am signal (PCIF1) OR TSS-proximal antibody binding artifactFlag 5' peaks; restrict downstream to internal peaks for METTL3 biology

Quantitative Thresholds

QuantityThresholdSource / rationale
exomePeak2 default FDR0.05exomePeak2 default; standard in field
exomePeak2 fold-change minimumlog2(IP/input) > 0 (any enrichment) by default; stringent set: log2 > 1exomePeak2 default vs commonly-applied stringent threshold
MACS3 broad-cutoff for m6A0.1MACS2/3 default for --broad mode
MACS3 --extsize for MeRIP150MeRIP fragment length convention
MACS3 --qvalue0.05Convention (applies to narrow-peak output; broad-peak file uses --broad-cutoff instead)
DRACH enrichment E-value (HOMER)< 1e-50Convention for "well-validated antibody dataset"; below this threshold the IP likely failed
Minimum coverage per peak window30 reads in BOTH IP and InputStandard convention; below this, statistical calls are noisy
Peak reproducibility threshold>=2 of N replicatesStringency-vs-recall trade-off; report multiple thresholds
5'UTR peak ambiguity zonefirst 50 nt of transcriptConservative; antibody cross-reactivity with m6Am peaks here
Minimum peak length>=20 ntBelow this, suspect noise or peak-edge artefact
MeTPeak default p-value cutoff1e-5MeTPeak default
MeTPeak default FDR cutoff0.05MeTPeak default
MeTPeak WINDOW_WIDTH / SLIDING_STEP50 / 50 (defaults)MeTPeak GitHub source; do not assume smaller values without rationale
MeTPeak FRAGMENT_LENGTH100 (default)MeTPeak GitHub source; matches non-stranded MeRIP convention
Common-core m6A sites (cross-method)~6,000-15,000 in HEK293TThe intersection of MeRIP + miCLIP + GLORI + SAC-seq; peaks outside the common core need orthogonal validation
Cross-replicate peak overlap~80% within lab; ~30-60% between labs (median ~45%)McIntyre 2020 Sci Rep 10:6590; bounds reproducibility expectations

Common Errors

Error / symptomCauseSolution
exomePeak2 errors on TxDb chromosome mismatchBAM uses chr1; GTF uses 1 (or reverse)Verify with samtools view -H and head genes.gtf; reconcile with seqlevelsStyle() in R
exomePeak2 reports zero peaksTxDb built from incorrect GTF; OR paired_end flag wrong; OR all peaks below FDR thresholdVerify TxDb covers same chromosomes as BAM; verify paired_end=TRUE for PE; relax pvalue_cutoff
MACS3 reports zero peaksDefault --keep-dup 1 collapsed signal; OR --nomodel not set; OR --gsize wrongAdd --keep-dup all --nomodel; confirm --gsize hs (2.7e9) or mm
MeTPeak install failsGitHub-only, requires devtoolsdevtools::install_github('compgenomics/MeTPeak')
MeTPeak metpeak() error on lowercase txdb=MeTPeak uses uppercase TXDB= (TxDb object) or GENE_ANNO_GTF= (file path); exomePeak2 uses lowercase txdb= — easy to confuseUse GENE_ANNO_GTF='annotation.gtf' or TXDB=txdb_object
HOMER DRACH motif not detectedAntibody failure OR wrong protocol OR insufficient peaks for motif detectionRe-inspect IP/input fingerprint in merip-preprocessing; verify peak count >>100
Peak file is empty BEDexomePeak2 silently filtered all peaksCheck pvalue_cutoff / fold_enrichment arguments; lower thresholds
Cross-tool peak intersect tinyTool-default thresholds differ; OR fragment length parameters differHarmonise thresholds across callers; reconcile via IDR-equivalent
exomePeak2 takes >24h on whole-genome BAMsLarge BAM + many transcriptsSubset to expressed transcripts; OR use more cores via downstream parallelisation
findMotifsGenome.pl error on chromosome naminghg38 vs HG38 vs Hg38Use lowercase hg38 consistently
ggseqlogo throws "sequences must be equal length"Mixed-length sequences passedResize peak ranges to fixed width: resize(peaks, width=5, fix='center')

Anticipated Reviewer Pushback

PushbackResponse
"How many peak callers were used?"Two minimum (exomePeak2 + MeTPeak or + MACS3); intersection reported as high-confidence; per-tool counts as supplementary
"Was filtering by DRACH applied?"No — DRACH reported as enrichment-on-the-peak-set (HOMER E-value); per-peak DRACH filtering drops 5-10% real m6A sites
"How were 5'UTR peaks handled?"Flagged peaks within 50 nt of TSS as m6A-or-m6Am ambiguous; restricted internal-m6A analyses to peaks past the 5'UTR; cited Linder 2015 / Mauer 2017 cross-reactivity
"What's the FDR threshold?"exomePeak2 default FDR 0.05; MACS3 q-value 0.05; peaks reported with both fold-change and FDR
"Was orthogonal validation done?"High-stakes sites validated against published miCLIP / GLORI / SAC-seq / m6A-Atlas; cross-method overlap reported
"Why exomePeak2 over MeTPeak?"exomePeak2 implements GC-bias correction; MeTPeak does not. For low-coverage datasets MeTPeak HMM smoothing helps; for typical datasets exomePeak2 is the field default
"Were failed IPs checked for?"Replicate IPs inspected via plotFingerprint AND per-transcript IP/input ratio distribution in merip-preprocessing BEFORE peak calling
"What's the cross-replicate peak overlap?"Reported per pair; expect ~80% within-lab per McIntyre 2020
"Was the peak set intersected with m6A-Atlas?"Yes — common-core overlap reported as a confidence anchor; novel peaks flagged for orthogonal validation
"Why weren't m6A-CLIP peaks called here?"miCLIP / m6A-CLIP single-nucleotide methods live in clip-seq/peak-calling; this skill is for fragment-level MeRIP peak calling

References

  • Dominissini D, Moshitch-Moshkovitz S, Schwartz S et al (2012) Topology of the human and mouse m6A RNA methylomes revealed by m6A-seq. Nature 485(7397):201-206. doi:10.1038/nature11112
  • Meyer KD, Saletore Y, Zumbo P, Elemento O, Mason CE, Jaffrey SR (2012) Comprehensive analysis of mRNA methylation reveals enrichment in 3' UTRs and near stop codons. Cell 149(7):1635-1646. doi:10.1016/j.cell.2012.05.003
  • Linder B, Grozhik AV, Olarerin-George AO, Meydan C, Mason CE, Jaffrey SR (2015) Single-nucleotide-resolution mapping of m6A and m6Am throughout the transcriptome. Nat Methods 12(8):767-772. doi:10.1038/nmeth.3453
  • Mauer J, Luo X, Blanjoie A et al (2017) Reversible methylation of m6Am in the 5' cap controls mRNA stability. Nature 541(7637):371-375. doi:10.1038/nature21022
  • Liu J, Yue Y, Han D et al (2014) A METTL3-METTL14 complex mediates mammalian nuclear RNA N6-adenosine methylation. Nat Chem Biol 10(2):93-95. doi:10.1038/nchembio.1432
  • Cui X, Meng J, Zhang S, Chen Y, Huang Y (2016) A novel algorithm for calling mRNA m6A peaks by modeling biological variances in MeRIP-seq data. Bioinformatics 32(12):i378-i385. doi:10.1093/bioinformatics/btw281
  • Meng J, Lu Z, Liu H, Zhang L, Zhang S, Chen Y, Rao MK, Huang Y (2014) A protocol for RNA methylation differential analysis with MeRIP-Seq data and exomePeak R/Bioconductor package. Methods 69(3):274-281. doi:10.1016/j.ymeth.2014.06.008
  • Liu J, Zhang Z, Meng J et al (2022) exomePeak2: a peak calling and differential analysis tool for MeRIP-Seq with bias awareness. NAR Genom Bioinform 4(3):lqac046. doi:10.1093/nargab/lqac046
  • Zhang Y, Liu T, Meyer CA et al (2008) Model-based analysis of ChIP-Seq (MACS). Genome Biol 9(9):R137. doi:10.1186/gb-2008-9-9-r137
  • Akichika S, Hirano S, Shichino Y et al (2019) Cap-specific terminal N6-methylation of RNA by an RNA polymerase II-associated methyltransferase. Science 363(6423):eaav0080. doi:10.1126/science.aav0080
  • Boulias K, Toczydłowska-Socha D, Hawley BR et al (2019) Identification of the m6Am methyltransferase PCIF1 reveals the location and functions of m6Am in the transcriptome. Mol Cell 75(3):631-643.e8. doi:10.1016/j.molcel.2019.06.006
  • Liu C, Sun H, Yi Y et al (2023) Absolute quantification of single-base m6A methylation in the mammalian transcriptome using GLORI. Nat Biotechnol 41(3):355-366. doi:10.1038/s41587-022-01487-9
  • Hu L, Liu S, Peng Y et al (2022) m6A RNA modifications are measured at single-base resolution across the mammalian transcriptome. Nat Biotechnol 40(8):1210-1219. doi:10.1038/s41587-022-01243-z
  • Garcia-Campos MA, Edelheit S, Toth U et al (2019) Deciphering the m6A code via antibody-independent quantitative profiling. Cell 178(3):731-747.e16. doi:10.1016/j.cell.2019.06.013
  • McIntyre ABR, Gokhale NS, Cerchietti L, Jaffrey SR, Horner SM, Mason CE (2020) Limits in the detection of m6A changes using MeRIP/m6A-seq. Sci Rep 10(1):6590. doi:10.1038/s41598-020-63355-3
  • Heinz S, Benner C, Spann N et al (2010) Simple combinations of lineage-determining transcription factors prime cis-regulatory elements required for macrophage and B cell identities. Mol Cell 38(4):576-589. doi:10.1016/j.molcel.2010.05.004
  • merip-preprocessing - IP/input BAM preparation, library complexity QC, and IP enrichment QC upstream of peak calling
  • m6a-differential - Compare peak sets between conditions; uses peaks called here as input
  • m6anet-analysis - Orthogonal validation of MeRIP peaks via ONT direct-RNA single-nucleotide resolution
  • modification-visualization - Metagene, browser-track, and peak-centred heatmap rendering of called peaks
  • clip-seq/peak-calling - miCLIP / m6A-CLIP single-nucleotide validation methods (PureCLIP, PEKA, paraclu)
  • clip-seq/clip-motif-analysis - Antibody-CLIP motif analysis context for cross-validation
  • chip-seq/peak-calling - General sliding-window IP-vs-input peak calling (MACS3 design lineage)
  • chip-seq/peak-annotation - Annotation of peaks against gene features (re-usable for m6A)
  • read-alignment/star-alignment - Splice-aware STAR alignment defaults referenced by merip-preprocessing
  • rna-quantification/featurecounts-counting - Peak count matrix construction (input to m6a-differential)
  • pathway-analysis/go-enrichment - GO enrichment on gene lists derived from peak-bearing transcripts
  • variant-calling/vcf-basics - Cross-reference m6A peaks against A-to-I edit sites (sometimes confounded)
  • data-visualization/multipanel-figures - Combining metagene + heatmap + volcano for figures

© GPTomics, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in epitranscriptomics/m6a-peak-calling of GPTomics/bioSkills.

  • SKILL.md
  • examples/exomepeak2_peaks.R
  • examples/macs3_peaks.sh
  • usage-guide.md

Open the folder on GitHubat commit d91ed3d

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in GPTomics/bioSkills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Bio Epitranscriptomics M6a Peak Calling next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Bio Epitranscriptomics M6a Peak Calling compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bio Epitranscriptomics M6a Peak Calling this skillGPTomics/bioSkills1.2k1 repos~8.5kAutomated safety check: PassMIT
EtetoolkitK-Dense-AI/scientific-agent-skills48k1 repos~3.3kAutomated safety check: NotesGPL-3.0-or-later
Treatment PlansK-Dense-AI/claude-scientific-writer2.4k1 repos~2.7kAutomated safety check: PassMIT
Consistency Checkerfranklee16/academic-research-skills223—~2.6kAutomated safety check: PassNone
Stata Accounting Researchbrycewang-stanford/Auto-Empirical-Research-Skills4.5k1 repos~1.2kAutomated safety check: PassCustom licence
Bio Crispr Screens Jacks AnalysisFreedomIntelligence/OpenClaw-Medical-Skills3.1k—~2.3kAutomated safety check: PassNone

Similar skills

  • Etetoolkit

    K-Dense-AI/scientific-agent-skills

    Analyzes, manipulates, compares, annotates, and visualizes phylogenetic or other hierarchical trees with ETE 4.

    48k GitHub starsUsed in 1 repo~3.3k tokens
    Research & ScienceAuto-check: notes
  • Treatment Plans

    K-Dense-AI/claude-scientific-writer

    Format and structurally validate local treatment-plan documentation after clinical decisions have already been supplied and verified by authorized licensed professionals.

    2.4k GitHub starsUsed in 1 repo~2.7k tokens
    Research & ScienceAuto-check passed
  • Consistency Checker

    franklee16/academic-research-skills

    Systematic pre-submission consistency audit for academic manuscripts in accounting/finance.

    223 GitHub stars~2.6k tokensUpdated 21 days ago
    Research & ScienceAuto-check passed
  • Stata Accounting Research

    brycewang-stanford/Auto-Empirical-Research-Skills

    STATA code pattern library for empirical archival accounting research.

    4.5k GitHub starsUsed in 1 repo~1.2k tokens
    Research & ScienceAuto-check passed
  • Bio Crispr Screens Jacks Analysis

    FreedomIntelligence/OpenClaw-Medical-Skills

    JACKS (Joint Analysis of CRISPR/Cas9 Knockout Screens) for modeling sgRNA efficacy and gene essentiality.

    3.1k GitHub stars~2.3k tokensUpdated 2 mo ago
    Research & ScienceAuto-check passed
  • Stata Accounting Guide

    brycewang-stanford/Auto-Empirical-Research-Skills

    STATA code for empirical accounting and financial economics research

    4.5k GitHub stars~2.4k tokensUpdated 4 days ago
    Research & ScienceAuto-check passed

More from GPTomics/bioSkills

All 559 skills in this repo
  • Bio Alignment Io

    GPTomics/bioSkills

    Read, write, and convert multiple sequence alignment files using Biopython Bio.AlignIO.

    1.2k GitHub starsUsed in 3 repos~4.9k tokens
    Auto-check passed
  • bioSkills Installer

    GPTomics/bioSkills

    Installs the bioSkills collection of 425 bioinformatics skills in one step, or only chosen categories, so sequencing, RNA-seq, single-cell and variant tasks get specialized help.

    1.2k GitHub starsUsed in 1 repo~789 tokens
    Auto-check passed
  • Bio Write Sequences

    GPTomics/bioSkills

    Write biological sequences to files (FASTA, FASTQ, GenBank, EMBL) using Biopython Bio.SeqIO.

    1.2k GitHub starsUsed in 3 repos~2.1k tokens
    Auto-check passed
  • Amplicon Primer Clipping

    GPTomics/bioSkills

    Soft- or hard-clips PCR primer footprints from aligned amplicon BAMs so primer bases stop masquerading as confirmed reference sequence.

    1.2k GitHub starsUsed in 2 repos~2.2k tokens
    Auto-check passed
  • Filters BAM alignments by FLAG bits, mapping quality and regions with samtools view or pysam, with recipes for common keep and drop cases.

    1.2k GitHub starsUsed in 2 repos~3.6k tokens
    Auto-check passed
  • Bio Alignment Indexing

    GPTomics/bioSkills

    Create and use BAI/CSI indices for BAM/CRAM files using samtools and pysam.

    1.2k GitHub starsUsed in 2 repos~2.4k tokens
    Auto-check passed

Questions about Bio Epitranscriptomics M6a Peak Calling

What does Bio Epitranscriptomics M6a Peak Calling do?

Calls m6A peaks from MeRIP-seq / m6A-seq paired IP-vs-input data using exomePeak2 (transcript-aware, GC-bias-corrected Poisson GLM), MeTPeak (HMM over sliding windows), MACS3/MACS2 with --nomodel…. Bio Epitranscriptomics M6a Peak Calling is an agent skill from GPTomics/bioSkills. Calls m6A peaks from MeRIP-seq / m6A-seq paired IP-vs-input data using exomePeak2 (transcript-aware, GC-bias-corrected Poisson GLM), MeTPeak (HMM over sliding windows), MACS3/MACS2 with --nomodel --broad --keep-dup all (genome-wide broad alternative), and DRACH motif enrichment via HOMER or ggseqlogo as a sanity check (NOT a filter).

When should I use Bio Epitranscriptomics M6a Peak Calling?

Bio Epitranscriptomics M6a Peak Calling fits situations like: calling peaks from paired IP/input genome BAMs; choosing exomePeak2 (transcript-aware default) vs MACS3 (broad genomic) vs MeTPeak (HMM-smoothed low-coverage); confirming DRACH enrichment as a sanity check on the peak set; reconciling differing peak sets across tools.

How do I install Bio Epitranscriptomics M6a Peak Calling in Claude Code?

Run `npx skills add GPTomics/bioSkills --skill bio-epitranscriptomics-m6a-peak-calling -a claude-code`. Or copy the skill folder (epitranscriptomics/m6a-peak-calling in GPTomics/bioSkills) into .claude/skills/bio-epitranscriptomics-m6a-peak-calling in your project. Claude Code loads it when a task matches its description.

How do I install Bio Epitranscriptomics M6a Peak Calling in Codex?

Run `npx skills add GPTomics/bioSkills --skill bio-epitranscriptomics-m6a-peak-calling -a codex`. Or copy the skill folder (epitranscriptomics/m6a-peak-calling in GPTomics/bioSkills) into .agents/skills/bio-epitranscriptomics-m6a-peak-calling in your project. Codex loads it when a task matches its description.

Can I use Bio Epitranscriptomics M6a Peak Calling in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GPTomics/bioSkills --skill bio-epitranscriptomics-m6a-peak-calling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bio-epitranscriptomics-m6a-peak-calling, .gemini/skills/bio-epitranscriptomics-m6a-peak-calling, .github/skills/bio-epitranscriptomics-m6a-peak-calling and .opencode/skills/bio-epitranscriptomics-m6a-peak-calling in your project.

What does Bio Epitranscriptomics M6a Peak Calling need to run?

Going by SKILL.md and its folder, Bio Epitranscriptomics M6a Peak Calling needs R and a shell for the scripts in its folder. Our summary lists: A Bash shell.

Does Bio Epitranscriptomics M6a Peak Calling access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Bio Epitranscriptomics M6a Peak Calling safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Bio Epitranscriptomics M6a Peak Calling use?

Bio Epitranscriptomics M6a Peak Calling is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bio Epitranscriptomics M6a Peak Calling use?

About 8.5k tokens (SKILL.md is roughly 34k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Bio Epitranscriptomics M6a Peak Calling?

Skills that share tags, products or a category with Bio Epitranscriptomics M6a Peak Calling: Etetoolkit (K-Dense-AI/scientific-agent-skills, 48k stars), Treatment Plans (K-Dense-AI/claude-scientific-writer, 2.4k stars), Consistency Checker (franklee16/academic-research-skills, 223 stars) and Stata Accounting Research (brycewang-stanford/Auto-Empirical-Research-Skills, 4.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bio Epitranscriptomics M6a Peak Calling?

GPTomics (a GitHub organization) maintains it in GPTomics/bioSkills, which has 1,217 GitHub stars. The repository holds 559 skills in this directory. The repository was last updated on August 15, 2026.

Source: GPTomics/bioSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.