Skip to content

Add "all-in-one" mechanism to janis translate #60

@illusional

Description

@illusional

Currently, Janis prepares one tool per file, and (sub)workflows can reference an individual tool from a tools/ folder. This folder is automatically zipped and supplied to Cromwell through the dependencies input.

However, there will be occasions where it's more practical to generate an "all-in-one" workflow, which contains all the tool definitions, for example: uploading to the FISS API / Terra, sharing workflows etc.

This behaviour is already implemented (but untested for a while) in CWL:

def translate_workflow_to_all_in_one(
cls,
wf,
with_resource_overrides=False,
is_nested_tool=False,
allow_empty_container=False,
container_override=None,
) -> cwlgen.Workflow:

It's not yet defined for WDL [You can assert that no two tools will have the same task ID (although practically it occasionally happens)], though as long as you can keep tasks and workflows ordered (in the order they're seen), you shouldn't have too many issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions