Galaxy's handling of dynamic options has some restrictions for sure outlined here and it is true that conditional test parameters cannot be set at runtime in workflow execution (the workflow form doesn't have the ability to restructure itself based on the conditional the way the tool form does). Aysam has started work on the tool form rewrite and hopefully this will provide some opportunities for a greater amount of dynamism - but those dynamic_options present some problems for moving stuff to the client side - since they require a Python 'eval'. At any rate there is a lot of work to do - especially if the desired end game is to get such parameters to work with workflow execution. Sometimes one can get the same effect as the page construct by splitting the tool into two - one that generates a config file or something and one that actually performs the computation. This is an unsatisfying solution in many ways though. Anyway - I don't have any great ideas on this issue - I have created a Trello card for Peter's conditional ideas https://trello.com/c/Ud7uut7R (and to collect some other open ones). -John On Sat, Aug 30, 2014 at 8:42 AM, Lukasse, Pieter <pieter.lukasse@wur.nl> wrote:
Hm...and now I’m completely stuck because apparently a conditional cannot be set at runtime in a workflow...? Ideas anyone?
Thanks,
Pieter.
From: galaxy-dev-bounces@lists.bx.psu.edu [mailto:galaxy-dev-bounces@lists.bx.psu.edu] On Behalf Of Lukasse, Pieter Sent: zaterdag 30 augustus 2014 14:22 To: 'Peter Cock'
Cc: galaxy-dev@lists.bx.psu.edu Subject: Re: [galaxy-dev] "when else" in <conditional> ? RE: refresh_on_change : is this a valid attribute? Any other ideas/options??
Yes, adding a "<when else>" option would be nice. However, what I really would like to have is a way to tell in one select box which other select box(es) should be refreshed when its value is changed by the user. For example:
<param name="cmb_col_type" type="select" label="Select column type" param_to_refresh_on_change="cmb_polarity"
display="radio" dynamic_options='get_column_type(library_file)'
help="" />
<param name="cmb_polarity" type="select" label="Select polarity"
display="radio" dynamic_options='filter_column(library_file,cmb_col_type)'
help="" />
So when cmb_col_type is changed, the dynamic_options of cmb_polarity are generated again by a new call to the function configured. I can create a Trello card, but I’m just wondering whether this is not already being planned by the team, especially with the Javascript/AJAX rework that is now planned/going on(?) for some time on the user interface?
Regards,
Pieter.
-----Original Message----- From: Peter Cock [mailto:p.j.a.cock@googlemail.com] Sent: zaterdag 30 augustus 2014 0:58 To: Lukasse, Pieter Cc: galaxy-dev@lists.bx.psu.edu Subject: Re: [galaxy-dev] "when else" in <conditional> ? RE: refresh_on_change : is this a valid attribute? Any other ideas/options??
On Fri, Aug 29, 2014 at 11:43 PM, Lukasse, Pieter <pieter.lukasse@wur.nl> wrote:
So I need to refresh on change....I see that if I have a conditional
item in my form, this causes a refresh of the page and a
(re)evaluation of my dynamic_options methods....so I could misuse this “feature”.
This is deliberate, although there has been talk of updating the conditional code to do the dependent parameters dynamically rather than server-side with a page refresh.
From your outline description, I think you should be using the Galaxy <conditional> tag.
However, it seems that when I have a <conditional> I must have a
<when> entry for every item in my select box. There is no “when else”
option?
I think you are right - I've asked in the past about this, e.g.
this discussion which appears not to have been fully on the mailing list though:
http://dev.list.galaxyproject.org/Multiple-values-in-lt-when-gt-tags-for-lt-...
This probably deserves to be tracked with a Trello Card...
Peter
___________________________________________________________ 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/