json解析图片_WDL教程解析hello world与一些小坑

WDL教程-解析Hello world

与一些小坑

新的学期 再接再厉

上一篇

介绍了一个初次运行的例子,但是即便是Hello world中我们也是有一些东西可以展开聊一聊的。在这一篇当中,我们重点说说几个细节。

bed3d0653227c1a4fb17476221f97758.png

01

WDL文件解析

workflow Whello{String abc call hello{   input:   abc=abc } call gzip{   input:   txt=hello.echo_out_file }}task hello {  String abc  command {     echo ${abc} >a.txt  }  output {    File echo_out_file = "a.txt"  }}task gzip {  File txt  command {     gzip -c ${txt} >a.txt.gz  }  output {    File gzip_out="a.txt.gz"  }}
  1. 在这个WDL中,首先定义了一个workflow,"Whello",它有一个输入,字符串“abc”,它一共call了两个tasks,“hello”和“gzip”。task “hello”的输入是workflow的输“abc”,task “gzip”的输入是一个文件,是来自task “hello”的“echo_out_file”。

  2. 在task hello中,定义了输入字符串“abc”,与workflow的adc相比,类似于全局变量与局部变量概念。它的command是执行echo命令,输出则是定义了“a.txt”

  3. 在task gzip中,定义了输入文件“txt”,它的command是gzip压缩输出文件。

  4. 细心的话,可以注意到,workflow叫“Whello”,有个task叫“hello”,除了能看出来我取名字的随意程度之外,不难想到workflow与task不能同名。

bed3d0653227c1a4fb17476221f97758.png

02

json文件解析

{  "Whello.abc": "abc"}
  1. workflow中的变量可以通过这个json格式的输入文件来传入。

  2. json文件的格式为"workflow名字.workflow变量名":"变量的值"。

  3. 如果你习惯在workflow和task取名的时候使得“.”符号的话,请尽快改掉这个习惯吧。

  4. 记得检查json的逗号……

bed3d0653227c1a4fb17476221f97758.png

03

输出目录解析
  1. 运行结束会在当前目录生成cromwell-executions和cromwell-workflow-logs两个文件夹。

  2. cromwell-executions目录结构为cromwell-executions//<随机码job id>//executions,所有的输入会在这里

  3. cromwell-executions/>/<随机码job id>/>/inputs,在这里文件夹中是每一个task的输入。

    这里额外强调一下,每一步的File类型的input都会保存在这里,不管task是流程的第几步,都是如此。默认是硬链接。平时大家软链可能用的多一些,硬链虽然看上去像是普通文件,du查看也占存储空间,但实际上并不会浪费空间。

43ab1f9b3aff28196c0c45523ea245a1.png

以上就是cromwell的安装、与初运行。后面我们将对一些细节进行补充说明。

过往教程:

WDL教程-基本概念篇

WDL教程-cromwell篇

本文所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等均在网上搜集。欢迎转发,转载请注册出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值