2.2. コマンドラインツール#
CommandLineToolは、Processオブジェクトの一種であり、それ自体またはワークフローのステップとして実行できます。ls
,echo
,tar
などの実行したいコマンドのラッパーです。実行したいコマンドは、CommandLineToolについてのCWL定義のbaseCommand
属性で定義されています。
CWL CommandLineToolは、inputs
とoutputs
も持っていなければなりません。次の例は、Linuxコマンド echo
のためのCWL CommandLineToolの最小限の例で、inputsとoutputsを使用します。
CWLコマンドラインツール。#
echo.cwl
#cwlVersion: v1.2
class: CommandLineTool
baseCommand: echo
stdout: output.txt
inputs:
message:
type: string
inputBinding: {}
outputs:
out:
type: string
outputBinding:
glob: output.txt
loadContents: true
outputEval: $(self[0].contents)
2.2.1. ネットワークアクセス#
これは、プロセスが送信先としてIPv4/IPv6ネットワーク・アクセスを必要とするかどうかを示します。 CWL v1.1以降、プログラムにはデフォルトでネットワーク・アクセス権が付与されないため、ツール定義にネットワーク・アクセスの要件を含める必要があります。
cwlVersion: v1.2
class: CommandLineTool
requirements:
NetworkAccess:
networkAccess: true
注釈
CWL v1.0のコマンドラインツールをv1.1またはv1.2にアップグレードすると、自動的にnetworkAccess: true
が追加されネットワークアクセスできるようになります。