The base executable type in CWL is the Process object defined by the document. Note that the Process object is abstract and cannot be directly executed.
id
[character] The unique identifier for this process object.
inputs
(InputParameterList) Defines the input parameters of the process. The process is ready to run when all required input parameters are associated with concrete values. Input parameters include a schema for each parameter and is used to validate the input object, it may also be used build a user interface for constructing the input object.
outputs
(OutputParameterList) Defines the parameters representing the output of the process. May be used to generate and/or validate the output object.
requirements
[ProcessRequirementList] Declares requirements that apply to either the runtime environment or the workflow engine that must be met in order to execute this process. If an implementation cannot satisfy all requirements, or a requirement is listed which is not recognized by the implementation, it is a fatal error and the implementation must not attempt to run the process, unless overridden at user option.
hints
[ANY] Declares hints applying to either the runtime environment or the workflow engine that may be helpful in executing this process. It is not an error if an implementation cannot satisfy all hints, however the implementation may report a warning.
label
[character] A short, human-readable label of this process object.
description
[character] A long, human-readable description of this process object.
ipl <- InputParameterList( InputParameter( id = "BAM", type = "File", label = "input bam", description = "input bam", inputBinding = CommandLineBinding( position = 1L ) ), InputParameter( id = "level", type = "Integer", label = "Compression level", description = "Compression level", inputBinding = CommandLineBinding( position = 2L, prefix = "-l" ) ) ) ipl#> [[1]] #> type: #> - File #> label: input bam #> description: input bam #> streamable: no #> id: '#BAM' #> inputBinding: #> position: 1 #> separate: yes #> #> [[2]] #> type: #> - Integer #> label: Compression level #> description: Compression level #> streamable: no #> id: '#level' #> inputBinding: #> position: 2 #> prefix: -l #> separate: yes #>p <- Process(id = "process", inputs = ipl) p#> id: '#process' #> inputs: #> - type: #> - File #> label: input bam #> description: input bam #> streamable: no #> id: '#BAM' #> inputBinding: #> position: 1 #> separate: yes #> - type: #> - Integer #> label: Compression level #> description: Compression level #> streamable: no #> id: '#level' #> inputBinding: #> position: 2 #> prefix: -l #> separate: yes #> outputs: [] #> requirements: [] #> hints: [] #>