Skip to content

Move input modules into normalized inputs#70

Closed
mvdbeek wants to merge 20 commits intojmchilton:workflow_step_parameters_3from
mvdbeek:jmchilton-workflow_step_parameters_3
Closed

Move input modules into normalized inputs#70
mvdbeek wants to merge 20 commits intojmchilton:workflow_step_parameters_3from
mvdbeek:jmchilton-workflow_step_parameters_3

Conversation

@mvdbeek
Copy link

@mvdbeek mvdbeek commented Nov 5, 2018

Otherwise workflow with data input or data collecitno input elements
fail with:

galaxy.workflow.run ERROR 2018-11-05 17:28:53,706 Failed to schedule Workflow[id=287,name=NonDataInputModule], problem occurred on WorkflowStep[index=1,type=data_input].
Traceback (most recent call last):
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 190, in invoke
    incomplete_or_none = self._invoke_step(workflow_invocation_step)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 266, in _invoke_step
    use_cached_job=self.workflow_invocation.use_cached_job)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/modules.py", line 535, in execute
    progress.set_outputs_for_input(invocation_step, step_outputs)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 393, in set_outputs_for_input
    raise ValueError(message)
ValueError: Step with id 1008 not found in inputs_step_id ({1007: 'new label'})
galaxy.workflow.run ERROR 2018-11-05 17:28:53,708 Failed to execute scheduled workflow.
Traceback (most recent call last):
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 83, in __invoke
    outputs = invoker.invoke()
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 190, in invoke
    incomplete_or_none = self._invoke_step(workflow_invocation_step)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 266, in _invoke_step
    use_cached_job=self.workflow_invocation.use_cached_job)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/modules.py", line 535, in execute
    progress.set_outputs_for_input(invocation_step, step_outputs)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 393, in set_outputs_for_input
    raise ValueError(message)
ValueError: Step with id 1008 not found in inputs_step_id ({1007: 'new label'})

I've tested this with single and batch data and data collection inputs
and this seems to work correctly (so effectively everything the UI
allows atm).

mvdbeek and others added 20 commits November 5, 2018 14:14
In the current state when a text, integer, float, boolean or
boolean parameter is set as "Set at Runtime" a new connectable
input appears for the tool node, to which a Parameter can be properly
dragged and connected.

This still needs a little more separation from data inputs/outputs,
and the new connection isn't persisted in a meaningful way.
select lists don't take a `value` argument.
Use ConnectedValue values to determine what non-data parameters to display connections for.
Don't treat data and non-data inputs/outputs different at the API boundary or at the workflow-manager.js level. Keep differences at the level of walking inputs/outputs in the workflow module on the backend and at the terminal definition (models and views) level on the frontend. Make the code and interfaces more consistent in my opinion and is more compatible with future directions I'd like to take things with mix-mode inputs/outputs for CWL.
Things not matching should be handled there.
- Fixes and refactoring for existing input tests (toward reuse).
- Add simple test for non-data input.
Otherwise workflow with data input or data collecitno input elements
fail with:
```
galaxy.workflow.run ERROR 2018-11-05 17:28:53,706 Failed to schedule Workflow[id=287,name=NonDataInputModule], problem occurred on WorkflowStep[index=1,type=data_input].
Traceback (most recent call last):
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 190, in invoke
    incomplete_or_none = self._invoke_step(workflow_invocation_step)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 266, in _invoke_step
    use_cached_job=self.workflow_invocation.use_cached_job)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/modules.py", line 535, in execute
    progress.set_outputs_for_input(invocation_step, step_outputs)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 393, in set_outputs_for_input
    raise ValueError(message)
ValueError: Step with id 1008 not found in inputs_step_id ({1007: 'new label'})
galaxy.workflow.run ERROR 2018-11-05 17:28:53,708 Failed to execute scheduled workflow.
Traceback (most recent call last):
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 83, in __invoke
    outputs = invoker.invoke()
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 190, in invoke
    incomplete_or_none = self._invoke_step(workflow_invocation_step)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 266, in _invoke_step
    use_cached_job=self.workflow_invocation.use_cached_job)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/modules.py", line 535, in execute
    progress.set_outputs_for_input(invocation_step, step_outputs)
  File "/Users/mvandenb/src/galaxy/lib/galaxy/workflow/run.py", line 393, in set_outputs_for_input
    raise ValueError(message)
ValueError: Step with id 1008 not found in inputs_step_id ({1007: 'new label'})
```

I've tested this with single and batch data and data collection inputs
and this seems to work correctly (so effectively everything the UI
allows atm).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants