'KeyError' in workflow extraction when using newer tool version
Dear all One of my users has encountered a problem with extracting a workflow from a history in our local Galaxy installation (tag latest_2014.08.11, changeset 14342:db520d154716). The history was created with a version of a local tool which has since been updated, and the extraction page warns that the newer version of the tool will be used for those datasets i.e.: Dataset was created with tool version "0.0.4", but workflow extraction will use version "0.0.7". However when the extraction is run it fails immediately: the user sees the "Internal Server Error" page, and in the log I see: ===== Error - <type 'exceptions.KeyError'>: 'platform' URL: https://galaxy.ls.manchester.ac.uk/workflow/build_from_current_history File '/home/galaxy/production/galaxy-dist/lib/galaxy/web/framework/middleware/error.py', line 149 in __call__ app_iter = self.application(environ, sr_checker) File '/home/galaxy/production/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/recursive.py', line 84 in __call__ return self.application(environ, start_response) File '/home/galaxy/production/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/httpexceptions.py', line 633 in __call__ return self.application(environ, start_response) File '/home/galaxy/production/galaxy-dist/lib/galaxy/web/framework/base.py', line 132 in __call__ return self.handle_request( environ, start_response ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/web/framework/base.py', line 190 in handle_request body = method( trans, **kwargs ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/webapps/galaxy/controllers/workflow.py', line 1220 in build_from_current_history workflow_name=workflow_name File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 30 in extract_workflow steps = extract_steps( trans, history=history, job_ids=job_ids, dataset_ids=dataset_ids, dataset_collection_ids=dataset_collection_ids ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 104 in extract_steps tool_inputs, associations = step_inputs( trans, job ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 271 in step_inputs associations = __cleanup_param_values( tool.inputs, param_values ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 330 in __cleanup_param_values cleanup( "", inputs, values ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 327 in cleanup group_values = values[input.name] KeyError: 'platform' ===== 'platform' is a conditional parameter that was introduced into the tool between the two versions. It looks like when tying to use the newer verison of the new tool, that the new parameter is not getting picked up. Is this expected behaviour? (Btw I've seen a similar issue i.e. the "KeyError: 'platform' exception when I have the two versions of this tool installed from a local toolshed, and try switching between to the newer one from the older one.) Any help or suggestions are greatly appreciated. Many thanks Peter -- Peter Briggs peter.briggs@manchester.ac.uk Bioinformatics Core Facility University of Manchester B.1083 Michael Smith Bldg Tel: (0161) 2751482
Sorry this has been sitting in my inbox for a while - because I wanted to try to fix it before the next release but I don't think it is going to happen. Generically - it doesn't surprise me that Galaxy can handle certain parameters changing between versions but not conditionals - they are handled in a much more complex manner. I have updated this (https://trello.com/c/INCluhxP) Trello card to reference this problem. Sorry I don't have better news right now. -John On Tue, Sep 23, 2014 at 5:54 AM, Peter Briggs <peter.briggs@manchester.ac.uk> wrote:
Dear all
One of my users has encountered a problem with extracting a workflow from a history in our local Galaxy installation (tag latest_2014.08.11, changeset 14342:db520d154716).
The history was created with a version of a local tool which has since been updated, and the extraction page warns that the newer version of the tool will be used for those datasets i.e.:
Dataset was created with tool version "0.0.4", but workflow extraction will use version "0.0.7".
However when the extraction is run it fails immediately: the user sees the "Internal Server Error" page, and in the log I see: ===== Error - <type 'exceptions.KeyError'>: 'platform' URL: https://galaxy.ls.manchester.ac.uk/workflow/build_from_current_history File '/home/galaxy/production/galaxy-dist/lib/galaxy/web/framework/middleware/error.py', line 149 in __call__ app_iter = self.application(environ, sr_checker) File '/home/galaxy/production/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/recursive.py', line 84 in __call__ return self.application(environ, start_response) File '/home/galaxy/production/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/httpexceptions.py', line 633 in __call__ return self.application(environ, start_response) File '/home/galaxy/production/galaxy-dist/lib/galaxy/web/framework/base.py', line 132 in __call__ return self.handle_request( environ, start_response ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/web/framework/base.py', line 190 in handle_request body = method( trans, **kwargs ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/webapps/galaxy/controllers/workflow.py', line 1220 in build_from_current_history workflow_name=workflow_name File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 30 in extract_workflow steps = extract_steps( trans, history=history, job_ids=job_ids, dataset_ids=dataset_ids, dataset_collection_ids=dataset_collection_ids ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 104 in extract_steps tool_inputs, associations = step_inputs( trans, job ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 271 in step_inputs associations = __cleanup_param_values( tool.inputs, param_values ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 330 in __cleanup_param_values cleanup( "", inputs, values ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 327 in cleanup group_values = values[input.name] KeyError: 'platform' =====
'platform' is a conditional parameter that was introduced into the tool between the two versions. It looks like when tying to use the newer verison of the new tool, that the new parameter is not getting picked up. Is this expected behaviour?
(Btw I've seen a similar issue i.e. the "KeyError: 'platform' exception when I have the two versions of this tool installed from a local toolshed, and try switching between to the newer one from the older one.)
Any help or suggestions are greatly appreciated.
Many thanks
Peter
-- Peter Briggs peter.briggs@manchester.ac.uk Bioinformatics Core Facility University of Manchester B.1083 Michael Smith Bldg Tel: (0161) 2751482
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
Hello John Thanks for taking a look, and for the explanation. It's useful to know that it's not something intrinsically wrong with what I've been doing, and I'll work around it for now. It's good to know that it's targeted for a fix at some point, even if it doesn't make it into the next release. Thanks again, best wishes Peter On 01/10/14 18:09, John Chilton wrote:
Sorry this has been sitting in my inbox for a while - because I wanted to try to fix it before the next release but I don't think it is going to happen.
Generically - it doesn't surprise me that Galaxy can handle certain parameters changing between versions but not conditionals - they are handled in a much more complex manner. I have updated this (https://trello.com/c/INCluhxP) Trello card to reference this problem.
Sorry I don't have better news right now.
-John
On Tue, Sep 23, 2014 at 5:54 AM, Peter Briggs <peter.briggs@manchester.ac.uk> wrote:
Dear all
One of my users has encountered a problem with extracting a workflow from a history in our local Galaxy installation (tag latest_2014.08.11, changeset 14342:db520d154716).
The history was created with a version of a local tool which has since been updated, and the extraction page warns that the newer version of the tool will be used for those datasets i.e.:
Dataset was created with tool version "0.0.4", but workflow extraction will use version "0.0.7".
However when the extraction is run it fails immediately: the user sees the "Internal Server Error" page, and in the log I see: ===== Error - <type 'exceptions.KeyError'>: 'platform' URL: https://galaxy.ls.manchester.ac.uk/workflow/build_from_current_history File '/home/galaxy/production/galaxy-dist/lib/galaxy/web/framework/middleware/error.py', line 149 in __call__ app_iter = self.application(environ, sr_checker) File '/home/galaxy/production/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/recursive.py', line 84 in __call__ return self.application(environ, start_response) File '/home/galaxy/production/galaxy-dist/eggs/Paste-1.7.5.1-py2.6.egg/paste/httpexceptions.py', line 633 in __call__ return self.application(environ, start_response) File '/home/galaxy/production/galaxy-dist/lib/galaxy/web/framework/base.py', line 132 in __call__ return self.handle_request( environ, start_response ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/web/framework/base.py', line 190 in handle_request body = method( trans, **kwargs ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/webapps/galaxy/controllers/workflow.py', line 1220 in build_from_current_history workflow_name=workflow_name File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 30 in extract_workflow steps = extract_steps( trans, history=history, job_ids=job_ids, dataset_ids=dataset_ids, dataset_collection_ids=dataset_collection_ids ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 104 in extract_steps tool_inputs, associations = step_inputs( trans, job ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 271 in step_inputs associations = __cleanup_param_values( tool.inputs, param_values ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 330 in __cleanup_param_values cleanup( "", inputs, values ) File '/home/galaxy/production/galaxy-dist/lib/galaxy/workflow/extract.py', line 327 in cleanup group_values = values[input.name] KeyError: 'platform' =====
'platform' is a conditional parameter that was introduced into the tool between the two versions. It looks like when tying to use the newer verison of the new tool, that the new parameter is not getting picked up. Is this expected behaviour?
(Btw I've seen a similar issue i.e. the "KeyError: 'platform' exception when I have the two versions of this tool installed from a local toolshed, and try switching between to the newer one from the older one.)
Any help or suggestions are greatly appreciated.
Many thanks
Peter
-- Peter Briggs peter.briggs@manchester.ac.uk Bioinformatics Core Facility University of Manchester B.1083 Michael Smith Bldg Tel: (0161) 2751482
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
-- Peter Briggs peter.briggs@manchester.ac.uk Bioinformatics Core Facility University of Manchester B.1083 Michael Smith Bldg Tel: (0161) 2751482
participants (2)
-
John Chilton
-
Peter Briggs