Skip to content

Figuring out path forward on complicated output sources #126

@jmchilton

Description

@jmchilton

Consider cond-wf-003.cwl

class: Workflow
cwlVersion: v1.2
inputs:
  val: int
  def:
    type: string
    default: "Direct"

steps:

  step1:
    in:
      in1: val
      a_new_var: val
    run: foo.cwl
    when: $(inputs.a_new_var > 2)
    out: [out1]

outputs:
  out1:
    type: string
    outputSource:
      - step1/out1
      - def
    pickValue: first_non_null

requirements:
  InlineJavascriptRequirement: {}
  MultipleInputFeatureRequirement: {}

Currently we tie all workflow outputs to a particular step, Galaxy doesn't really have non-step processing of workflows.

Question:

  • Are there cases where the outputSource wouldn't correspond to a single input or step outside the context of pickValue? If yes, if there. a simpler test case to work off of that doesn't depend on pickValue.
  • My first thought here is that we can convert this output into an expression tool with a single output (or even a no-op step of some sort with a single output). Is that something in cwl-utils (https://github.com/common-workflow-language/cwl-utils) or should it be?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions