Can't use named inputs

Hi,

I'm trying to run CombineVariants as part of a WDL workflow. I'm interested in providing the recommended tag names for my inputs in order to use priority argument. However, I can't figure out a way to do this properly in WDL.

Let's say I have inputs in a data structure like this:

Array[String] priority = [
    "HaplotypeCaller",
    "Samtools"
]
Array[File] input_variants = [
    "tests/data/variants/UtahProband.haplotype_caller.vcf.gz",
    "tests/data/variants/UtahProband.samtools.vcf.gz"
]

Now I want to write a command that looks like:

${java_path} -Xms${memory}m -jar ${gatk_path} \
    --analysis_type  CombineVariants \
    --num_threads ${threads} \
    --reference_sequence ${reference} \
    --genotypemergeoption PRIORITIZE \
    --rod_priority_list ${sep="," priority} \
    --variant:HaplotypeCaller /path/to/cromwell/mapped/inputs/.../UtahProband.haplotype_caller.vcf.gz --variant:Samtools /path/to/cromwell/mapped/inputs/.../UtahProband.samtools.vcf.gz \
    --out ${output_file_prefix}.vcf.gz

Is there a way to get this in WDL? Ideally, while still getting to declare inputs as proper File type so that Cromwell will know to localize the File inputs. I know I could build an array of strings in the workflow calling the task and then use "sep", but that's not ideal. Any other clever way to accomplish this?

Thanks!

Sign In or Register to comment.