Skip to content

Analysis pipeline to detect germline or somatic variants (pre-processing, variant calling and annotation) from WGS / targeted sequencing

License

Notifications You must be signed in to change notification settings

umb-oconnorgroup/sarek

 
 

Repository files navigation

nf-core/sarek

An open-source analysis pipeline to detect germline or somatic variants from whole genome or targeted sequencing

Nextflow nf-core DOI

GitHub Actions CI status GitHub Actions Linting status CircleCi build status

install with bioconda Docker Get help on Slack

Introduction

Sarek is a workflow designed to detect variants on whole genome or targeted sequencing data. Initially designed for Human, and Mouse, it can work on any species with a reference genome. Sarek can also handle tumour / normal pairs and could include additional relapses.

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.

It's listed on Elixir - Tools and Data Services Registry and Dockstore.

Quick Start

  1. Install Nextflow (>=20.04.0)

  2. Install any of Docker, Singularity, Podman, Shifter or Charliecloud 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/sarek -profile test,<docker/singularity/podman/shifter/charliecloud/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/sarek -profile <docker/singularity/podman/shifter/charliecloud/conda/institute> --input '*.tsv' --genome GRCh38

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

Pipeline Summary

By default, the pipeline currently performs the following:

  • Sequencing quality control (FastQC)
  • Map Reads to Reference (BWA mem)
  • Mark Duplicates (GATK MarkDuplicatesSpark)
  • Base (Quality Score) Recalibration (GATK BaseRecalibrator, GATK ApplyBQSR)
  • Preprocessing quality control (samtools stats)
  • Preprocessing quality control (Qualimap bamqc)
  • Overall pipeline run summaries (MultiQC)

Documentation

The nf-core/sarek pipeline comes with documentation about the pipeline: usage and output.

Credits

Sarek was developed at the National Genomics Infastructure and National Bioinformatics Infastructure Sweden which are both platforms at SciLifeLab, with the support of The Swedish Childhood Tumor Biobank (Barntumörbanken). QBiC later joined and helped with further development.

Main authors:

Helpful contributors:

Contributions & 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 #sarek channel (you can join with this invite), or contact us: Maxime Garcia, Szilvester Juhos

CHANGELOG

Acknowledgements

Barntumörbanken SciLifeLab
National Genomics Infrastructure National Bioinformatics Infrastructure Sweden
QBiC

Citations

If you use nf-core/sarek for your analysis, please cite the Sarek article as follows:

Garcia M, Juhos S, Larsson M et al. Sarek: A portable workflow for whole-genome sequencing analysis of germline and somatic variants [version 2; peer review: 2 approved] F1000Research 2020, 9:63 doi: 10.12688/f1000research.16665.2.

You can cite the sarek zenodo record for a specific version using the following doi: 10.5281/zenodo.3476426

In addition, references of tools and data used in this pipeline can be found in the CITATIONS.md file.

You can cite the nf-core publication as follows:

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.

Additional notes for running it on IGS server.

  1. We will use a local copy of reference data instead of relying on the pipeline to download them

A copy can be found here. You can make a symbol link to your working directory.

ln -s /autofs/chib/toconnor_grp/bing/20210921_human_snp_call_nf/ngi-igenomes ./

You can also download via awscli which can be installed via conda install awscli. The downloading command can be automatically generated from "https://ewels.github.io/AWS-iGenomes/". Then, run the command with modified target folder

aws s3 --no-sign-request --region eu-west-1 sync \
    s3://ngi-igenomes/igenomes/Homo_sapiens/GATK/GRCh38/ \
    ./ngi-igenomes/igenomes/Homo_sapiens/GATK/GRCh38/
  1. git clone the repo and checkout igs branch
git clone git@github.com:umb-oconnorgroup/sarek.git
cd sarek
git checkout igs
  1. conda environment for the pipeline and nextflow itself:
mamba env create -f environment.yml
conda deactivate
mamba activate nf-core-sarek-2.7.1
mamba install nextflow

NOTE: Once the environment is setup, you will have to update the nextflow.config to specify the full path to this environemnt in following line so that the pipeline knows where to find the existing environment.

        conda = "/path/to/envs/nf-core-sarek-2.7.1"

You can get the full path by conda env list | grep nf-core-sarek-2.7.1

There are also other ways of specifying conda environment, see here. Personally, I like the above one (specifying the full path to exisiting environment).

  1. Prepare input.tsv file

Follow the sarek official documentation

  1. Run the pipeline:

The pipeline do not do joint call. Our strategy is to use the sarek pipeline to generate GVCF file and use a different pipeline to run joint calling. So here, we will just need run the pipeline to the step of haplotypecaller by using --tools haplotypecaller.

Make sure that you start nextflow on a computing node (instead of a login node) by using, e.g. qlogin -P toconnor-lab -q interactive.q -l mem_free=10G if you are on a login node like thanos.

Also, make sure to use the profile sge to distribute the tasks via Sun Grid Engine (SGE) scheduling system. If you have completely or partially run the pipeline before, you can use -resume to skip the finished tasks and continue on new or unfinished tasks.

nextflow run main.nf -profile sge -resume \
    --input fq_map.tsv \
    --igenomes_base ./ngi-igenomes/igenomes \
    --tools haplotypecaller

About

Analysis pipeline to detect germline or somatic variants (pre-processing, variant calling and annotation) from WGS / targeted sequencing

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Nextflow 80.4%
  • Groovy 10.2%
  • R 3.2%
  • Python 2.8%
  • Shell 1.6%
  • HTML 1.0%
  • Dockerfile 0.8%