工作流说明语言(WDL)是用可读和可写的语法描述数据处理工作流的开放标准。 WDL使定义分析任务,在工作流程中将它们连接在一起并并行化其执行变得直接。该语言努力对各种用户(包括程序员,分析师和生产系统运营商)都可以访问和理解。该语言可以简单地表达出常见的模式,例如散布收集和有条件执行。 WDL专为可移植性而设计,并且在包括HPC系统和云平台在内的各种环境中可以选择多种实现。
WDL版本控制遵循语义版本惯例。
WDL语言具有两个数字版本(例如, 1.2
)。次要版本编号(例如1.1
至1.2
)的增加表示语言或标准库功能的添加或非破坏性更改。主要(第一个)版本号(例如1.0
至2.0
)的增加表明已经进行了破坏变化。
WDL规范具有三个数字版本(例如, 1.2.0
)。规范版本跟踪语言版本,但是还可能有补丁版本(由补丁更改或第三个版本编号表示),其中包括用于错别字的修复程序,其他示例或歧义语言的非破坏性澄清。
WDL规范包含所有相关信息,包括用户和开发人员,包括想要实施执行引擎的信息。该GitHub项目将当前版本的分支用作其主要分支,因此,只要您访问该项目的根URL,您将始终看到规范的当前版本。除非绝对必要,否则强烈建议用户使用当前版本的规范。
此分支适用于WDL语言规范的1.2版。应对该分支机构的所有开发新的非破坏功能。
规格的先前版本可以在此处找到:
有许多草稿版本与创建WDL的初步努力相对应。尽管这些是功能规格,但不应将其视为功能完整,并且包含许多错误和不规则性。
规范的下一个主要版本是2.0。应对该分支机构的所有新破坏功能的开发。
WDL社区取决于您的参与。鼓励您提出问题,帮助其他用户,并在可能的情况下做出贡献。相互作用主要发生在github和松弛上。 WDL社区还拥有一个官方博客,在其中发布了公告。
#support
频道中询问。以下是开源WDL工作流的集合。您需要的WDL任务或工作流可能已经在其中一个存储库中可用,或者您可能会找到类似的工作流程并根据您的需求进行自定义。
WDL没有正式实施。依靠第三方提供可安装的软件或托管平台来解释和执行WDL工作流和任务。尽管WDL尚未具有官方合规计划或认证流程,但实施者有望根据规范设计其工具,以最大程度地提高实施过程中工作流的可移植性。尽管如此,实施者可能会提供其他特定于可选的功能。请参阅与每个工具/平台关联的文档,以获取有关可用执行选项和支持的信息。
执行 | 需要安装 | 本地执行 | HPC | 云 |
---|---|---|---|---|
AWS健康组学 | 不 | 不 | 不 | AWS |
克伦威尔 * | 是的 | 是的 | 许多 | AWS批次,Azure,GCP |
DXCOMPILER | 是的 | 不 | 不 | Dnanexus |
Miniwdl | 是的 | 是的 | sl | AWS批次 |
Terra | 不 | 不 | 不 | Azure,GCP |
*另请参阅WDL Runner,这是一个使用Cromwell在GCP上启动WDL工作流的脚本
IDE | 工具 |
---|---|
emacs | poly-wdl |
emacs | WDL模式 |
喷气桥 | 温斯坦利 |
升华 | WDL语法荧光笔 |
vim | vim-wdl |
Visual Studio代码 | WDL语法荧光笔 |
WDL仅通过社区贡献来进步。虽然参与讨论和提交问题是参与的好方法,但还需要帮助来实施规格的更改。有关如何贡献的更多信息,请阅读《贡献指南》。
提交的拉请请求受RFC流程的约束。如果您想查看提交给规范的更改,请查看并熟悉该过程。
WDL规范完全是由社区驱动的;但是,它是由治理委员会监督的。如果您有兴趣参与WDL治理,请加入Slack并在#general
频道中发布消息。