Questions Concepts
GitHub icon

CWL

CWL - Programming language

< >

CWL is an open source programming language created in 2014 by Luka Stojanovic.

Source code:
git clone https://github.com/common-workflow-language/cwltool
#441on PLDB 9Years Old 464Repos

The Common Workflow Language (CWL) is a specification for describing analysis workflows and tools in a way that makes them portable and scalable across a variety of software and hardware environments, from workstations to cluster, cloud, and high performance computing (HPC) environments. CWL is designed to meet the needs of data-intensive science, such as Bioinformatics, Medical Imaging, Astronomy, Physics, and Chemistry.


Example from Linguist:
#!/usr/bin/env cwl-runner # Originally from # https://github.com/Duke-GCB/GGR-cwl/blob/54e897263a702ff1074c8ac814b4bf7205d140dd/utils/trunk-peak-score.cwl # Released under the MIT License: # https://github.com/Duke-GCB/GGR-cwl/blob/54e897263a702ff1074c8ac814b4bf7205d140dd/LICENSE # Converted to CWL v1.0 syntax using # https://github.com/common-workflow-language/cwl-upgrader # and polished by Michael R. Crusoe <mrc@commonwl.org> # All modifications also released under the MIT License cwlVersion: v1.0 class: CommandLineTool doc: Trunk scores in ENCODE bed6+4 files hints: DockerRequirement: dockerPull: dukegcb/workflow-utils inputs: peaks: type: File sep: type: string default: \t outputs: trunked_scores_peaks: type: stdout baseCommand: awk arguments: - -F $(inputs.sep) - BEGIN{OFS=FS}$5>1000{$5=1000}{print} - $(inputs.peaks.path) stdout: $(inputs.peaks.nameroot).trunked_scores$(inputs.peaks.nameext)

Language features

Feature Supported Token Example
Comments
# A comment
Line Comments #
# A comment
Semantic Indentation X

View source

- Build the next great programming language · Search · Add Language · Features · Creators · Resources · About · Blog · Acknowledgements · Queries · Stats · Sponsor · Traffic · Traffic Today · Day 305 · feedback@pldb.com · Logout