An open-source analysis pipeline to detect germline or somatic variants from whole genome or targeted sequencing
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.
-
Install
Nextflow
(>=20.04.0
) -
Install any of
Docker
,Singularity
,Podman
,Shifter
orCharliecloud
for full pipeline reproducibility (please only useConda
as a last resort; see docs) -
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 eitherDocker
orSingularity
and set the appropriate execution settings for your local compute environment. -
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.
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
)
The nf-core/sarek pipeline comes with documentation about the pipeline: usage and output.
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:
- Adrian Lärkeryd
- Alexander Peltzer
- Chela James
- David Mas-Ponte
- Francesco L
- Harshil Patel
- James A. Fellows Yates
- Jesper Eisfeldt
- Johannes Alneberg
- José Fernández Navarro
- Lucia Conde
- Malin Larsson
- Marcel Martin
- Nilesh Tawari
- Olga Botvinnik
- Paul Cantalupo
- Phil Ewels
- Sabrina Krakau
- Sebastian-D
- Tobias Koch
- Winni Kretzschmar
- arontommi
- bjornnystedt
- cgpu
- gulfshores
- pallolason
- silviamorins
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
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.
- 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/
- git clone the repo and checkout
igs
branch
git clone git@github.com:umb-oconnorgroup/sarek.git
cd sarek
git checkout igs
- 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).
- Prepare input.tsv file
Follow the sarek official documentation
- 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