/chipseq

ChIP-seq peak-calling, QC and differential analysis pipeline.

Primary LanguageNextflowMIT LicenseMIT

nf-core/chipseq

GitHub Actions CI Status GitHub Actions Linting Status Nextflow DOI

install with bioconda Docker Get help on Slack

Introduction

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)

Quick Start

  1. Install nextflow

  2. Install either Docker or Singularity for full pipeline reproducibility (please only use Conda as a last resort; see docs)

  3. Download the pipeline and test it on a minimal dataset with a single command:

    nextflow run nf-core/chipseq -profile test,<docker/singularity/conda/institute>

    Please check nf-core/configs to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use -profile <institute> in your command. This will enable either docker or singularity and set the appropriate execution settings for your local compute environment.

  4. Start running your own analysis!

    nextflow run nf-core/chipseq -profile <docker/singularity/conda/institute> --input design.csv --genome GRCh37

See usage docs for all of the available options when running the pipeline.

Documentation

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

Credits

These scripts were originally written by Chuan Wang (@chuan-wang) and Phil Ewels (@ewels) for use at the National Genomics Infrastructure at SciLifeLab in Stockholm, Sweden. The pipeline 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 and contributed along the way too, including (but not limited to): @apeltzer, @bc2zb, @crickbabs, @drejom, @houghtos, @KevinMenden, @mashehu, @pditommaso, @Rotholandus, @sofiahaglund, @tiagochst and @winni2k.

Contributions and Support

If you would like to contribute to this pipeline, please see the contributing guidelines.

For further information or help, don't hesitate to get in touch on the Slack #chipseq channel (you can join with this invite).

Citation

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

You can cite the nf-core publication as follows:

An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.

The nf-core framework for community-curated bioinformatics pipelines.

Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.

Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.
ReadCube: Full Access Link