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
