Can you provide an example that actually uses the ShellCommandRequirement and shellQuote:false?
I know that the "right" way is using the "streamable: true" but what do you do if you CWL runner tool doesn't support that and you don't want to save the intermediate outputs?
I am new to CWL, so I might have the formatting/syntax wrong, but would something like this work?
cwlVersion: v1.0
class: CommandLineTool
requirements:
- class: ShellCommandRequirement
baseCommand: zcat
inputs:
files_input:
type: File
streamable: true
shellQuote: False
inputBinding:
position: 1
pipe:
type:string
default: "|"
shellQuote: False
inputbinding:
positioning: 2
regex:
type: string
shellQuote: False
prefix: "grep"
inputBinding:
position: 3
stdout: zcatgrep_output.txt
outputs:
grep_file:
type: File
streamable: true
outputBinding:
glob: zcatgrep_output.txt