chanzuckerberg / miniwdl

Workflow Description Language developer tools & local runner
MIT License
172 stars 53 forks source link

Errors with bgzip/tabix on miniwdl #594

Open khzhu opened 2 years ago

khzhu commented 2 years ago

Any suggestions on how to get bgzip/tabix working on miniwdl would be greatly appreciated. The errors are as the following:

2022-08-19 11:56:15.222 wdl.w:FilterVariantsRWF.t:call-BgzipVCF NOTICE AWS Batch job change :: status: "SUCCEEDED", jobId: "f7e4d194-c25d-411f-b0c2-b4c29a08298b", logStreamName: "BgzipVCF-3ih24mvo/default/74742bebd417428ba7bde5611979832c"
2022-08-19 11:56:15.376 wdl.w:FilterVariantsRWF.t:call-BgzipVCF WARNING output path not found in container (error unless declared type is optional) :: output: "output_vcf_gz", path: "***.denovo.vcf.gz"
2022-08-19 11:56:15.377 wdl.w:FilterVariantsRWF.t:call-BgzipVCF ERROR task BgzipVCF (./filter-variants.wdl Ln 39 Col 1) failed :: dir: "/mnt/efs/c9d620f2-7e75-4fa3-b49c-9e13afe06e43/1/call-BgzipVCF", error: "OutputError", message: "File/Directory path not found in task output output_vcf_gz", node: "decl-output_vcf_gz"
2022-08-19 11:56:15.471 wdl.w:FilterVariantsRWF ERROR call failure propagating :: from: "call-BgzipVCF", dir: "/mnt/efs/c9d620f2-7e75-4fa3-b49c-9e13afe06e43/1"
2022-08-19 11:56:15.471 wdl.w:FilterVariantsRWF NOTICE aborting workflow

The workflow was executed on the amazon AGC cli. Here were commands in wdl I ran on miniwdl:

 String output_vcf_name = basename(vcf_file) + ".gz"
  command <<<
    bgzip -c ~{vcf_file} > ~{output_vcf_name}
    tabix -p vcf -f ~{output_vcf_name}
  >>>

I had this as a declared output of the task.

  output {
    File output_vcf_gz = "${output_vcf_name}"
    File output_vcf_gz_index = "${output_vcf_name}.tbi"
  }
mlin commented 2 years ago

Hi @khzhu, the WDL snippets look fine to me, so something more subtle must be going wrong. The only weird thing I see in the log is

path: "***.denovo.vcf.gz"

but I'm not sure if you've censored that perfectly. If so, can you please paste your complete WDL task{} and I'll give it a try?