If you are performing differential analysis between 2 conditions you should not use IDR peaks. Instead do the following.
- For each of your conditions, first make sure all your replicates are reasonably equivalent. i.e. Run pairwise comparisons using IDR and if some replicate shows dramatically different results when paired with several other replicates drop those.
- Pool reads from all your replicates for condition 1 and call narrow peaks with MACS2 using a relaxed pvalue threshold of 0.01
- Pool reads from all your replicates for condition 2 and call narrow peaks with MACS2 using a relaxed pvalue threshold of 0.01
- Take a union of these peaks from both conditions i.e. a set of merged peak coordinates across both conditions.
- Now for each of these merged regions, obtain read counts from all replicates of condition 1 (after matching their sequencing depth reasonably well). E.g. you can pool some of your low depth samples into a single high depth replicate so that it reasonably matches the other high depth replicates
- For each of these merged regions, obtain read counts from all replicates of condition 2 (after matching their sequencing depth reasonably well). E.g. you can pool some of your low depth samples into a single high depth replicate so that it reasonably matches the other high depth replicates
- Feed these into DESeq or EdgeR to obtain differential calls.
There are variations of this protocol that could work better or worse but this one should do well enough. It is not recommended to use replicates with very large differences in depth. Depth normalization strategies do not work in such situations where samples are far from saturation.
-Anshul.