3 Workflow参数

流水线参数

前面提到的Nextflow wc.nf 脚本定义了一个管道参数 params.input。管道参数允许在运行时通过命令行或配置文件更改工作流的输入,因此它们不会硬编码到脚本中。

流水线参数是以前缀params.来声明的,如params.input
它们的值可以在命令行上通过在参数名前面加一个双破折号来指定,例如 --input。
在前面的例子中,想要处理其他的文件,可以使用如下命令:

nextflow run wc.nf --input ‘data/yeast/reads/ref2_2.fq.gz’

我们还可以使用通配符来指定多个输入文件。在下面的示例中,我们使用 * 来匹配 ref2_ 和.fq.gz之间的任何字符序列。注意: 如果在命令行中使用通配符,则必须将值用引号括起来。

nextflow run wc.nf --input ‘data/yeast/reads/ref2_*.fq.gz’

增加参数到脚本

我们可以增加一个sleep参数到wc.nf脚本中: params.sleep = 2
修改脚本如下:

script:
 """
 sleep ${params.sleep}
 printf '${read} '
 gunzip -c ${read} | wc -l
 """

我们现在可以从命令行更改 sleep 参数,例如:

nextflow run wc-params.nf --sleep 10

参数文件

如果有很多参数要传递给脚本,那么最好创建一个参数文件。参数以 JSON 或 YAML 格式存储。
params-file 选项用于将参数文件传递给脚本。
例如,文件 wc-params. json 包含参数 sleep 和 input。

{
  "sleep": 5,
  "input": "data/yeast/reads/etoh60_1*.fq.gz"
}

要使用这些参数运行 wc-params.nf 脚本,我们添加选项-params-file 并传递文件 wc-params.json:

nextflow run wc-params.nf -params-file wc-params.json

总结

  • 流水线参数是通过将前缀params作为变量名前缀(由点.分隔)来指定的。
  • 要在命令行为 Nextflow 运行指定管道参数,请使用 --variable_name 语法。
  • 可以将参数添加到 JSON 或 YAML 格式的文件中,并使用 -params-file 将它们传递给脚本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值