All Projects → openwdl → Wdl

openwdl / Wdl

Licence: bsd-3-clause
Workflow Description Language - Specification and Implementations

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Wdl

Nextflow
A DSL for data-driven computational pipelines
Stars: ✭ 1,337 (+205.25%)
Mutual labels:  cloud, bioinformatics, reproducible-science
Sarek
Detect germline or somatic variants from normal or tumour/normal whole-genome or targeted sequencing
Stars: ✭ 124 (-71.69%)
Mutual labels:  bioinformatics, reproducible-science, workflow
Vistrails
VisTrails is an open-source data analysis and visualization tool. It provides a comprehensive provenance infrastructure that maintains detailed history information about the steps followed and data derived in the course of an exploratory task: VisTrails maintains provenance of data products, of the computational processes that derive these products and their executions.
Stars: ✭ 94 (-78.54%)
Mutual labels:  reproducibility, reproducible-science, workflow
Cromwell
Scientific workflow engine designed for simplicity & scalability. Trivially transition between one off use cases to massive scale production environments
Stars: ✭ 655 (+49.54%)
Mutual labels:  cloud, bioinformatics, workflow
Arvados
An open source platform for managing and analyzing biomedical big data
Stars: ✭ 274 (-37.44%)
Mutual labels:  cloud, bioinformatics, workflow
Flowr
Robust and efficient workflows using a simple language agnostic approach
Stars: ✭ 73 (-83.33%)
Mutual labels:  cloud, bioinformatics, workflow
hydra-zen
Pythonic functions for creating and enhancing Hydra applications
Stars: ✭ 165 (-62.33%)
Mutual labels:  reproducible-science, reproducibility
analysis-flow
Data Analysis Workflows & Reproducibility Learning Resources
Stars: ✭ 108 (-75.34%)
Mutual labels:  reproducible-science, reproducibility
Reproducibilidad
Reproducible Science: what, why, how
Stars: ✭ 39 (-91.1%)
Mutual labels:  reproducible-science, reproducibility
bistro
A library to build and execute typed scientific workflows
Stars: ✭ 43 (-90.18%)
Mutual labels:  workflow, bioinformatics
Gcp For Bioinformatics
GCP Essentials for Bioinformatics Researchers
Stars: ✭ 95 (-78.31%)
Mutual labels:  cloud, bioinformatics
ReproducibleScience
Short course on reproducible science: what, why, how
Stars: ✭ 23 (-94.75%)
Mutual labels:  reproducible-science, reproducibility
r10e-ds-py
Reproducible Data Science in Python (SciPy 2019 Tutorial)
Stars: ✭ 12 (-97.26%)
Mutual labels:  reproducible-science, reproducibility
Diagram Maker
A library to display an interactive editor for any graph-like data.
Stars: ✭ 2,086 (+376.26%)
Mutual labels:  cloud, workflow
Vps Comparison
A comparison between some VPS providers. It uses Ansible to perform a series of automated benchmark tests over the VPS servers that you specify. It allows the reproducibility of those tests by anyone that wanted to compare these results to their own. All the tests results are available in order to provide independence and transparency.
Stars: ✭ 1,357 (+209.82%)
Mutual labels:  cloud, reproducibility
ukbrest
ukbREST: efficient and streamlined data access for reproducible research of large biobanks
Stars: ✭ 32 (-92.69%)
Mutual labels:  reproducible-science, reproducibility
researchcompendium
NOTE: This repo is archived. Please see https://github.com/benmarwick/rrtools for my current approach
Stars: ✭ 26 (-94.06%)
Mutual labels:  reproducible-science, reproducibility
papers-as-modules
Software Papers as Software Modules: Towards a Culture of Reusable Results
Stars: ✭ 18 (-95.89%)
Mutual labels:  reproducible-science, reproducibility
sapporo
A standard implementation conforming to the Global Alliance for Genomics and Health (GA4GH) Workflow Execution Service (WES) API specification and a web application for managing and executing those WES services.
Stars: ✭ 17 (-96.12%)
Mutual labels:  workflow, bioinformatics
Sacred
Sacred is a tool to help you configure, organize, log and reproduce experiments developed at IDSIA.
Stars: ✭ 3,678 (+739.73%)
Mutual labels:  reproducibility, reproducible-science

Workflow Description Language (WDL)

