/SMK-GATK

A Snakemake workflow to process single samples or cohorts of Illumina paired-end sequencing data (WGS or WES) using trim galore/bwa/GATK4/parabricks.

Primary LanguagePython

human_genomics_pipeline - Forked from ESR and repurposed for other critters

A Snakemake workflow to process single samples (unrelated individuals) or cohort samples (related individuals) of paired-end sequencing data (WGS or WES) using bwa and GATK4. Quality control checks are also undertaken. The fastq files can be optionally trimmed with Trim Galore and the pipeline can run on NVIDIA GPU's where nvidia clara parabricks software is available for significant speedups in analysis times. This workflow is designed to follow the GATK best practice workflow for germline short variant discovery (SNPs + Indels). This pipeline is designed to be followed by vcf_annotation_pipeline and the data ingested into scout for clinical interpretation. However, this pipeline also stands on it's own, taking the data from fastq to vcf (raw sequencing data to called variants). 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. Raw read QC (FastQC and MultiQC)
  2. Adapter trimming (Trim Galore) (optional)
  3. Alignment against reference genome (Burrows-Wheeler Aligner)
  4. Mark duplicates (GATK MarkDuplicates)
  5. Base recalibration (GATK BaseRecalibrator and GATK ApplyBQSR)
  6. Haplotype calling (GATK HaplotypeCalller)

Pipeline summary - single samples - GPU accelerated

  1. Raw read QC (FastQC and MultiQC)
  2. Adapter trimming (Trim Galore) (optional)
  3. Alignment against reference genome, mark duplicates, base recalibration and haplotype calling (parabricks germline pipeline)

Pipeline summary - cohort samples

  1. Raw read QC (FastQC and MultiQC)
  2. Adapter trimming (Trim Galore) (optional)
  3. Alignment against reference genome (Burrows-Wheeler Aligner)
  4. Mark duplicates (GATK MarkDuplicates)
  5. Base recalibration (GATK BaseRecalibrator and GATK ApplyBQSR)
  6. Haplotype calling (GATK HaplotypeCalller)
  7. Combine GVCF into multi-sample GVCF (GATK CombineGVCFs)
  8. Genotyping (GATK GenotypeGVCFs)

Pipeline summary - cohort samples - GPU accelerated

  1. Raw read QC (FastQC and MultiQC)
  2. Adapter trimming (Trim Galore) (optional)
  3. Alignment against reference genome, mark duplicates, base recalibration and haplotype calling (parabricks germline pipeline)
  4. Combine GVCF into multi-sample GVCF (parabricks trio combine gvcf)
  5. Genotyping (GATK GenotypeGVCFs)

Main output files

Single samples:

  • results/qc/multiqc_report.html
  • results/mapped/sample1_recalibrated.bam
  • results/called/sample1_raw_snps_indels.vcf

Cohort samples:

  • results/qc/multiqc_report.html
  • results/mapped/sample1_recalibrated.bam
  • results/mapped/sample2_recalibrated.bam
  • results/mapped/sample3_recalibrated.bam
  • results/called/proband1_raw_snps_indels.vcf

Prerequisites

  • Prerequisite hardware: NVIDIA GPUs (for GPU accelerated runs) (tested with NVIDIA V100)
  • Prerequisite software: NVIDIA CLARA parabricks and dependencies (for GPU accelerated runs) (tested with parabricks version 3.6.1-1), Git (tested with version 1.8.3.1), Conda (tested with version 4.11.0), Mamba (tested with version 0.19.1)

Test human_genomics_pipeline

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

Run human_genomics_pipeline

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

Contribute back!

Contributions and feedback are always welcome! 😊