How do I force Cromwell / WDL to put input files in the same directory? I have a cromwell task that, among other variables, takes these three variables:
   File Ref             # Reference genome fasta
   File RefFai          # Reference Genome index
   File RefDict         # Reference Dictionary

While all three files make it into the task's &quot;inputs&quot; directory, they end up in different sub-directories of inputs:
ME $ find inputs
inputs

inputs/-181926642
inputs/-181926642/Sample.vcf.bgz.tbi
inputs/-181926642/Sample.vcf.bgz
inputs/-1548908437
inputs/-1548908437/GCA_000001405.15_GRCh38_no_alt_short_headers_nonACTG_to_N.dict
inputs/44588251
inputs/44588251/GCA_000001405.15_GRCh38_no_alt_short_headers_nonACTG_to_N.fa
inputs/44588251/GCA_000001405.15_GRCh38_no_alt_short_headers_nonACTG_to_N.fa.fai

Which means that when I call GATK and pass it the path to the .fa file, it gets rather cranky that the .dict file isn't in the same directory.
How do I force cromwell to put all three files in the same directory?
My hacktastic fix for this is to use basename to get the get the name of each file, then do
refName=`basename &quot;${Ref}&quot;`
ln -s &quot;${Ref}" "$refName&quot;

for each file.  This puts aliases to each file in the executions dir, and then I pass &quot;refName&quot; to GATK rather than &quot;${Ref}&quot;.
Not a good solution, but a solution