Agent skill · Data & Analytics

bio-chipseq-peak-calling

Calls ChIP-seq peaks with MACS3, MACS2, HOMER, or SPP across narrow (TF) and broad (histone) modes. Handles input control matching, fragment-size modeling vs --nomodel, effective genome size, ENCODE-style IDR vs naive overlap, hyper-ChIPable artifacts, and aligner-specific shifts. Use when calling peaks from ChIP-seq alignments, choosing between narrow vs broad mode for a histone mark, deciding model vs nomodel for low-depth data, applying ENCODE pseudoreplicate IDR, or reconciling MACS vs HOMER vs SPP results.

BioTender-maxgithub.com/BioTender-maxGitHub ↗
claude-codeships scriptsNOASSERTION
Install
npx skills add BioTender-max/awesome-bio-agent-skills --skill peak-calling --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 3
SKILL.md size: 19 KB
Bundled scripts: yes
Path: skills/bioskills/peak-calling/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 135
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Calls ChIP-seq peaks with MACS3, MACS2, HOMER, or SPP across narrow (TF) and broad (histone) modes. Handles input control matching, fragment-size modeling vs --nomodel, effective genome size, ENCODE-style IDR vs naive overlap, hyper-ChIPable artifacts, and aligner-specific shifts. Use when calling peaks from ChIP-seq alignments, choosing between narrow vs broad mode for a histone mark, deciding model vs nomodel for low-depth data, applying ENCODE pseudoreplicate IDR, or reconciling MACS vs HOMER vs SPP results.

How it works

The skill instructs the agent to perform peak calling using the specified tools (MACS3, MACS2, HOMER, SPP) with appropriate flags aligned to TF vs histone targets (e.g., narrow vs broad, --nomodel with --extsize when needed). It emphasizes validating antibody quality, fragment-size distribution, and input-control matching before running. It provides concrete command patterns for TF and histone pipelines, including how to apply IDR for TFs and naive overlap for histones, as well as replicate handling (IDR for TFs, naive overlap for histones). It describes how to choose between model-based sizing and nomodel, and how to adjust effective genome size (-g) and fragment length considerations. It lists potential failure modes (e.g., silent model-size failures, misclassified breadth) and recommended fixes (e.g., switch to --nomodel, adjust --mfold, or use --broad with specific cutoffs). It also details how to reconcile results between call tools and how to handle aligner-specific shifts like chromap.

When to use it

Use when calling peaks from ChIP-seq alignments and you need to decide between narrow vs broad mode for histone marks, decide model vs nomodel for low-depth data, apply ENCODE pseudoreplicate IDR, or reconcile differences between MACS vs HOMER vs SPP results.

What it can touch

Refer to tool-specific commands and flags for MACS2/MACS3, MACS3 hmmratac, SPP, and HOMER. It discusses inputs like BAM/BED tagAligns, input controls, and replicate handling workflows; it references bedtools for naive overlap and idr for TF replication assessment. The content includes concrete CLI examples using macs2 callpeak, macs3 callpeak, and related commands, as well as idr and bedtools usage.

Caveats

Notes cover antibody validation requirements, fragment-size sanity checks, and input-control matching caveats. It discusses hyper-ChIPable regions, ENCODE blacklist considerations, and differences between ENCODE 3 and ENCODE 4 pipelines regarding TF vs histone peak ranking and replicates handling. It warns about not mixing chromap-specific shifts with standard ChIP workflows and highlights potential failure modes with suggested remedies.

From the SKILL.md

## Version Compatibility Reference examples tested with: MACS3 3.0.4+, MACS2 2.2.9+, HOMER 4.11+, SPP 1.16+, samtools 1.19+, bedtools 2.31+, IDR 2.0.4+. Before running, verify versions: `<tool> --version` and `<tool> --help` to confirm flags. If a flag is missing, check the changelog — MACS2->MACS3 is API-compatible for `callpeak` but `predictd`, `bdgpeakcall`, and `hmmratac` differ. # ChIP-seq Peak Calling **"Identify protein-DNA binding sites from ChIP-seq alignments"** -> Detect statistically enriched genomic regions by comparing IP signal to input control (or genomic background), with peak shape (narrow/broad) determined by target biology (TF vs histone mark). - CLI (ENCODE TF default): `macs2 callpeak -t chip.bam -c input.bam -f BAM -g hs -n sample --keep-dup all -p 1e-2` - CLI (ENCODE histone default): same with `--broad --broad-cutoff 0.1` for H3K27me3, H3K9me3, H3K36me3 - CLI (alternative): `macs3 callpeak ...` (API-identical, active development), HOMER `findPeaks tags/ -style histone -i input_tags/`, SPP via phantompeakqualtools wrapper ENCODE TF pipeline still uses **SPP for peak ranking + IDR**, with MACS2 producing the signal tracks. Histone pipeline uses **MACS2 + naiv

What's inside
Steps it walks through
  1. Version Compatibility
  2. Critical Pre-Call Validation
  3. Algorithmic Taxonomy
  4. Decision: Narrow vs Broad
  5. Decision: Model vs --nomodel
  6. Effective Genome Size — Often Wrong, Always Matters
  7. Hyper-ChIPable Regions Are a Persistent Artifact
  8. Pipeline Reference: ENCODE TF vs Histone
  9. Replicate Handling: IDR vs Naive Overlap
  10. ENCODE 3 vs ENCODE 4 Differences
  11. Per-Tool Failure Modes
  12. MACS2/3 -- Silent fragment-size model failure
  13. MACS2/3 -- Confounded narrow vs broad on intermediate marks
  14. MACS2/3 -- --call-summits double-counts
Ships with 2 files
  • examples/macs3_peak_calling.sh
  • usage-guide.md
Commands it runs
Per-replicate (loose) — IDR tightens downstream
macs2 callpeak -t rep1.tagAlign.gz -c input.tagAlign.gz \
Repeat for rep2, pooled, and pseudoreplicates (split each rep into halves)
Score peaks by signalValue, sort, run IDR (see Replicate Handling below)
Broad marks: H3K27me3, H3K9me3, H3K36me3
Naive overlap: a peak passes if it appears in ≥2 of N replicates
with ≥40% reciprocal overlap (ENCODE default, often misquoted as 50%)
bedtools intersect -a rep1.broadPeak -b rep2.broadPeak -f 0.40 -r -u > naive_overlap.bed
sort -k8,8nr rep1.narrowPeak > rep1.sorted
sort -k8,8nr rep2.narrowPeak > rep2.sorted
More from awesome-bio-agent-skills
All skills →
About this skill
What does the bio-chipseq-peak-calling skill do?

Calls ChIP-seq peaks with MACS3, MACS2, HOMER, or SPP across narrow (TF) and broad (histone) modes. Handles input control matching, fragment-size modeling vs --nomodel, effective genome size, ENCODE-style IDR vs naive overlap, hyper-ChIPable artifacts, and aligner-specific shifts. Use when calling peaks from ChIP-seq alignments, choosing between narrow vs broad mode for a histone mark, deciding model vs nomodel for low-depth data, applying ENCODE pseudoreplicate IDR, or reconciling MACS vs HOMER vs SPP results.

How do I install it?

Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill peak-calling --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From BioTender-max/awesome-bio-agent-skills, a repository with 135 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going