hmenager / workflow-is-cwl

This repository contains CWL descriptions of the various tools which will allow you to build workflows for the annotation of transcripts
https://www.elixir-europe.org/
0 stars 0 forks source link

galaxy+cwltool - cmsearch-multimodel-wf #22

Closed ghost closed 6 years ago

ghost commented 6 years ago

Importing 'cmsearch-multimodel-wf.cwl' workflow in galaxy triggers exception below

raise exceptions.MessageException("The data content does not appear to be a valid workflow.")
ghost commented 6 years ago

Fix in galaxy repo f2a4645ad7e33db2702930098d3b85d9414ece36

ghost commented 6 years ago

Now, import fails with error below

ValidationException: database/tmp/tmpM55sBv:21:1: checking field `steps`
database/tmp/tmpM55sBv:44:5:   checking object `database/tmp/tmpM55sBv#concatenate_matches`
database/tmp/tmpM55sBv:51:5:     Field `run` contains undefined reference to `file:///.../galaxy/database/utils/concatenate.cwl`
database/tmp/tmpM55sBv:52:5:   checking object `database/tmp/tmpM55sBv#remove_overlaps`
database/tmp/tmpM55sBv:60:5:     Field `run` contains undefined reference to `file:///.../galaxy/database/tools/cmsearch-deoverlap/cmsearch-deoverlap-v0.02.cwl`
ghost commented 6 years ago

Fix in workflow-is-cwl repo (the fix replace relative paths with absolute paths) a876284a106ef22905b5a57430dca7ca6b1bfaa3

ghost commented 6 years ago

Workflow import now works, but when trying to run the workflow, it fails with error below

Traceback (most recent call last):
  File "lib/galaxy/web/framework/decorators.py", line 285, in decorator
    rval = func(self, trans, *args, **kwargs)
  File "lib/galaxy/webapps/galaxy/api/workflows.py", line 417, in workflow_dict
    ret_dict = self.workflow_contents_manager.workflow_to_dict(trans, stored_workflow, style=style)
  File "lib/galaxy/managers/workflows.py", line 384, in workflow_to_dict
    return self._workflow_to_dict_run(trans, stored)
  File "lib/galaxy/managers/workflows.py", line 408, in _workflow_to_dict_run
    module_injector.inject(step, steps=workflow.steps, exact_tools=False)
  File "lib/galaxy/workflow/modules.py", line 1505, in inject
    module = step.module = module_factory.from_workflow_step(self.trans, step, **kwargs)
  File "lib/galaxy/workflow/modules.py", line 1382, in from_workflow_step
    return self.module_types[type].from_workflow_step(trans, step, **kwargs)
  File "lib/galaxy/workflow/modules.py", line 815, in from_workflow_step
    module = super(ToolModule, Class).from_workflow_step(trans, step, tool_id=tool_id, tool_version=tool_version, tool_hash=tool_hash, **kwds)
  File "lib/galaxy/workflow/modules.py", line 88, in from_workflow_step
    module = Class(trans, **kwds)
  File "lib/galaxy/workflow/modules.py", line 772, in __init__
    self.tool = trans.app.toolbox.get_tool(tool_id, tool_version=tool_version, exact=exact_tools, tool_hash=tool_hash)
  File "lib/galaxy/tools/toolbox/base.py", line 439, in get_tool
    tool_id = self._tools_by_hash[tool_hash].id
KeyError: u'e4de79296ec91ab9b8d8d9d71f94044a2561c01b9fc708e5197d432b453fa297'
ghost commented 6 years ago

Fix in galaxy repo 9e0d85bf082c312ffcdf44efb91a2aa41921952c

ghost commented 6 years ago

'cmsearch-multimodel-wf' workflow runs successfully in galaxy. It gives the same result as cwltool.

Remaining problems are: