GATK APPLYVQSR

Run gatk ApplyVQSR.

URL:

Example

This wrapper can be used in the following way:

rule apply_vqsr:
    input:
        vcf="test.vcf",
    recal="snps.recal",
    tranches="snps.tranches",
    ref="ref.fasta"
    output:
        vcf="test.snp_recal.vcf"
    log:
        "logs/gatk/applyvqsr.log"
    params:
        mode="SNP",  # set mode, must be either SNP, INDEL or BOTH
        extra="" # optional
    resources:
        mem_mb=50
    wrapper:
            "v1.1.0/bio/gatk/applyvqsr"

Note that input, output and log file paths can be chosen freely.

When running with

snakemake --use-conda

the software dependencies will be automatically deployed into an isolated environment before execution.

Software dependencies

  • gatk4==4.2.0.0
  • snakemake-wrapper-utils==0.1.3

Input/Output

Input:

  • VCF file
  • Recalibration file
  • Tranches file

Output:

  • Variant QualityScore-Recalibrated VCF

Notes

Authors

  • Brett Copeland

Code

__author__ = "Brett Copeland"
__copyright__ = "Copyright 2021, Brett Copeland"
__email__ = "brcopeland@ucsd.edu"
__license__ = "MIT"


import os

from snakemake.shell import shell
from snakemake_wrapper_utils.java import get_java_opts


extra = snakemake.params.get("extra", "")
java_opts = get_java_opts(snakemake)
log = snakemake.log_fmt_shell(stdout=True, stderr=True)
shell(
    "gatk --java-options '{java_opts}' ApplyVQSR {extra} "
    "-R {snakemake.input.ref} -V {snakemake.input.vcf} "
    "--recal-file {snakemake.input.recal} "
    "--tranches-file {snakemake.input.tranches} "
    "-mode {snakemake.params.mode} "
    "--output {snakemake.output.vcf} "
    "{log}"
)