phnmnl / container-galaxy-k8s-runtime

PhenoMeNal runtime for Galaxy running inside a container orchestrator
Apache License 2.0
5 stars 18 forks source link

ISA create workflow broken by recent tool change #307

Closed ilveroluca closed 6 years ago

ilveroluca commented 6 years ago

Loading the ISA create/validate/upload workflow currently generates the exception stack trace below:

galaxy.web.framework.decorators ERROR 2018-07-30 16:20:14,793 [p:179,w:1,m:0] [uWSGIWorker1Core3] Uncaught exception in exposed API method:
Traceback (most recent call last):
  File "lib/galaxy/web/framework/decorators.py", line 281, in decorator
    rval = func(self, trans, *args, **kwargs)
  File "lib/galaxy/webapps/galaxy/api/workflows.py", line 421, in import_new_workflow_deprecated
    return self.__api_import_new_workflow(trans, payload, **kwd)
  File "lib/galaxy/webapps/galaxy/api/workflows.py", line 546, in __api_import_new_workflow
    workflow, missing_tool_tups = self._workflow_from_dict(trans, data, **from_dict_kwds)
  File "lib/galaxy/web/base/controller.py", line 1257, in _workflow_from_dict
    exact_tools=exact_tools,
  File "lib/galaxy/managers/workflows.py", line 230, in build_workflow_from_dict
    exact_tools=exact_tools,
  File "lib/galaxy/managers/workflows.py", line 325, in _workflow_from_dict
    module, step = self.__module_from_dict(trans, steps, steps_by_external_id, step_dict, **kwds)
  File "lib/galaxy/managers/workflows.py", line 863, in __module_from_dict
    module.save_to_step(step)
  File "lib/galaxy/workflow/modules.py", line 658, in save_to_step
    super(ToolModule, self).save_to_step(step)
  File "lib/galaxy/workflow/modules.py", line 84, in save_to_step
    step.tool_inputs = self.get_state()
  File "lib/galaxy/workflow/modules.py", line 114, in get_state
    return self.state.encode(Bunch(inputs=inputs), self.trans.app, nested=nested)
  File "lib/galaxy/tools/__init__.py", line 355, in encode
    value = params_to_strings(tool.inputs, self.inputs, app, nested=nested)
  File "lib/galaxy/tools/parameters/__init__.py", line 206, in params_to_strings
    value = params[key].value_to_basic(value, app)
  File "lib/galaxy/tools/parameters/grouping.py", line 163, in value_to_basic
    rval[input.name] = input.value_to_basic(value[input.name], app)
  File "lib/galaxy/tools/parameters/grouping.py", line 648, in value_to_basic
    current_case = rval['__current_case__'] = self.get_current_case(value[self.test_param.name])
  File "lib/galaxy/tools/parameters/grouping.py", line 643, in get_current_case
    raise ValueError("No case matched value:", self.name, str_value)
ValueError: ('No case matched value:', 'study_type', 'full_factorial_intervention')
ilveroluca commented 6 years ago

Fixed in PR #308