WDL语言入门

WDL最初是由Broad Institute为基因组分析管道开发的。语法简单,易于表达,能很好的描述流程 ;且跨平台。 GATK首选的pipeline解决方案:WDL + cromwell ****。

目前,Cromwell是唯一支持WDL的全功能执行引擎。cromwell 是一个面向科学工作流程的工作流管理系统,基于BSD 3-Clause license证书的开源软件,支持在三种平台上运行WDL: 本地机器 通过作业调度器 (GridEngine,例如PBS , Slurm )访问的本地集群 和 **云平台 **(例如谷歌云或Amazon AWS) 。

cromwell是以美国演员 James Cromwell的名字命名的,他是《宝贝》和《星际迷航:第一次接触》等伟大电影的明星,因此它的吉祥物是“变形猪杰米”。

使用WDL 可以不用考虑计算环境问题,本地集群和公有云上运行完全相同的脚本。

WDL 脚本核心结构包括 5 个基本组件:workflow, task, call, command 以及 output。

workflow 即是描述整个流程的框架,其中调用( call )了不同的 task 。

task 包含“做某事”所必需的所有信息,这些信息围绕着一个command,该命令带有输入文件和参数的定义,以及output 信息 。

**例如: bwa 比对流程, 使用 WDL编码 **

输入是reference( 参考序列 ),read1 和 read2 。

output是 bam文件和bam索引文件 。

command 是

顶层文件是 workflow, 里边call 这个task

弄清楚了流程的内容,我们来一起完成流程的编码

** bwa.wdl task内容**

**mapping.workflow.wdl workflow内容 **

使用womtool 语法校验

使用womtool 生成 inputs.json , 将输入文件和字符串补充完整

使用cromwell 运行流程

WDL 可以使我们的流程组装更加方便

* 基因组分析*****公众号推出 《50篇文章深入理解NGS》系列文章, 第二篇文章 《五分钟入门WDL语言》,争取每周更新一篇高质量生信干货帖子。

关注 "基因组分析" 公众号,了解最新最全生信分析知识。