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)
(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?
0 answers
No answers yet.
Log in to answer this question.
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.