This is probably something only the Galaxy devs can answer, but I thought I’d give it a shot in the wider community. Some of you are doing some very complicated stuff.
If you have a workflow with several input blocks, you might have multiple fastq files you need to provide. A good example of this is paired-end analysis – it doesn’t really matter in which order you provide the fastq files for R1 and R2,
but providing just one or the other twice requires user intervention.
It would be really nice if Galaxy assigned a unique value from the history to runtime parameters (tool params and input modules) before reusing datasets. I’m trying to get the initial form for running a workflow as close as possible to
“right” to reduce the number of steps a user has to go through. So, in this example, R1 would be assigned to one input and R2 to another (or the reverse), as the initial defaults.
Is that what the “context” parameter of ToolParameter.get_initial_value() is for? I see that is used for repeat-group and conditionals, but it’s used to store
all the eligible values, not just the ones chosen from the history so far. For other tools, it accumulates the input values chosen for the tool.
Would it be consistent with the design to modify templates/workflow/run.mako to accumulate a dictionary of datasets used, instead of clearing it for each module? Since InputDataModule uses DataToolParameter, I think I can make the change
in DataToolParameter and get input blocks and tools in one fell swoop, and history items would not be reused across the entire workflow, providing the number of runtime parameters did not exceed the number of compatible history items.
John Duddy
Sr. Staff Software Engineer
Illumina, Inc.
9885 Towne Centre Drive
San Diego, CA 92121
Tel: 858-736-3584
E-mail: jduddy@illumina.com