toil.wdl.toilwdl

Module Contents

Functions

main()

A program to run WDL input files using native Toil scripts.

Attributes

logger

toil.wdl.toilwdl.logger
toil.wdl.toilwdl.main()[source]

A program to run WDL input files using native Toil scripts.

Calls two files, described below, wdl_analysis.py and wdl_synthesis.py:

wdl_analysis reads the wdl and restructures them into 2 intermediate data structures before writing (python dictionaries):

“wf_dictionary”: containing the parsed workflow information. “tasks_dictionary”: containing the parsed task information.

wdl_synthesis takes the “wf_dictionary”, “tasks_dictionary”, and the JSON file and uses them to write a native python script for use with Toil.

Requires a WDL file, and a JSON file. The WDL file contains ordered commands, and the JSON file contains input values for those commands. To run in Toil, these two files must be parsed, restructured into python dictionaries, and then compiled into a Toil formatted python script. This compiled Toil script is deleted unless the user specifies: “–dev_mode” as an option.

The WDL parser was auto-generated from the Broad’s current WDL grammar file: https://github.com/openwdl/wdl/blob/master/parsers/grammar.hgr using Scott Frazer’s Hermes: https://github.com/scottfrazer/hermes Thank you Scott Frazer!

Currently in alpha testing, and known to work with the Broad’s GATK tutorial set for WDL on their main wdl site: software.broadinstitute.org/wdl/documentation/topic?name=wdl-tutorials

And ENCODE’s WDL workflow: github.com/ENCODE-DCC/pipeline-container/blob/master/local-workflows/encode_mapping_workflow.wdl

Additional support to be broadened to include more features soon.