Git Product home page Git Product logo

nfchipseq's Introduction

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

nfchipseq's People

Contributors

drpatelh avatar chuan-wang avatar ewels avatar tiagochst avatar apeltzer avatar gauravj49 avatar drewjbeh avatar maxulysse avatar rotholandus avatar sofiahag avatar winni2k avatar mashehu avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.