Pooling replicates may not be the most appropriate method, e.g., it does not account for differences across replicates. Instead use either of the followings:
- call peaks on each of the replicates separately using MACS, then process the replicates using MSPC, which keeps only reproducible peaks (combines p-values and then applies a threshold on their right-tail probability) and generates a set of "consensus" peaks.
- use comparative peak callers such as jMOSAiCS, which is specifically developed to call peaks considering multiple replicates.
- last option could be IDR, AFAIK it does not account for replicate type and does not consider strong peaks as "reproducible" if they are not overlapping with other peaks. This can lead to discarding true-binding sites who have significant p-value but not overlapping with peaks from other replicates; one can argue that such peaks reflect expected discrepancy between biological replicates (as opposed to technical replicates). Therefore, discarding them may not be the best practice. However, MSPC can "confirm" strong peaks in bio reps even if they do not overlap with any other peak (this is a configurable as you can adjust it with its
You can use ENCODE IDR pipeline with peak caller as MACS2 to call peaks which are reproducible across replicates. Here is the link : https://sites.google.com/site/anshulkundaje/projects/idr