chanzuckerberg/miniwdl

Get error message when using Directory as workflow input: "Input Directory contains unusable symlink"

Opened this issue · 0 comments

Hello development team,

thank you for providing such a convenient tool. I encountered the following problem when using it, and I hope to get your help.

I want to use Directory as an input parameter in the workflow. My code is as follows:

version development

workflow fastp_workflow {
  input {
    String output_prefix
    Directory in_dir
  }

  call fastp {
    input:
      read1 = "${in_dir}/test_R1.fastq",
      read2 = "${in_dir}/test_R2.fastq",
      output_prefix = output_prefix
  }

  output {
    File trimmed_read1 = fastp.trimmed_read1
    File trimmed_read2 = fastp.trimmed_read2
    File html_report = fastp.html_report
    File json_report = fastp.json_report
  }
}

task fastp {
  input {
    File read1
    File read2
    String output_prefix
  }

  command {
    fastp \
      -i ${read1} \
      -I ${read2} \
      -o ${output_prefix}_1.fastq \
      -O ${output_prefix}_2.fastq \
      --html ${output_prefix}.html \
      --json ${output_prefix}.json
  }

  output {
    File trimmed_read1 = "${output_prefix}_1.fastq"
    File trimmed_read2 = "${output_prefix}_2.fastq"
    File html_report = "${output_prefix}.html"
    File json_report = "${output_prefix}.json"
  }

  runtime {
    docker: "quay.io/biocontainers/fastp:0.23.4--h125f33a_5"
  }
}

My input json file likes:

{
    "fastp_workflow.in_dir": "/mnt/e/ISH/biocompute-platform/miniwdl-test",
    "fastp_workflow.output_prefix": "trimmed_sample"
  }

Then I run miniwdl using command: miniwdl run -i input.json fastp.wdl

But it returns an error:

Input Directory contains unusable symlink: /mnt/e/ISH/biocompute-platform/miniwdl-test

My miniwdl version is v1.12.1.

Can you please tell me how to solve this problems?

Looking for your reply. Thanks again!