2.9. 表达式工具#
表达式工具是一种类型的流程 (process), 可单独运行,或作为工作流的一个步骤运行。它执行纯 JavaScript 表达式,意在隔离复杂的 JavaScript 表达式,以对输入数据进行运算,并生成结果作为输出。
Similar to the command-line tool it requires inputs
and outputs
.
But instead of baseCommand
, it requires an expression
attribute.
CWL 表达式工具。#
uppercase.cwl
#cwlVersion: v1.2
class: ExpressionTool
requirements:
InlineJavascriptRequirement: {}
inputs:
message: string
outputs:
uppercase_message: string
expression: |
${ return {"uppercase_message": inputs.message.toUpperCase()}; }
备注
We had to use an InlineJavascriptRequirement
as our expression
contains a JavaScript call in .toUpperCase()
. This means to tools
using the expression tool that JavaScript is a requirement.