Most times I need a user supplied label substring. I'm not sure how else to conditionally set a string to a predetermined value other than with boolean true/false strings or select parameter values. One even more ugly option is to use a (strictly speaking now deprecated) post job exec hook to change the output dataset name based on some logic - but if the boolean works, I'd recommend moving on :) On Tue, Aug 30, 2011 at 7:56 AM, Nikhil Joshi <najoshi@ucdavis.edu> wrote:
Hi Ross,
Yes, I did try that... but what I want is string parameter that changes based on whether or not you've checked a checkbox (or a way to change the label of the output based on whether or not the checkbox was checked). So my idea below did work, but it seems like a hack. Which is why I was wondering if there was a better way.
- Nik.
On Mon, Aug 29, 2011 at 2:55 AM, Ross <ross.lazarus@gmail.com> wrote:
On Thu, Aug 25, 2011 at 6:34 AM, SHAUN WEBB <swebb1@staffmail.ed.ac.uk> wrote:
I meant to say label="${input}" or label="${input.value}.
Nikhil, did you try as Shaun and others have suggested? Any available string parameter can be used in a label as far as I can tell.
This is a common idiom - ask for a string ('title') to describe the job/output for posterity, then in an output:
<data format="foo" name="output1" metadata_source="input1" label="${title}.myext"/>
There's even a built in ${on_string} if you just want the file name plus some history ids?
On Mon, Aug 29, 2011 at 6:54 PM, Nikhil Joshi <najoshi@ucdavis.edu> wrote:
It looks like the Cheetah syntax only is parsed within the <command> tags.... so I figured out a way to do it... but it seems hackish. I basically changed the string values of truevalue and falsevalue within the parameter to be an English sentence that would become the label for the output. I.e., in the input section:
<param name="filter_reads" type="boolean" truevalue="Filtered Reads Fasta" falsevalue="Unfiltered Reads Fasta" label="Filter reads?"/>
and in the output section:
<data format="fasta" name="output_fasta" label="$filter_reads"/>
This seems wrong to do, but it does work. If anyone has a better method, please let me know!
- Nik.
On Thu, Aug 25, 2011 at 2:36 PM, Nikhil Joshi <najoshi@ucdavis.edu> wrote:
It's actually a boolean checkbox..... so I basically want the label to change based upon whether or not the checkbox is checked. Is there any way to do that? Again, I've tried using the Cheetah syntax to do the #if #end inside the <output> tags.... but that didn't work.
- Nik.
On Thu, Aug 25, 2011 at 6:34 AM, SHAUN WEBB <swebb1@staffmail.ed.ac.uk> wrote:
I meant to say label="${input}" or label="${input.value}.
If it's a select field then you can change the option values to the text you want to add to your output label.
Shaun
Quoting Kanwei Li <kanwei@gmail.com> on Wed, 24 Aug 2011 20:34:57 -0400:
Hi Nikhil,
The tool templates are Cheetah templates, so you can do things like:
<outputs> %if param == True: <data format="txt" name="blah" label="Label1" /> %else <data format="txt" name="blah" label="Label2" /> %endif </outputs>
Thanks,
K
On Wed, Aug 24, 2011 at 8:24 PM, Nikhil Joshi <najoshi@ucdavis.edu> wrote:
> Hi all, > > Is there a way to set the label of the output based on the input > parameters? Perhaps by using the <action> tag? Basically, I want > the > output label to be different if the user sets a particular parameter > to > be > true. >
-- Ross Lazarus MBBS MPH; Associate Professor, Harvard Medical School; Director of Bioinformatics, Channing Lab; Tel: +1 617 505 4850; Head, Medical Bioinformatics, BakerIDI; Tel: +61 385321444;