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
___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

  http://lists.bx.psu.edu/

Reply via email to