luyang93 / pywdl

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pywdl

A playground repository for implementing WDL in Python.

Checklist

  • Top priority denoted as "(!!)".

WDL -> Python objects Transformation

Compilation design; expressions are stored as Python code as strings in collections.

  • Types
    • Primitives (String, Int, Float, Boolean, File)
      • Directory
      • allow user to hook into this to modify how this is parsed. (!!)
    • Compound (Array, Pair, Map)
    • Struct
  • Expression
    • LOR, LAND
    • ==, !=, <=, >=, <, >
    • +, -
    • *, /, %
    • apply (function call)
    • array_literal
    • pair_literal
    • map_literal
    • struct_literal
    • ifthenelse
    • expression_group
    • get_name (!!)
      • allow user to hook into this to modify how this is parsed. (!!)
    • negate (!!)
    • unirarysigned
    • primitives (including None and variables)
    • left_name
  • Document
    • import
    • struct
    • task
    • workflow
  • Workflow
    • input
    • output
    • bound_decls (non-input declarations)
    • call
    • scatter
    • conditional
    • parameter_meta
    • meta
  • Task
    • input
    • output
    • command
    • runtime
    • hints
    • bound_decls (non-input declarations)
    • parameter_meta
    • meta

License

The following files come from openwdl/wdl under the BSD 3-Clause "New" or "Revised" License.

The following file is modified from DataBiosphere/toil under the Apache License, v2.0.

About


Languages

Language:Python 79.1%Language:ANTLR 15.2%Language:WDL 4.5%Language:Makefile 1.1%