WDL-第1讲

作者: MR来了 | 来源:发表于2021-03-24 11:04 被阅读0次

WDL后续一系列学习笔记均来自官方文档

本讲主要分为:

  • 1.1 初识WDL
  • 1.2 Cromwell参数
  • 1.3 Cromwell运行的两种模式

1.1 初识WDL

初步认识WDL,是 Workflow Description Language的缩写,有时也写作 Workflow Definition Language,是美国 Broad Institute 推出的工作流描述语言。它很好的规范了目前串写流程的弊端,使得写出来的pipeline比较规范而且易于看懂。此外它适合很多平台,移植性高,能出来大规模投递任务。但是弊端就是不够灵活和中文学习资料很少。

1.2 Cromwell参数

对WDL语言进行解析是Cromwell, 用java撰写的一个jar,它可以投递和监控任务,说白了它是把撰写好的WDL描述的任务投递上去并进行监控,而且提供了丰富的API,对于Cromwell, 我们先看看它相关的参数:

cromwell 29
Usage: java -jar /path/to/cromwell.jar [server|run] [options] <args>...

  --help                   Cromwell - Workflow Execution Engine
  --version                
Command: server, 投递模式
Starts a web server on port 8000.  See the web server documentation for more details about the API endpoints.
Command: run [options] workflow-source, 直接运行模式
Run the workflow and print out the outputs in JSON format.
  workflow-source          Workflow source file or workflow url , 输入写好的WDL文件
  --workflow-root <value>  Workflow root
  -i, --inputs <value>     Workflow inputs file, 一般记录输入文件
  -o, --options <value>    Workflow options file, 一般记录运行时候的参数
  -t, --type <value>       Workflow type, 就是'-t wdl'
  -v, --type-version <value>, wdl的语言版本,目前程序忽略
                           Workflow type version.
  -l, --labels <value>     Workflow labels file.
  -p, --imports <value>    A zip file to search for workflow imports, 引用其他WDL
  -m, --metadata-output <value>
                           An optional JSON file path to output metadata.

1.3 Cromwell运行的两种模式

类似我们经常写的sh脚本,WDL也是分为投递server mode和直接运行run mode两种模式。

server mode的优势:

  • 可以并行处理多个 workflow,适用于生产环境
  • 有 Call caching 等高级特性,优化 workflow 的执行
  • 提供丰富的 workflow metadata,来展示 workflow 的执行过程
## 先命令启动一个 HTTP server
java -Dconfig.file=application.conf -jar cromwell.jar server
## 使用 RESTful API 提交工作流到 server 执行
java -jar cromwell.jar submit -t wdl -i input.json -o option.json -h http://localhost:8000

run mode

## 用来执行单个 WDL,适用于调试初期,快速执行一个WDL
java -jar cromwell.jar run echo.wdl --inputs input.json

相关文章

  • WDL-第1讲

    WDL后续一系列学习笔记均来自官方文档[https://cromwell.readthedocs.io/en/st...

  • WDL-第2学

    本节主要讲述如何配置Cromwell和运行一个简单的hello world的WDL脚本,主要分下面:本节内容来自F...

  • WDL-第3学

    接下来多个章节都是基于 v1.1语法[https://github.com/openwdl/wdl/blob/ma...

  • WDL-第5学

    问题:用bam2fastx将bam文件转成fastq格式,这里面学到的知识: 学会写parameter_meta,...

  • WDL-第4学

    问题:用flash批量完成数据的拼接,这里面学到的知识点 用struct构建reads的批量输入 可选择参数 解决...

  • 教师资格证小学最全英语语法

    第1讲 字母 第2讲 语音 第3讲 名词 ...

  • Kotlin 进阶实战系列教程

    第1讲 快速开始 HelloWorld 第2讲 Kotlin 语法基础 第3讲 Kotlin 类型系统 第4讲 K...

  • Flink1.8实时数仓项目实战 百度云盘分享

    课程大纲 第1章 课程介绍  第1讲 课程内容安排与介绍 免费 第2章 Flink DataSet  第1讲 ...

  • 《肌肉链》精读打卡目录

    2018.10.13 第1讲:这本书主要讲什么 2018.10.14第2讲:肌张力分级 2018.10.15第3讲...

  • (第2轮)《肌肉链》精读

    2020.03.01第1讲:这本书主要讲什么 2020.03.02第2讲:肌张力分级 2020.03.03第3讲:...

网友评论

    本文标题:WDL-第1讲

    本文链接:https://www.haomeiwen.com/subject/movchltx.html