SubsetVCFsToSamples

SubsetVCFsToSamples

description
Subset each of a list of (multi-sample) VCFs to a specified set of samples, emitting one multi-sample VCF per input that retains only those samples (no per-sample splitting). Each VCF is streamed from gs:// and processed in its own scatter shard. Exactly one of sample_names or sample_name_list must be provided; every requested sample must exist in each VCF.
author
Jonn Smith

Inputs

Required

  • input_vcf_indices (Array[File], required): Index files for input_vcfs, matched by position (same length and order).
  • input_vcfs (Array[File], required): VCF files to subset. Each is streamed from its gs:// location and subset independently.

Optional

  • sample_name_list (File?): Samples to keep, as a file with one sample name per line. Mutually exclusive with sample_names; exactly one of the two must be given.
  • sample_names (Array[String]?): Samples to keep, as an inline list of names. Mutually exclusive with sample_name_list; exactly one of the two must be given.
  • SubsetVCFToSamples.runtime_attr_override (RuntimeAttr?)

Defaults

  • error_if_sample_missing (Boolean, default=true): When true (default), a requested sample absent from any VCF fails that shard (all absent samples listed on stderr). When false, absent samples produce a warning and processing continues with the samples that are present.

Outputs

  • subset_vcfs (Array[File])
  • subset_vcf_indices (Array[File])

Dot Diagram

SubsetVCFsToSamples