ESR-NZ / vcf_annotation_pipeline

A Snakemake workflow to filter, annotate and prepare variant call format (VCF) data for scout using GATK4, SnpSift, VEP and genmod. Designed to be used after human_genomics_pipeline.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vcf_annotation_pipeline

A Snakemake workflow to filter raw variants (snp and indels) and annotate vcf (variant call format) files of single samples (unrelated individuals) or cohort samples (related individuals) of paired-end sequencing data (WGS or WES) using GATK4, SnpSift, VEP, genmod and dbSNP. The vcf file can be optionally be prepared for ingestion into scout which involves the removal of multiallelic sites and scoring/ranking of variants. The pipeline can run on NVIDIA GPU's where nvidia clara parabricks software is available for significant speedups in analysis times. This pipeline is designed be used after human_genomics_pipeline and before the data is ingested into scout for clinical interpretation. However, this pipeline also stands on it's own, as a vcf annotation pipeline. This pipeline has been developed with human genetic data in mind, however we designed it to be species agnostic. Genetic data from other species can be analysed by setting a species-specific reference genome and variant databases in the configuration file (but not all situations have been tested).

Pipeline summary - single samples

  1. Filter variants (gatk cnnscoreVariants and gatk FilterVariantTranches)
  2. Annotate variants with known information (with dbNSFP, vep, CADD, dbSNP databases)
  3. Prepare for scout (remove multiallelic sites, scoring/ranking of variants) (optional)

Pipeline summary - single samples - GPU accelerated

  1. Filter variants (parabricks CNNScoreVariants and gatk FilterVariantTranches)
  2. Annotate variants with known information (with dbNSFP, vep, CADD, dbSNP databases)
  3. Prepare for scout (remove multiallelic sites, scoring/ranking of variants) (optional)

Pipeline summary - cohort samples

  1. Filter variants (gatk VariantRecalibrator and gatk ApplyVQSR)
  2. Annotate variants with known information (with dbNSFP, vep, CADD, dbSNP databases)
  3. Annotate variants with other information (genotype posterior probabilities, mark denovo variants, patterns of inheritance)
  4. Prepare for scout (remove multiallelic sites, filter for variants found in the proband, scoring/ranking of variants) (optional)

Pipeline summary - cohort samples - GPU accelerated

  1. Filter variants (pbrun vqsr)
  2. Annotate variants with known information (with dbNSFP, vep, CADD, dbSNP databases)
  3. Annotate variants with other information (genotype posterior probabilities, mark denovo variants, patterns of inheritance)
  4. Prepare for scout (remove multiallelic sites, filter for variants found in the proband, scoring/ranking of variants) (optional)

Main output files

Single samples:

  • results/filtered/sample1_filtered.vcf
  • results/annotated/sample1_filtered_annotated.vcf
  • results/readyforscout/sample1_filtered_annotated_readyforscout.vcf.gz

Cohort samples:

  • results/filtered/sample1_filtered.vcf
  • results/annotated/sample1_filtered_annotated.vcf
  • results/readyforscout/sample1_filtered_annotated_readyforscout.vcf

Prerequisites

Test vcf_annotation_pipeline

The provided test dataset can be used to test running this pipeline on a new machine, or test pipeline developments/releases.

Run vcf_annotation_pipeline

See the docs for a walkthrough guide for running vcf_annotation_pipeline on:

Contribute back!

Contributions and feedback are always welcome! 😊

About

A Snakemake workflow to filter, annotate and prepare variant call format (VCF) data for scout using GATK4, SnpSift, VEP and genmod. Designed to be used after human_genomics_pipeline.


Languages

Language:Python 93.0%Language:Shell 6.1%Language:CSS 0.8%