Hi all,

Here’s a mail for heads up and googleable error message in case someone finds a 
similar error and scratches her/his head.

So (some time) after the very nice API class we had at GCC2015 I am now trying 
my hand at running workflows using Bioblend. I had some frustration trying to 
invoke a simple WF, but now found out that the inputs parameter to 
invoke_workflow is not as I thought it would be. I’m on the latest galaxy-dist 
and using Bioblend 0.7 in Python3.4.

So I thought I’d call e.g.:

gi.workflows.invoke_workflow(workflow_id, inputs={‘9678’: {’src’: ‘hda’, ‘id’: 
‘abcdef12345’}} , history_id=‘abc1234’)

Where the keys in inputs dict represent the ids from:
gi.workflows.get_workflow(workflow_id)[‘inputs’]

But apparently the new standard is to use the step_order (so 0 for the first 
step) instead of the step_id, as shown in the code at 
lib/galaxy/workflow/run_request.py
So this gave me the HTTP 400 error "Workflow cannot be run because an expected 
input step '84' has no input dataset."

I have reverted to using legacy code with run_workflow and dataset_map, which 
circumvents the problem:
gi.workflows.run_workflow(workflow_id, dataset_map={‘9678’: {’src’: ‘hda’, 
‘id’: ‘abcdef12345’}} , history_id=‘abc1234’)

Is there any way to specify inputs_by in the payload or am I on the wrong 
bioblend version? Otherwise I can file a request on the Bioblend github.

cheers,
— 
Jorrit Boekel
Proteomics systems developer
BILS / Lehtiö lab
Scilifelab Stockholm, Sweden



___________________________________________________________
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:
  https://lists.galaxyproject.org/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/

Reply via email to