I believe you have to tag with optional="true" when omitting the value: <param name="x" type="integer" optional="true" help="the x param"/>
Hi,
If I have a tool wrapper with this:
<param name="x" type="integer" help="the x param"/>
I get an error when I start Galaxy:
galaxy.tools ERROR 2012-09-19 12:09:08,056 Error reading tool from path: RGalaxy_test_tool/foo.xml Traceback (most recent call last): File "/Users/dtenenba/dev/galaxy-dist/lib/galaxy/tools/__init__.py", line 332, in load_tool_tag_set tool = self.load_tool( os.path.join( tool_path, path ), guid=guid ) File "/Users/dtenenba/dev/galaxy-dist/lib/galaxy/tools/__init__.py", line 450, in load_tool return ToolClass( config_file, root, self.app, guid=guid ) File "/Users/dtenenba/dev/galaxy-dist/lib/galaxy/tools/__init__.py", line 788, in __init__ self.parse( root, guid=guid ) File "/Users/dtenenba/dev/galaxy-dist/lib/galaxy/tools/__init__.py", line 959, in parse self.parse_inputs( root ) File "/Users/dtenenba/dev/galaxy-dist/lib/galaxy/tools/__init__.py", line 1043, in parse_inputs display, inputs = self.parse_input_page( page, enctypes ) File "/Users/dtenenba/dev/galaxy-dist/lib/galaxy/tools/__init__.py", line 1439, in parse_input_page inputs = self.parse_input_elem( input_elem, enctypes ) File "/Users/dtenenba/dev/galaxy-dist/lib/galaxy/tools/__init__.py", line 1532, in parse_input_elem param = self.parse_param_elem( elem, enctypes, context ) File "/Users/dtenenba/dev/galaxy-dist/lib/galaxy/tools/__init__.py", line 1544, in parse_param_elem param = ToolParameter.build( self, input_elem ) File "/Users/dtenenba/dev/galaxy-dist/lib/galaxy/tools/parameters/basic.py", line 176, in build return parameter_types[param_type]( tool, param ) File "/Users/dtenenba/dev/galaxy-dist/lib/galaxy/tools/parameters/basic.py", line 228, in __init__ raise ValueError( "The settings for the field named '%s' require a 'value' setting and optionally a default value which must be an integer" % self.name ) ValueError: The settings for the field named 'x' require a 'value' setting and optionally a default value which must be an integer
However, according to the documentation: http://wiki.g2.bx.psu.edu/Admin/Tools/Tool%20Config%20Syntax#A.3Cparam.3E_ta...
The "value" attribute to the param tag is not required.
It's easy to work around this, by adding value="", but I'm wondering if it's a bug, documentation or otherwise.
Thanks, Dan