This is a test version of Biostars. For the public version, visit https://www.biostars.org.
MACS2 `--keep-dup all` parameter produces 10x more peaks

I am analyzing Cut&Run paired-end data (BAMPE mode), where removing duplicates is not recommended. I ran MACS2 (v2.2.8) twice — with --keep-dup all and without setting --keep-dup explicitly — and the duplicate-retaining run yields ~10x more peaks (around ten thousand).

Comparing the same locus in both runs (q-value cutoffs deliberately relaxed in the run without keeping duplicates run to allow comparison):

chr  start     end       length  pileup  -log10(pval)  fold_enrichment  -log10(qval)
11   10451440  10452080  641     12.23   4.93853       3.29786          1.50597   # keep-dup all
11   10451489  10452080  592     10.07   4.39938       3.2399           0.614927  # default

The pileup difference is modest , yet the q-value difference is large (1.51 vs 0.61). Visually in IGV, the tracks look nearly identical:

From the top track:

  • Track 1: ChIP (with duplicates)
  • Track 2: Input (with duplicates)
  • Track 3: ChIP (Picard-deduplicated, for visualization only)
  • Track 4: Input (Picard-deduplicated, for visualization only)

enter image description here

(Picard deduplication was used only for IGV visualization, not as MACS2 input)

I am not sure what could explain the large difference in q-values between the two runs, given the small difference in pileup.

Could you suggest routes of investigation?

macs2 duplicates

I always use deduplication to call peaks, regardless what any literature says. If you don't then you get in my experience a lot of spurious peaks based on PCR amplification of the same fragments. The q-value is hard to interpret as it depends on the total number of tests, the magnitude of the nominal p-value and the rank of the peak compared to all others. My advise is to use deduplication and use standard cutoffs. Everything else is not strictly wrong, but harder to justify, and not necessarily better.

0 answers

No answers yet.

Log in to answer this question.