Name: wdl2cwl
Owner: Common Workflow Language
Description: Convert Workflow Definition Language (WDL) to CWL
Created: 2016-01-26 14:34:52.0
Updated: 2018-01-04 14:58:35.0
Pushed: 2017-06-16 13:51:32.0
Size: 181
Language: Python
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Converter from the Broad Institute's Workflow Definition Language (WDL) to the Common Workflow Language.
Generates a set of CWL files from a WDL workflow which can be executed with a CWL implementation.
clone https://github.com/common-workflow-language/wdl2cwl.git
dl2cwl
on setup.py install
PyPi package coming soon
Pass a wdl workflow or a directory with wdl files to wdl2cwl
efault, a directory with a name of the wdl file will be created and all generated CWL files will be placed in that directory.
tional options
', '--directory'` - Target directory to place CWL files
', '--quiet'` - Do not print generated tools to stdout
o-folder` - Do not create a separate folder for each CWL toolset (convenient whilst bulk conversion of standalone tools, not workflows)
otes on autoconverting
every WDL workflow can be automatically mapped to CWL. Sometimes some additional tweaks after CWL generation are required:
Secondary files
ny of the input parameters include files that must be processed together, they should be mentioned in `secondaryFiles` field:
secondaryFiles
docker [] -> DockerRequirement, only one image
resources -> ResourceRequirement, megabytes -> mebibytes string
If the output {…} section is omitted in WDL, then the CWL workflow includes all outputs from all calls in its final output.
Not all WDL functions are covered.
Some of WDL functions can be effectively replaced by a CWL expression. For instance, if you need to get the basename of a file, sub - effectively replaced by inputs.path.basename
if an input parameter is read from a file by a function like read_tsv or read_csv, it must start with a backslash. wdl2cwl has to transform file inputs in plain strings to a CWL File object. wdl2cwl only recognizes a filepath in a .txt file if it starts with a backslash. Moreover, all strings starting with '/' will be treated as filepathes.
Resource requirements in WDL are set in megabytes vs mebibytes in CWL
CWL spec https://github.com/common-workflow-language/common-workflow-language
WDL spec https://github.com/broadinstitute/wdl
Python WDL parser https://github.com/broadinstitute/pywdl
cwl2wdl (convert the other way) https://github.com/adamstruck/cwl2wdl