yuch7 / cwlexec

A new open source tool to run CWL workflows on LSF
Other
36 stars 8 forks source link

Failed to bind value #35

Closed drjrm3 closed 5 years ago

drjrm3 commented 5 years ago

After implementing the workaround in #34, I was able to get past that step and ran into a new problem at the next step in the workflow. In trying to rebuild a minimal example for this from scratch, I've run into new problems at the same step as #34 again.

My workflow is

1) Split a bam file into R1/R2 fastq files (simulating this with a 'split_reads.sh' file so that my examples are not dependent on external software. This is accomplished with the split_reads.cwl CLT.

2) Scatter over multiple input files using scatter_split.cwl. I was hoping the workaround in #34 would let me get past this part.

3+) Continue simulating my real workflow to reproduce the issues I'm seeing.

Step 2, above, is where I ran into issues on #34. In rebuilding a different workflow, I am getting new issues. Specifically, my CLT and scatter_split.cwl workflow both work in cwltool, but the scatter_split.cwl WF fails with CWLEXEC with the error Failed to bind value for [R1_file], The value cannot be found..

I've compared this workflow with the working flow from #34 and I think they are very similar, so I'm not sure why this one is failing. Is this an issue in CWLEXEC or my own code? The script 02_scatter_split_reads.sh in the attached example should reproduce this issue.

BindValueFailure.tar.gz

skeeey commented 5 years ago

@drjrm3, you may use a wrong file in file 02_scatter_split_reads.sh

#cwltool scatter_split.cwl ex.02.yml.tmp

cwlexec -pe PATH split_reads.cwl ex.02.yml.tmp

The split_reads.cwl should be scatter_split.cwl, is it right? and I use scatter_split.cwl to test, it works as the cwltool

drjrm3 commented 5 years ago

@skeeey - You are correct, I made a mistake in my shell script. Thank you for finding it! I will work on seeing if I can reproduce the original error now.

skeeey commented 5 years ago

@drjrm3 I close this issue, if you have new problem, you can open new issue : )