However, if I understand it right, the idea of the XML tool config is to provide a description of the galaxy graphical user interface rather then a general description of the actual tool's interface.
No, the XML config describes a tool in abstract/essence: inputs, parameters, and outputs. Rendering of a tool can be done any number of ways.
- param tag: I havent really understood how you define a parameter to be mandatory or optional. I see when it is the child of the repeat element that there is (maybe) a minimum defined. But when this is not the case, how can I conclude that the parameter is optional vs. mandatory ?
Parameters have an 'optional' attribute. See here for details on tool and parameter config in general:
- param tag's help attribute: can I assume any format, or is it simply the output of the tools help command ?
Format is simply text.
- when do you update the tools and in turn the XML configs. (e.g. the gatk stuff is kind of outdated: 1.4 vs 2.6 )
The depends on a number of factors, including tool stability, dependencies, usage level, and ease of updating.
You might be able to reuse some of that code in a stand-alone script.
J.