Snakemake workflow for the analysis of Whole-Exome Sequencing data, from FASTQ to ricalibrated VCF
Version 1

Workflow Type: Snakemake

depends snakemake


This is a fork of DiVA (DNA Variant Analysis), a Snakemake-based pipeline for Next-Generation Sequencing Exome data analysis, developed at CRS4 Next Generation Sequencing Core Facility. Software dependencies are directly managed by Snakemake using Conda, ensuring the reproducibility of the workflow according to FAIR principles.

In this repo we retained the first part of the analysis, from FASTQ to the recalibrated VCF following GATK Best Practices, and quality control. This pipeline should be executed to generate a master VCf including all the samples, and should re-executed when new samples are available.

Annotation is implemented in DiVA.annotate, which can be used to extract subset of samples from the master VCF for variant annotation and prioritization.

This is an example of folder organization. In parenthesis the name of the pipeline executed in each folder:

    ├── wes_master (diva.wes)
    ├── project_A (diva.annotate)
    ├── project_B (diva.annotate)
    ├── project_N (diva.annotate)

Running DiVA.wes

  • Clone the repository from git-hub:
git clone
  • Rename the folder, from diva.wes to your PROJECT_NAME:
mv diva.wes PROJECT_NAME
  • cd into the newly created folder:
  • Edit the configuration files in conf subfolder:

    • config.yaml - paths to your reference files: genome, target regions, etc.
    • samples.tsv - associate samples to FASTQ files
    • samples.ped - pedigree file in ped format
    • units.tsv - paths to FASTQ files
  • Edit the Snakefile and uncomment the output files you need

  • If conda package manager is not available, install miniconda.

  • Create a virtual environment containing snakemake, as suggested here. First install mamba as a replacement of the default conda solver:

conda install -c conda-forge mamba
  • Then, install snakemake:
mamba env create --name snakemake --file environment.yaml
  • Activate the enviroment:
conda activate snakemake
  • Run snakemake in dry-run mode to check if everything is fine. YOUR_WORKING_DIR could follow the format: YYYY-MM-DD.
snakemake --cores 32 --use-conda --configfile conf/config.yaml --printshellcmds -d YOUR_WORKING_DIR --rerun-incomplete --keep-going --dryrun
  • For verbose output:
snakemake --cores 32 --use-conda --configfile conf/config.yaml --printshellcmds -d YOUR_WORKING_DIR --rerun-incomplete --keep-going --verbose --reason --dryrun
  • If you are happy with the --dryrun, run snakemake:
snakemake --cores 32 --use-conda --configfile conf/config.yaml --printshellcmds -d YOUR_WORKING_DIR --rerun-incomplete --keep-going --conda-frontend mamba

Tip: For large projects, we suggest to run snakemake in a screen session.

Version History

master @ 12c2333 (earliest) Created 30th Sep 2022 at 10:23 by Paolo Uva

Update config.yaml

fix depthofcov_refseq file: new files dowloaded from ucsc (ucsc.RefSeqSelectMANE.hg38-2022-03-18.refseq)

Frozen master 12c2333
help Creators and Submitter
Not specified

Views: 70

Created: 30th Sep 2022 at 10:23

Last used: 28th Nov 2022 at 01:44

help Tags

This item has not yet been tagged.

help Attributions


Total size: 457 KB
Powered by
Copyright © 2008 - 2022 The University of Manchester and HITS gGmbH