目前,Cromwell是我们所知道的唯一支持WDL的全功能执行引擎。
Cromwell
Cromwell是用Java编写的开源(BSD 3子句)执行引擎,支持在三种类型的平台上运行WDL:本地计算机(例如您的笔记本电脑),通过作业调度程序(例如GridEngine)访问的本地群集/计算场或云平台(例如Google Cloud或Amazon AWS)。
Cromwell可执行文件可以从Cromwell GitHub存储库中以预编译的jar文件的形式获得 。它需要Java 8才能运行。
基本命令语法如下:
java -jar cromwell.jar <action> <parameters>
WDL文档的“ 教程”部分提供了通过Cromwell运行WDL的更多详细示例 。
在Cromwell本地运行WDL
在本地计算机上运行是世界上最简单的事情。假设您拥有一个经过验证的WDL脚本, 名为 myWorkflow.wdl
,输入的一个 JSON文件 名为 myWorkflow_inputs.json
,则只需调用Cromwell的 run
函数,如下所示:
java -jar Cromwell.jar run myWorkflow.wdl --inputs myWorkflow_inputs.json
这将运行您的工作流程。在逐步浏览步骤时,您将看到来自Cromwell引擎的文本对您进行了更新。
请注意,通常由工具本身输出到终端的任何消息实际上都不会显示在运行脚本的终端中。而是,Cromwell将此输出保存在stderr
位于执行文件夹内的日志文件中 。
默认情况下,您可以在此文件夹中找到所有生成的文件(输出和日志):
在其他平台上运行
在集群或云平台上运行可能会比这复杂一些,因此我们不会在本快速入门指南中介绍它们。我们在工具包 页面上提供了一些将Cromwell包装起来的平台或集成的指针 。
参考资料:https://support.terra.bio/hc/en-us/articles/360037487871-Execute-