henhaobio
Sign in

bioRxivBioinformaticsPreprint

Improved peak-calling with MACS2

John M. GaspariD

PDFDOICode

Abstract

The computational analyses of genome-enrichment assays, such as ChIP-seq and ATAC-seq, are typically concluded with a peak-calling program that identifies genomic regions that are significantly enriched. The most popular peak-caller, MACS2, assumes that the input alignment files are for single-end sequence reads by default, yet those with paired-end Illumina sequence data frequently use this default setting. This leads to erroneous coverage values and suboptimal peak identification. However, using the correct paired-end mode can introduce another set of artifacts. After thoroughly reviewing the MACS2 source code, we have modified it to limit these and other problems. Our updated version is freely available (https://github.com/jsh58/MACS).

In-depth summary

Claude Opus 5.5 · xhigh effort · 8 Nov 2026 · from the full text of version 1 (17 Dec 2018) · CC BY 4.0

Running MACS2 in default single-end mode on paired-end ATAC-seq miscalculates fragment coverage and calls low-coverage peaks; a modified MACS2 adds peak-length and gap parameters and fixes calculation bugs.

MACS2, the most popular peak caller by the paper's account (over 3,000 citations as of October 2018), assumes single-end input by default, and a survey of May-June 2018 papers found more than half a dozen paired-end studies analysed that way, which discards R2 reads and distorts fragment coverage. On a published dataset from the Omni-ATAC study the paper measures the cost to peak calls and releases a modified MACS2 with user-set minimum peak length and gap thresholds plus bug fixes.

Key results

  1. ShownIn default single-end mode, MACS2 drops R2 reads and extends each R1 read to a fixed length, so fragment coverage computed on paired-end ATAC-seq is often badly wrong.

    In the Corces et al. Omni-ATAC data run with '--nomodel', reads were extended to 200bp, yet only 21.7% of fragments were within 10% of 200bp. Over 40% of positions with true coverage of at least five had computed coverage off by at least 50%; in SRR5427884, at positions with true coverage of at least five, coverage was calculated correctly only 12% of the time. · Abstract; Figure legends

  2. ShownThe coverage errors carry through to peaks: single-end mode calls many peak bases with little real fragment support; paired-end mode ('-f BAMPE') reduces these low-coverage peak bases while also adding some peaks.

    Of 17.5Mbp of single-end peak bases (sample SRR5427884), 32.2% had true fragment coverage below three. Paired-end mode gave fewer peaks overall and fewer low-coverage peak bases, and called nearly 1Mbp of additional peaks at coverage above two. Example loci show single-end peaks without apparent enrichment (a 257bp peak near MYRF). · Abstract; Figure legends

  3. SuggestedPaired-end mode can miss real signal because original MACS2 sets the minimum peak length to the average fragment length; the modified version exposes '--min-length' (default 100bp) and '--max-gap' (default 50bp) as user parameters.

    In SRR5427884 a significant 129bp region at the TTF1 transcription start site was discarded because the minimum length was 174bp. With '--min-length 100', overlap between single-end and paired-end peak sets increased (Fig. 1D, Supplementary Fig. 6); the text reports no overlap counts. · Abstract; MACS2 modifications; Figure legends

  4. SuggestedAn unresolved hash collision in MACS2 miscalculates p-scores and q-scores in 'callpeak' and 'bdgcmp', which can falsely extend peaks; the modified version fixes it.

    In SRR5427886 (run with dynamic lambda), a 1968bp peak over the CTCF transcription start site included a leading 175bp with no significant positions, attached through a single miscalculated q-value caused by the collision (Supplementary Fig. 7). · MACS2 modifications; Figure legends

  5. ClaimedFurther fixes in v2.1.2_dev: corrected average fragment length in paired-end 'callpeak', reduced p-score errors at large control lambda, and double-precision scoring via 'bdgcmp' functions instead of single precision.

    Listed among the code changes to MACS2 v2.1.1.20160309; the text presents no data on how these fixes alter peak calls. · MACS2 modifications

Methods, data and reproducibility

Six paired-end ATAC-seq samples from the Corces et al. (Omni-ATAC) study were re-processed (NGmerge trimming, Bowtie2 alignment to hg19, filtering) and peaks called with MACS2 v2.1.1 in single-end ('-f BAM --nomodel'), paired-end ('-f BAMPE') and modified paired-end ('--min-length 100') modes; coverage accuracy and peak-set overlap were compared with BEDTools, alongside source-code fixes to MACS2.

  • Paired-end ATAC-seq samples from the Corces et al. Omni-ATAC study (raw fastq from NCBI SRA) · human (reads aligned to hg19) · n = six samples · SRP103230
Methods & tools
MACS2 v2.1.1.20160309, modified MACS2 v2.1.2_dev, NGmerge v0.2, Bowtie2 v2.3.2, SAMtools v1.5, BEDTools v2.26.0, IGV v2.4.9, NCBI SRA, hg19 reference genome
Software & environment
Versions stated: NGmerge v0.2, Bowtie2 v2.3.2, SAMtools v1.5, MACS2 v2.1.1.20160309 (modified: v2.1.2_dev), BEDTools v2.26.0, IGV v2.4.9; no container or requirements file mentioned.
Assay conditions & compute
Run on Harvard's Odyssey cluster (FAS Research Computing); no hardware, run time or memory figures given.
Reproducibility gaps
Raw data of the reused Corces et al. study are given as NCBI SRA accession SRP103230 (no URL printed); the Supplementary Table with dataset details is not in the text; no analysis scripts beyond the stated command-line parameters.
Limitations (3)
  • Paired-end mode lowers apparent false positives but makes some false negatives more likely, since original MACS2 drops significant regions shorter than the average fragment length (the motivation for '--min-length'). · stated by the authors
  • All evidence comes from one published dataset from the Omni-ATAC study (six human samples), with single-end mode tested only as '--nomodel'; with no ground-truth peaks, false positives and negatives are inferred from fragment coverage and example loci. · noted in this summary
  • Gains from the new parameters and fixes are not quantified in the text: overlap changes appear only in figures, and the fragment-length, large-lambda and precision fixes come with no supporting data. · noted in this summary

Read this if you call peaks with MACS2 on paired-end ATAC-seq or ChIP-seq data and want to know which input mode to use and what the defaults get wrong.

Citations
304

Reproducibility ledger

Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.

Sign in to file a reproducibility report.

Similarity Map
SelectedSame fieldCross-field
THISHung '26Zhao '21Chitpin '19Zhang '08Awdeh '21Grytten '19
65% semantic matchBioinformatics
Ling‐Hong Hung, Ka Yee Yeung·bioRxiv·Aug 23, 2026