WDL+CWL引入
cromwell知多少?
cromwell是适应于科学工作的工作流管理系统,就是我们串流程时可以使用的一个调度器,支持多个计算平台,从公共云到HPC调度器,重点是它可以支持两种语言格式:Workflow Description Language (WDL) 和 Common Workflow Language (CWL),再重点是这两种语言都被GA4GH项目接受,WDL是著名的broadinstitute开发的。
所以,有这么好的用户社区,用这两种语言,你的项目也就具有普遍接受价值,成为行业规范,而cromwell支持这两种语言,了解cromwell,熟悉WLD的语法规范,将我们的业务逻辑用这种语言表示,形成清晰的DAG。
WDL初步介绍
cromwell+wdlcromwell
两种模式来使用:单例模式(one command, one workflow)和接受REST queries的服务器,包含高效的几点特征,比如中断后只能恢复任务的 call caching 方案。源码是Scala写的。
WDL
WDL是一种人们易读易写的语法格式,将开发人员从编程语法中解放出来,更多的精力去关注业务逻辑的实现,在workflow中定义task,连接这些task形成DAG,可方便实现任务并行及依赖。
OpenWDL
随着WDL用户社区变大,成为社区用户驱动的标准,有了openwdl。
接下来的几篇文章,重点介绍我在学习cromwell和WLD的过程,觉得是坑踩过、一些问题的经验或解决办法、甚至是我不懂的地方留坑待填。记录学习,做总结,不翻译。
解决方案都可以从文档中找到,找不到的就去各方沟通,想了解更多请去源码那边。
注:
网友评论