Tools and Workflows

Manage creation of tools and workflows using the Common Workflow Language (CWL).

Common Workflow language

Renga uses CWL to represent runnable steps (tools) along with their inputs and outputs. Similarly, tools can be chained together to form CWL-defined workflows.

Command-line tool

Represent a CommandLineTool from the Common Workflow Language.

class renga.models.cwl.command_line_tool.CommandLineTool(requirements=NOTHING, hints=NOTHING, label=None, doc=None, cwlVersion='v1.0', baseCommand='', arguments=NOTHING, stdin=None, stdout=None, stderr=None, inputs=NOTHING, outputs=NOTHING, successCodes=NOTHING, temporaryFailCodes=NOTHING, permanentFailCodes=NOTHING)[source]

Represent a command line tool.

get_output_id(path)[source]

Return an id of the matching path from default values.

to_argv(job=None)[source]

Generate arguments for system call.

class renga.models.cwl.command_line_tool.CommandLineToolFactory(command_line, directory='.', stdin=None, stderr=None, stdout=None)[source]

Command Line Tool Factory.

file_candidate(candidate)[source]

Return a path instance if it exists in current directory.

generate_tool()[source]

Return an instance of command line tool.

guess_inputs(*arguments)[source]

Yield command input parameters and command line bindings.

guess_outputs(paths)[source]

Yield detected output and changed command input parameter.

guess_type(value)[source]

Return new value and CWL parameter type.

split_command_and_args()[source]

Return tuple with command and args from command line arguments.

validate_command_line(attribute, value)[source]

Check the command line structure.

validate_path(attribute, value)[source]

Path must exists.

watch(repo=None, no_output=False)[source]

Watch a Renga repository for changes to detect outputs.

Parameter

Represent parameters from the Common Workflow Language.

class renga.models.cwl.parameter.CommandInputParameter(id, streamable=None, type='string', description=None, default=None, inputBinding=None)[source]

An input parameter for a CommandLineTool.

to_argv()[source]

Format command input parameter as shell argument.

class renga.models.cwl.parameter.CommandLineBinding(position=None, prefix=None, separate=True, itemSeparator=None, valueFrom=None, shellQuote=True)[source]

Define the binding behavior when building the command line.

to_argv(default=None)[source]

Format command line binding as shell argument.

class renga.models.cwl.parameter.CommandOutputBinding(glob=None)[source]

Define the binding behavior for outputs.

class renga.models.cwl.parameter.CommandOutputParameter(id, streamable=None, type='string', description=None, format=None, outputBinding=None)[source]

Define an output parameter for a CommandLineTool.

class renga.models.cwl.parameter.InputParameter(id, streamable=None, type='string', description=None, default=None, inputBinding=None)[source]

An input parameter.

class renga.models.cwl.parameter.OutputParameter(id, streamable=None, type='string', description=None, format=None, outputBinding=None)[source]

An output parameter.

class renga.models.cwl.parameter.Parameter(streamable=None)[source]

Define an input or output parameter to a process.

class renga.models.cwl.parameter.WorkflowOutputParameter(id, streamable=None, type='string', description=None, format=None, outputBinding=None, outputSource=None)[source]

Define an output parameter for a Workflow.

renga.models.cwl.parameter.convert_default(value)[source]

Convert a default value.

Process

Represent a Process from the Common Workflow Language.

class renga.models.cwl.process.Process[source]

Represent a process.

Types

Represent the Common Workflow Language types.

class renga.models.cwl.types.File(path)[source]

Represent a file.

Workflow

Represent workflows from the Common Workflow Language.

class renga.models.cwl.workflow.Workflow(inputs=NOTHING, requirements=NOTHING, hints=NOTHING, label=None, doc=None, cwlVersion='v1.0', outputs=NOTHING, steps=NOTHING)[source]

Define a workflow representation.

add_step(**kwargs)[source]

Add a workflow step.

get_output_id(path)[source]

Return an id of the matching path from default values.

class renga.models.cwl.workflow.WorkflowStep(run, id=NOTHING, in_=None, out=None)[source]

Define an executable element of a workflow.