Poisson-model peak caller for ChIP-seq/ATAC-seq BAMs. MACS3 callpeak finds enriched regions (TF sites or histone marks) vs input/IgG; outputs BED narrowPeak/broadPeak for motif analysis, annotation, and differential binding. Use narrow peaks for TF ChIP-seq and ATAC-seq; broad for H3K27me3, H3K9me3, and other broad marks.
SkillScore100Maintained
Automatic
◆Research pack
Last verified 8/23/2026
What it changes
Passed 20 of 20 test cases with the skill, and 15 of 20 without it.
Without skill77%
With skill100%
Checks it passed that the model alone missed
Sorts raw BAM files before indexing
Invokes `macs3` as the executable command name
Indexes sorted BAM files using `samtools index`
and 2 more in the full report
5 fixed17 passed either way0 still failing0 broke
Pass-rate lift
+23 pp
Tokens
+197%
Agent turns
0%
Response time
-30%
Model gemini-3.6-flashMeasured 8/23/2026v1 · latest is v222 of 22 cases passed with skill · 20 comparable
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
See it in action
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 3
Prompt
I have aligned paired-end ATAC-seq data in `sample_atac.bam` mapped to the human genome. I need a terminal command to run peak calling on this sample to locate open chromatin sites. Make sure duplicate reads are handled suitably for ATAC-seq, model building is skipped, and the results are directed to an output folder called `results_atac`.
What was checked, without and with the skill
Checked
Without skill
With skill
Invokes `macs3` as the executable command name
Missed
Passed
Disables model building and specifies paired-end alignment format
Passed
Passed
Retains all duplicate reads instead of removing them
Passed
Passed
case-01 · gemini-3.6-flash · 8/23/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md400 linessingle file
MACS3 — ChIP-seq and ATAC-seq Peak Caller
Overview
MACS3 (Model-based Analysis of ChIP-seq) identifies regions of significant read enrichment (peaks) from ChIP-seq, ATAC-seq, CUT&RUN, and CUT&TAG experiments. It models the fragment length distribution from paired-end data or estimates it from mono-nucleosomal read shifting in single-end data, then applies a Poisson model to identify fold-enrichment over an input/IgG control. MACS3 produces BED-format narrowPeak (for transcription factors) or broadPeak (for histone marks) files with signal and q-value tracks for visualization in IGV or UCSC Genome Browser.
When to Use
Calling transcription factor binding peaks from ChIP-seq experiments (use --nomodel --extsize 200 or let MACS3 estimate fragment length)
Identifying open chromatin regions from ATAC-seq experiments (use --nomodel --shift -100 --extsize 200 -f BAMPE)
Calling broad histone modification peaks (H3K27me3, H3K9me3, H3K36me3) with --broad
Generating peak signal tracks (bedGraph/bigWig) for genome browser visualization with -B --SPMR
Performing differential binding analysis: MACS3 peaks as input to DiffBind or DESeq2
Use HMMRATAC (part of MACS3) for nucleosome-resolution ATAC-seq peak calling
Use SPP or HOMER as alternatives; MACS3 is the ENCODE-recommended standard
Prerequisites
Python packages: macs3 (Python ≥ 3.8)
Input: Sorted BAM files (with index) from ChIP-seq or ATAC-seq alignment (e.g., using STAR or Bowtie2)
Optional: Input/IgG control BAM for background normalization
Check before installing: The tool may already be available in the current environment (e.g., inside a pixi / conda env). Run command -v macs3 first and skip the install commands below if it returns a path. When running inside a pixi project, invoke the tool via pixi run macs3 rather than bare macs3.
# Install with pip or conda
pip install macs3
# or
conda install -c bioconda macs3
# Verify
macs3 --version
# macs3 3.0.2
Pre-flight Interview
Settle these with the user before writing any analysis code.