Hi all, I am having trouble with what looked to me at first to be a "simple" syntactical issue with writing the XML wrapper for a new Galaxy tool. I had thought this would be easy, but perhaps I am missing something incredibly simple, as I am having no success at all. The relevant parts look something like this: <command interpreter="sh"> mycommand.sh -i $input #if $param_file.use_params == "true"# -p $params #end if </command> <inputs> <param format="fasta" name="input" type="data" label="Source File"/> <conditional name="param_file"> <param name="use_params" type="select" label="Use custom parameter file?"> <option value="true">Yes</option> <option value="false" selected="true">No</option> </param> <when value="true"> <param format="text" name="params" type="data" label="Parameter File" value=""/> </when> </conditional> </inputs> It's very simple, I just want the line "-p $params" to appear in the command line when the parameter "use_params" parameter is set to true. However, when building the command line statement to run, I get this error: ---------------------- Traceback (most recent call last): File "/Users/jrl909/Galaxy/galaxy-dist/lib/galaxy/jobs/runners/local.py", line 59, in run_job job_wrapper.prepare() File "/Users/jrl909/Galaxy/galaxy-dist/lib/galaxy/jobs/__init__.py", line 424, in prepare self.command_line = self.tool.build_command_line( param_dict ) File "/Users/jrl909/Galaxy/galaxy-dist/lib/galaxy/tools/__init__.py", line 1827, in build_command_line command_line = fill_template( self.command, context=param_dict ) File "/Users/jrl909/Galaxy/galaxy-dist/lib/galaxy/util/template.py", line 9, in fill_template return str( Template( source=template_text, searchList=[context] ) ) File "/Users/jrl909/Galaxy/galaxy-dist/eggs/Cheetah-2.2.2-py2.7-macosx-10.6-intel-ucs2.egg/Cheetah/Template.py", line 1004, in __str__ return getattr(self, mainMethName)() File "cheetah_DynamicallyCompiledCheetahTemplate_1328561167_73_97196.py", line 84, in respond NotFound: cannot find 'use_params' while searching for 'param_file.use_params' ------------------- As far as I can tell, the syntax I've used here is the same as that found in the example file suggested by the Galaxy documentation: interval2maf.xml (what I see as the "relevant" sections being reproduced below): --------------- <command interpreter="python"> #if $maf_source_type.maf_source == "user" #interval2maf.py --dbkey=${input1.dbkey} --chromCol=${input1.metadata.chromCol} --startCol=${input1.metadata.startCol} --endCol=${input1.metadata.endCol} --strandCol=${input1.metadata.strandCol} --mafFile=$maf_source_type.mafFile --mafIndex=$maf_source_type.mafFile.metadata.maf_index --interval_file=$input1 --output_file=$out_file1 --mafIndexFile=${GALAXY_DATA_INDEX_DIR}/maf_index.loc --species=$maf_source_type.species #else #interval2maf.py --dbkey=${input1.dbkey} --chromCol=${input1.metadata.chromCol} --startCol=${input1.metadata.startCol} --endCol=${input1.metadata.endCol} --strandCol=${input1.metadata.strandCol} --mafType=$maf_source_type.mafType --interval_file=$input1 --output_file=$out_file1 --mafIndexFile=${GALAXY_DATA_INDEX_DIR}/maf_index.loc --species=$maf_source_type.species #end if# --split_blocks_by_species=$split_blocks_by_species_selector.split_blocks_by_species #if $split_blocks_by_species_selector.split_blocks_by_species == "split_blocks_by_species"# --remove_all_gap_columns=$split_blocks_by_species_selector.remove_all_gap_columns #end if </command> <inputs> ... blahblahblah ... <conditional name="split_blocks_by_species_selector"> <param name="split_blocks_by_species" type="select" label="Split blocks by species" help="Not usually applicable. See help below for more information."> <option value="split_blocks_by_species">Split by species</option> <option value="dont_split_blocks_by_species" selected="true">Do not split</option> </param> <when value="dont_split_blocks_by_species"> <!-- do nothing here --> </when> <when value="split_blocks_by_species"> <param name="remove_all_gap_columns" type="select" label="Collapse empty alignment columns"> <option value="remove_all_gap_columns" selected="true">Collapse empty columns</option> <option value="do_not_remove_all_gap_columns">Do not collapse</ option> </param> </when> </conditional> </inputs> ------------------- As you can see, the field 'split_blocks_by_species' is referenced in an #if-block in the command specification the same way my 'use_params' field is. I would like very much to know the apparently crucial difference that I'm missing! Thanks, -Jeff