nfcore/chipseq is a bioinformatics analysis pipeline used for Chromatin ImmunopreciPitation sequencing (ChIP-seq) data.

The pipeline is built using Nextflow, a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker containers making installation trivial and results highly reproducible.

Pipeline summary

  1. Raw read QC (FastQC)
  2. Adapter trimming (Trim Galore!)
  3. Alignment (BWA)
  4. Mark duplicates (picard)
  5. Merge alignments from multiple libraries of the same sample (picard)
    1. Re-mark duplicates (picard)
    2. Filtering to remove:
      • reads mapping to blacklisted regions (SAMtools, BEDTools)
      • reads that are marked as duplicates (SAMtools)
      • reads that arent marked as primary alignments (SAMtools)
      • reads that are unmapped (SAMtools)
      • reads that map to multiple locations (SAMtools)
      • reads containing > 4 mismatches (BAMTools)
      • reads that have an insert size > 2kb (BAMTools; paired-end only)
      • reads that map to different chromosomes (Pysam; paired-end only)
      • reads that arent in FR orientation (Pysam; paired-end only)
      • reads where only one read of the pair fails the above criteria (Pysam; paired-end only)
    3. Alignment-level QC and estimation of library complexity (picard, Preseq)
    4. Create normalised bigWig files scaled to 1 million mapped reads (BEDTools, bedGraphToBigWig)
    5. Generate gene-body meta-profile from bigWig files (deepTools)
    6. Calculate genome-wide IP enrichment relative to control (deepTools)
    7. Calculate strand cross-correlation peak and ChIP-seq quality measures including NSC and RSC (phantompeakqualtools)
    8. Call broad/narrow peaks (MACS2)
    9. Annotate peaks relative to gene features (HOMER)
    10. Create consensus peakset across all samples and create tabular file to aid in the filtering of the data (BEDTools)
    11. Count reads in consensus peaks (featureCounts)
    12. Differential binding analysis, PCA and clustering (R, DESeq2)
  6. Create IGV session file containing bigWig tracks, peaks and differential sites for data visualisation (IGV).
  7. Present QC for raw read, alignment, peak-calling and differential binding results (MultiQC, R)


The nf-core/chipseq pipeline comes with documentation about the pipeline, found in the docs/ directory:

  1. Installation
  2. Pipeline configuration
  3. Running the pipeline
  4. Output and how to interpret the results
  5. Troubleshooting


These scripts were orginally written by Chuan Wang (@chuan-wang) and Phil Ewels (@ewels) for use at the National Genomics Infrastructure at SciLifeLab in Stockholm, Sweden. It has since been re-implemented by Harshil Patel (@drpatelh) from The Bioinformatics & Biostatistics Group at The Francis Crick Institute, London.

Many thanks to others who have helped out along the way too, including (but not limited to): @apeltzer, @bc2zb, @drejom, @KevinMenden, @pditommaso.


If you use nf-core/chipseq for your analysis, please cite it using the following doi: 10.5281/zenodo.3240507

You can cite the nf-core pre-print as follows:
Ewels PA, Peltzer A, Fillinger S, Alneberg JA, Patel H, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. nf-core: Community curated bioinformatics pipelines. bioRxiv. 2019. p. 610741. doi: 10.1101/610741.