Dear Tom,
Thanks for the advice.
I have decided to realize the first strategy from your list.
As a result, I have: 1) Unzip wrapper:
cwlVersion: v1.0
class: CommandLineTool
label: "unzip wrapper"
baseCommand: [gunzip, -c]
stdout: $(inputs.infile.nameroot)
requirements:
- class: DockerRequirement
dockerImageId: gzip_wrapper
dockerFile:
$import: Dockerfile
inputs:
infile:
type: File
inputBinding:
prefix: --file
outputs:
outfile:
type: File
outputBinding:
glob: $(inputs.infile.nameroot)
2) Workflow:
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
class: Workflow
requirements:
-class: ScatterFeatureRequirement
inputs:
in_files: File[]
outputs:
compiled_class:
type: File
outputSource: unzip/outfile
steps:
unzip:
scatter: infile
run: unzip.cwl
in:
infile: in_files
out: [outfile]
3) YAML file:
in_files:
- input/test_R1.fastq.gz
- input/test_R2.fastq.gz
Unfortunately, I have received the error message:
INFO /home/maria/miniconda3/bin/cwltool 1.0.20190607183319
INFO Resolved 'workflow.cwl' to 'file:///home/maria/Bioinformatics/CWL/workflow.cwl'
ERROR Tool definition failed validation:
mapSubject '-class' value 'None' is not a dict and does not have a mapPredicate.
What's wrong with my implementation? Hope you can help me.
Best wishes, Maria.