The Workflow Description Language (WDL) is a way to specify data processing workflows with a human-readable and writeable syntax. WDL makes it straightforward to define complex analysis tasks, chain them together in workflows, and parallelize their execution. The language makes common patterns simple to express, while also admitting uncommon or complicated behavior; and strives to achieve portability not only across execution platforms, but also different types of users. Whether one is an analyst, a programmer, an operator of a production system, or any other sort of user, WDL should be accessible and understandable.

Language Specifications:

The current version of the WDL language is 1.0. The 1.0 specification contains all relevant information for users, developers, and engine developers. Upcoming features which have previously been accepted can be viewed as part of the development spec.

There are a number of draft versions (draft 1 - 3) which correspond to our initial efforts at creating WDL. While these are functional specifications, they should not be considered feature complete and contain many bugs and irregularities. Unless absolutely necessary, we would recommend that users should start with the current version of the language.

Community and Support

There are a number of places to ask questions and get involved within the WDL community. Our community thrives the more you get involved and we encourage you to ask questions, provide answers, and make contributions.

  • Mailing list - Joining our google group allows you to stay up to date with recent developments, be informed when new PR's are ready for voting, and participate in broader discussions about the language.
  • Issues - Any bugs, ambiguity, or problems with the specification you encounter should be reported here. You can also create issues which are feature requests, however the most likely way to get a feature into the spec is by creating a PR yourself.
  • Slack Channel - Live chat with WDL users
  • Support Forum - View Previously answered questions about WDL or pose new questions.
  • User Guide (hosted by the Broad) View a general user guide and simple how-to for WDL

Published Workflows

There are many WDL's that have previously been published which provide a good starting point to extend or use as is to fit your workflow needs. While many of these workflows are scattered across the web and in many different repositories, you can find a great selection of high quality, published WDL's available at Dockstore as well as a large number of workflows and tasks at BioWDL.

Additionally, you can view and test out a number of different workflow's using Terra. Please note, that you have to register with Terra in order to view the workflows.

Software and Tools

Execution Engines

WDL is not executable in and of itself, but requires an execution engine to run. Compliant executions engines should support the features of a specific version of the WDL specification. Please see the corresponding engine documentation for information on available execution options and support.

Parsers and Language Support

  • Basic parsers and their grammar definitions (based on hermes) can be found in the parsers/ directory for each respective version. Currently there is support for java, python and javascript. We believe these parsers work, however have not validated these claims.
  • MiniWDL - MiniWDL provides python bindings for WDL as well as command line validation. It is light weight and easy to use.
  • WOMTool - a standalone tool for parsing, validating, linting, and generating a graph of a WDL.
  • wdl-aid - generate documentation for the inputs of WDL workflows, based on the parameter_meta information defined in the WDL file.
  • wdlTools - provides 1) a parser library, based on the new ANTLR4 grammars, for WDL draft-2, 1.0, and development, and 2) command-line tools for sytanx checking, type-checking, linting, code formatting (including upgrading from older to newer WDL versions), generating documentation, and executing WDL tasks locally.

IDE Support

Test tools

  • Pytest-workflow - workflow-engine agnostic workflow tester. Can be used with both Cromwell and MiniWDL. Tests are specified in YAML format. Uses pytest as underlying test framework. Allows for using python code tests in case the standard simple YAML tests are not sufficient.
  • Pytest-wdl This package is a plugin for the pytest unit testing framework that enables testing of workflows written in Workflow Description Language.

Packaging

  • wdl-packager. WDL packaging utility that uses miniwdl to find which paths are imported and packages these into a zip together with the calling workflow. The zip can be used as an imports zip package for cromwell. The utility can add non-WDL files (such as the license) to the zip package and provides options to package the zip in a binary reproducible way.

Contributing

WDL only advances through community contributions. While submitting an issue is a great way to report a bug in the spec, or create disscussion around current or new features, it will ultimately not translate into an actual change in the spec. The best way to make changes is by submitting a PR. For more information on how you can contribute, please see the Contributing readme.

Additionally, once a PR has been submitted, it will be subjected to our RFC Process.

Governance

The WDL specification is entirely community driven, however it is overseen by a governance committee. For more information please see the Governance documentation.

RFC Process

Any changes submitted to the WDL Specification are subject to the RFC Process. Please review and familiarize yourself with the process if you would like to see changes submitted to the specification.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].