Question: Conditional Variables Not Available On The Command Line?
0
Jacob Biesinger • 10 wrote:
Hi!
I have a tool with three possible types of input. A flag is set to
either
'bed', 'resource' or 'file' for the two inputs. I've noticed that the
conditional variables are not available on the command line, so is
there
some other way of setting these flags?
So far, the UI handles the 3 possible input types nicely, but I'd like
to
set the format1 and format2 flags directly from the conditional. It
seems
that the conditional parameters aren't seen by cheetah. I also tried
using
'hidden' parameters, but those seem to be for totally different uses.
# USAGE:
# python enrichment_pairwise.py myfile.bed geneExons --format1=bed
--format2=resource --genome_resource=hg18 --output_file=overlap.txt
Trying to run this in galaxy gives:
Traceback (most recent call last):
File "/home/wbiesing/galaxy_dist/lib/galaxy/jobs/runners/local.py",
line
55, in run_job
job_wrapper.prepare()
File "/home/wbiesing/galaxy_dist/lib/galaxy/jobs/__init__.py", line
355,
in prepare
self.command_line = self.tool.build_command_line( param_dict )
File "/home/wbiesing/galaxy_dist/lib/galaxy/tools/__init__.py", line
1397,
in build_command_line
command_line = fill_template( self.command, context=param_dict )
File "/home/wbiesing/galaxy_dist/lib/galaxy/util/template.py", line
9, in
fill_template
return str( Template( source=template_text, searchList=[context] )
)
File
"/home/wbiesing/galaxy_dist/eggs/Cheetah-2.2.2-py2.6-linux-
x86_64-ucs4.egg/Cheetah/Template.py",
line 1004, in __str__
return getattr(self, mainMethName)()
File
"cheetah_DynamicallyCompiledCheetahTemplate_1280646041_98_13115.py",
line 89, in respond
NotFound: cannot find 'res1_select
My tool's XML file looks like:
<command interpreter="python">enrichment_pairwise.py $resource1
$resource2
--format1=$res1_select --format2=$res2_select --genome_resource=$dbkey
--output_file=$outputFile</command>
<inputs>
<conditional name="resource1_test">
<param name="res1_select" type="select" label="Input type
for
resource1">
<option value="bed">BED File</option>
<option value="resource">Worldbase Resource</option>
<option value="file">File with list of Worldbase
Resources</option>
</param>
<when value="bed">
<param name="resource1" type="data" format="bed" label="Bed
file for resource1"/>
</when>
<when value="resource">
<param name="resource1" type="text" label="Worldbase ID
for
resource1"/>
</when>
<when value="file">
<param name="resource1" type="data" format="text" label="Text
file with Worldbase IDs to iterate over for resource1"/>
</when>
</conditional>
<conditional name="resource2_test">
<param name="res2_select" type="select" label="Input type
for
resource2">
<option value="bed">BED File</option>
<option value="resource">Worldbase Resource</option>
<option value="file">File with list of Worldbase
Resources</option>
</param>
<when value="bed">
<param name="resource2" type="data" format="bed" label="Bed
file for resource2"/>
</when>
<when value="resource">
<param name="resource2" type="text" label="Worldbase ID
for
resource2"/>
</when>
<when value="file">
<param name="resource2" type="data" format="text" label="Text
file with Worldbase IDs to iterate over for resource2"/>
</when>
</conditional>
</inputs>
Thanks for your help!
--
Jake Biesinger
Graduate Student
Xie Lab, UC Irvine
(949) 231-7587
ADD COMMENT
• link
•
modified 8.3 years ago
by
James Taylor ♦ 470
•
written
8.3 years ago by
Jacob Biesinger • 10