Hi, I am wondering how to handle optional arguments in a tool wrapper for Galaxy. I looked at other wrappers but could not find the way to do the right thing. The <inputs> section of my tool contains: <param name="random_seed" type="integer" optional="true" label="Random seed" help="Seed number to use for the pseudo-random number generator." /> The <command> section looks like: Grinder -random_seed $random_seed However, when I run the tool through the webinterface without specifying a seed value, the jobs starts but fails with the error:
Traceback (most recent call last): File "/Users/galaxy/galaxy_dist/lib/galaxy/jobs/runners/local.py", line 56, in run_job job_wrapper.prepare() File "/Users/galaxy/galaxy_dist/lib/galaxy/jobs/__init__.py", line 371, in prepare self.command_line = self.tool.build_command_line( param_dict ) File "/Users/galaxy/galaxy_dist/lib/galaxy/tools/__init__.py", line 1525, in build_command_line command_line = fill_template( self.command, context=param_dict ) File "/Users/galaxy/galaxy_dist/lib/galaxy/util/template.py", line 9, in fill_template return str( Template( source=template_text, searchList=[context] ) ) File "/Users/galaxy/galaxy_dist/eggs/Cheetah-2.2.2-py2.6-macosx-10.6-universal-ucs2.egg/Cheetah/Template.py", line 1004, in __str__ return getattr(self, mainMethName)() File "DynamicallyCompiledCheetahTemplate.py", line 168, in respond NotFound: cannot find 'random_seed'
I assume that I need to adjust my <commands> section so that the "-random_seed $random_seed" parameter and values are issued only if $random_seed has been set to a value. Something like: Grinder #if ??? $random_seed ??? -random_seed $random_seed #end if The question is: how to do it? I tried a variety of syntaxes without success. Thanks, Florent