Pf7SingleSampleVariantCalling

Pf7SingleSampleVariantCalling.wdl Per-sample variant calling following the MalariaGEN Pf7 methods (Wellcome Open Res 2023, doi:10.12688/wellcomeopenres.18681.1, pp.1-2). STARTS FROM AN ANALYSIS-READY BAM — alignment (bwa mem 0.7.15 -M), samtools fixmate, Picard MarkDuplicates, and GATK BQSR are all assumed done upstream. This workflow runs, for one sample: HaplotypeCaller 4.1.4.0 -contamination 0 -ERC GVCF -> per-sample gVCF GenotypeGVCFs 4.1.4.0 (Pf7 flags, whole-genome) -> genotyped VCF VQSR (SNP & INDEL separate; train = Pf crosses 1.0 PASS, prior 15; -an QD -an FS -an SOR -an MQRankSum -an ReadPosRankSum, --maxGaussians 8) VQSLOD<2.0 filter in core, keep non-core, merge -> filtered VCF

NOTE ON SINGLE-SAMPLE VQSR: VariantRecalibrator is built for cohort-scale data and may fail ("No data found" / zero-variance annotations) on a single sample — most often the INDEL negative model. VQSR here is BEST-EFFORT: it is attempted as-is, but on failure the workflow does NOT error — it ends early in success with gVCF + genotyped VCF, sets vqsr_succeeded=false, and leaves filtered_vcf (and the VQSLOD intermediates) absent. The Pf7 headline callset is a JOINT- genotyped multisample VCF (Pf7JointGenotyping.wdl) — that is where VQSR has the scale it needs. This workflow covers the sample-level QC / comparison case.

Each task uses only tools in its image: GATK tasks in the gatk image, VCF-wrangling (concat/filter/merge) in the bcftools image.

Pf7SingleSampleVariantCalling

Inputs

Required

  • analysis_ready_bai (File, required)
  • analysis_ready_bam (File, required)
  • sample_name (String, required)

Defaults

  • bcftools_docker (String, default="quay.io/biocontainers/bcftools:1.13--h3a49de5_0")
  • core_bed (File, default="gs://broad-malaria-public/short_read_workspace_data/regions/regions-20130225.Core.bed")
  • gatk_docker (String, default="broadinstitute/gatk:4.1.4.0")
  • pfcrosses_pass_vcf (File, default="gs://broad-malaria-public/short_read_workspace_data/ALL_CROSSES.sites_only.PASS.vcf.gz")
  • pfcrosses_pass_vcf_index (File, default="gs://broad-malaria-public/short_read_workspace_data/ALL_CROSSES.sites_only.PASS.vcf.gz.tbi")
  • ref_dict (File, default="gs://broad-malaria-public/short_read_workspace_data/reference/PlasmoDB-61_Pfalciparum3D7_Genome.dict")
  • ref_fasta (File, default="gs://broad-malaria-public/short_read_workspace_data/reference/PlasmoDB-61_Pfalciparum3D7_Genome.fasta")
  • ref_fasta_fai (File, default="gs://broad-malaria-public/short_read_workspace_data/reference/PlasmoDB-61_Pfalciparum3D7_Genome.fasta.fai")
  • vqslod_threshold (Float, default=2.0)
  • vqsr_max_gaussians (Int, default=8)
  • vqsr_prior (Float, default=15.0)
  • FilterMerge.disk_gb (Int, default=50)
  • FilterMerge.memory_gb (Int, default=8)
  • GenotypeSample.disk_gb (Int, default=50)
  • GenotypeSample.memory_gb (Int, default=12)
  • HaplotypeCallerGVCF.disk_gb (Int, default=60)
  • HaplotypeCallerGVCF.memory_gb (Int, default=12)
  • VQSRAnnotate.disk_gb (Int, default=50)
  • VQSRAnnotate.memory_gb (Int, default=16)

Outputs

  • gvcf (File)
  • gvcf_index (File)
  • genotyped_vcf (File)
  • genotyped_vcf_index (File)
  • vqsr_succeeded (Boolean)
  • filtered_vcf (File?)
  • filtered_vcf_index (File?)

Dot Diagram

Pf7SingleSampleVariantCalling