Skip to content

Instantly share code, notes, and snippets.

@mr-c
Created November 19, 2019 17:14
Show Gist options
  • Save mr-c/7f5da04ce3e010fb6c96a69d8bd86e3e to your computer and use it in GitHub Desktop.
Save mr-c/7f5da04ce3e010fb6c96a69d8bd86e3e to your computer and use it in GitHub Desktop.
#!/usr/bin/env cwl-runner
class: Workflow
id: file:///home/michael/common-workflow-language/v1.0/v1.0.orig/count-lines3-wf.cwl
inputs:
- id: file1
type:
items: File
type: array
outputs:
- id: count_output
outputSource: step1/output
type:
items: int
type: array
requirements:
- class: ScatterFeatureRequirement
- class: SubworkflowFeatureRequirement
cwlVersion: v1.0
steps:
- id: step1
in:
- id: file1
source: file1
out:
- output
run:
class: Workflow
inputs:
- id: file1
type: File
outputs:
- id: output
outputSource: expression_output_outputEval/result
type: int
cwlVersion: v1.0
steps:
- id: step1
in:
- id: file1
source: file1
out:
- output
run:
class: CommandLineTool
inputs:
- id: file1
inputBinding: {}
type: File
outputs:
- id: output
outputBinding:
glob: output.txt
loadContents: true
type:
items: File
type: array
requirements:
- class: InlineJavascriptRequirement
hints:
- ramMin: 8
class: ResourceRequirement
cwlVersion: v1.0
baseCommand: wc
stdout: output.txt
- id: expression_output_outputEval
in:
- id: file1
source: file1
- id: self
source: step1/output
out:
- id: result
run:
class: ExpressionTool
inputs:
- id: self
type:
items: File
type: array
- id: file1
type: File
outputs:
- id: result
type: int
requirements:
- class: InlineJavascriptRequirement
cwlVersion: v1.0
expression: |-
${
var self=inputs.self;
return {"result": function(){parseInt(self[0].contents)}()};
}
scatter: file1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment