Hi guys,
I made a very small code change so that the workflows API will display all the steps in a workflow, not just the inputs (these are still displayed separately, as before). I made a pull request even though the change is small, just to learn what I'm doing: https://bitbucket.org/galaxy/galaxy-central/pull-request/68/show-workflow-st...
But in doing so I noticed something in the workflows I don't understand. I can't see a connection between workflow "input datasets" and the steps they are inputting to. I doubt this is a bug, I just don't know how it's supposed to work, so I'm not sure if my API change is sufficient.
So for instance, if I create a small workflow with steps Input Dataset -> TopHat (accepted_hits bam file) -> Cufflinks and call the API on this workflow, I now see
{ "id": "f2db41e1fa331b3e", "inputs": { "1": { "label": "Input SE fastq", "value": "" } }, "name": "Tophat + cufflinks", "steps": { "1": { "id": 1, "input_steps": {}, "tool_id": null, "type": "data_input" }, "2": { "id": 2, "input_steps": {}, "tool_id": "tophat", "type": "tool" }, "3": { "id": 3, "input_steps": { "input": { "source_step": 2, "step_output": "accepted_hits" } }, "tool_id": "cufflinks", "type": "tool" } }, "url": "/api/workflows/f2db41e1fa331b3e" }
The "inputs" field was there before, the "steps" field is the new bit. So as expected, step 3 lists step 2 as an input. However step 2 does not list step 1 as an input, even though the GUI shows that they are connected and the workflow works. From other testing it seems that "Input Dataset" steps never appear wired up in my API response. I'm just iterating over all input_connections, so apparently steps of type data_input are not in the list of WorkflowStep.input_connections .
Is this how it should be? How can I find out which steps an Input Dataset is connected to?
Thanks, Clare
galaxy-dev@lists.galaxyproject.org