We've moved!
This site is now read-only. You can find our new documentation site and support forum for posting questions here.
Be sure to read our welcome blog!

Issue with paths running sample workflow

Good Morning,

I am trying to do an evaluation of the 'Terra' web app and as a prerequisite I am trying to run cromwell locally. I have a sample tool which is used extensively in my Lab called 'voila'. I have made a docker image of it.

I don't have any issues using my docker image locally , the command has the following run format:

$ docker run majiqvoila voila -f output_file.tsv inputfile1.voila inputfile2.sql
or
$ docker run majiqvoila voila inputfile1.voila inputfile2.sql -f outputfile.tsv

I define a WDL as follows:

```
workflow myWorkflow1 {


File voila_file
File splicegraph

call task_voila_tsv{
input: voila_file=voila_file, splicegraph=splicegraph
}
}

task task_voila_tsv{

File voila_file
File splicegraph

command {
voila tsv \
${splicegraph} \
${voila_file} \
-f something.tsv
}

output {
File out = "something.tsv"
}

runtime {
docker: "pjewellbiociphers/majiq:latest"
}

}
```

and run it with some input file like:

```
{
"myWorkflow1.voila_file": "<absolute_path_to_file1>",
"myWorkflow1.splicegraph": "<absolute_path_to_file2>"
}
```

I tried with and without the "runtime" spec block (local run with voila on system path) with the same result.

In the cromwell log as it runs I see it says it runs this command:

```
voila tsv \
/home/pjewell/wdltut/cromwell-executions/myWorkflow1/c9fc1ea1-3904-4bc7-8fc3-186cf99b6926/call-task_voila_tsv/inputs/613161631/test.psi.voila \
/home/pjewell/wdltut/cromwell-executions/myWorkflow1/c9fc1ea1-3904-4bc7-8fc3-186cf99b6926/call-task_voila_tsv/inputs/613161631/splicegraph.sql \
-f something.tsv
```

However my program (voila) seems to somehow be receiving an argument for a different file (?) which it can not find:

```
usage: voila tsv [-h] -f FILE_NAME [--threshold THRESHOLD]
[--non-changing-threshold NON_CHANGING_THRESHOLD]
[--probability-threshold PROBABILITY_THRESHOLD] [--show-all]
[--lsv-types-file LSV_TYPES]
[--lsv-types [LSV_TYPES [LSV_TYPES ...]]]
[--lsv-ids-file LSV_IDS] [--lsv-ids [LSV_IDS [LSV_IDS ...]]]
[--gene-names-file GENE_NAMES]
[--gene-names [GENE_NAMES [GENE_NAMES ...]]]
[--gene-ids-file GENE_IDS]
[--gene-ids [GENE_IDS [GENE_IDS ...]]] [-j NPROC] [--debug]
[-l LOGGER] [--silent]
files [files ...]
voila tsv: error: argument files: cannot find "/home/pjewell/wdltut/cromwell-executions/myWorkflow1/c9fc1ea1-3904-4bc7-8fc3-186cf99b6926/call-task_voila_tsv/execution/ "
```

The input files exist correctly at the path /home/pjewell/wdltut/cromwell-executions/myWorkflow1/c9fc1ea1-3904-4bc7-8fc3-186cf99b6926/call-task_voila_tsv/inputs

However, it appears that somehow a third path is being specified as an argument with the path "/home/pjewell/wdltut/cromwell-executions/myWorkflow1/c9fc1ea1-3904-4bc7-8fc3-186cf99b6926/call-task_voila_tsv/execution/" ? I don't understand where this is coming from but I am new at the language so most likely it is just a noob mistake.

Can anyone let me know why my program might be receiving the extra argument that causes it to crash?

Os: ubuntu 18.04
Java: openjdk 13

Answers

Sign In or Register to comment.