Hi Jean-Frederic
I am currently writing a Galaxy wrapper (for SortMeRNA [1]) and I would have several questions.
== Pre-processing an input ==
SortMeRNA filters rRNA reads against an indexed rRNA database. This database can either be one bundled together with SortMeRNA and defined in a relevant .loc file, or one from the history. Either way, it must have been processed beforehand with another binary (just like makeblastdb/blastp).
I am not sure of the best design here. *Providing another wrapperfor this other binary, with users explicitly using it beforehand in their workflow? *Assuming the databases have been processed outside of Galaxy beforehand ? (As the tool relies on the file name, this would work for databases in the .loc file but not ones from the history) *Providing an extra-smart wrapper which would check if the database has been indexed, and if not invisibly indexing before running SortMeRNA ?
or providing an extra-flexible wrapper (and its corresponding UI defined in the XML file): You first ask the question whether the database is in the history (indexed or to be indexed) or in the local files system. Then depending on the choice, the UI changes according the three options. There are several ways to offer a dynamic UI, eg: <conditional>/<when> tag sets, <page> tag set or possibilities with the "refresh_on_change" option.
== Error handling ==
I have been trying to use <stdio><regex> to catch an error (the one defined in above section actually) and inform the user with a meaningful message. From the console debug, it seems the error is correctly detected, since it displays the custom <regex description=""> : galaxy.jobs INFO 2013-01-22 19:02:04,198 Job 202: Fatal error: The database ${databases} has not been preprocessed using buildtrie before using SortMeRNA. But Galaxy only displays in the failed history a generic message « tool error An error occurred running this job: /Unable to finish job/ »
Am I missing something, or the <stdio><regex> is not meant to be used this way?
You should get the complete error message when you click on the 'bug' icon.
== Using a previously set choice to set a default value later ==
Main option Alpha (a binary choice A/B) influence the default value of advanced option Beta (a float). Beta is buried into the "advanced options" section − I’d rather not have it just next to Alpha.
Mirroring constructs seen in the <action>tag, I was hoping to do something like :
<conditional name="Alpha"> <param name="Alpha_selector" type="select" format="text"> <option value="A">Option A</option> <option value="B">Option B</option> </param> </conditional> […] <conditional name="Alpha.Alpha_selector"> <when value="A"> <param name="Beta" type="float" value="0.15"/> </when> <when value="B"> <param name="Beta" type="float" value="0.25"/> </when> </conditional> But that does not seem to work. Am I missing something, or is it just not possible ?
I don't think this is possible without having it just next to Alpha.
Alternatively, I looked into setting some hidden variable $default_value in the Alpha select, which would be used as <param name="Beta" value=$default_value/>, but that does not seem to work either
I hope this helps Regards, Hans-Rudolf
Thanks for your help!
[1] <http://bioinfo.lifl.fr/RNA/sortmerna/> -- Jean-Frédéric Bonsai Bioinformatics group
___________________________________________________________ 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: