Quelques idées sur des conventions de nommages des paramètres tels qu'ils apparaissent dans le fichier xml (et donc aussi dans les wrappers).
Ces idées ont été implémentées dans le tool file_converter
Les paramètres qui apparaissent dans le fichier xml commencent obligatoirement par l'un de ces quatre préfixes: t_ w_ c_ w_
Il s'agit des noms qui apparaîtront dans les différents tags dans le name=
t_ | Ces variables seront passées “presque” telles quelles au programme wrappé (au tool). cf. ci-dessous pour la signification du presque. |
w_ | Ces variables seront interprétées par le wrapper |
c_ | Ces variables apparaissent dans un tag conditional , le nom qui suit est le nom (moins sont préfixe) de la variable sur laquelle se joue la condition |
x_ | Ces variables ne sortent pas du fichier xml, et n'apparaissent pas dans un conditional |
Le wrapper fera les traitements suivants sur les variables t_
:
–
_
par des -
(cela dépend de l'outil appelé, mais on ne peut pas mettre de -
dans les fichiers xml de galaxy)Les exemples suivants sont tirés du wrapper file_converter:
c_kingdom
t_kingdom
, il sera passé tel quel à l'outilc_rep_origin
, avec une case à cocher: x_rep_origin
, dont le rôle est d'afficher/masquer les paramètres suivantst_new_rep_origin
et x_strand
sont actifswhen value=“eukaryote”
est très important car en son absence l'expression cheetah #if $c_kingdom.c_rep_origin
renverra une erreur, puisque la variable $c_kingdom.c_rep_origin
sera tout simplement inexistante.<command interpreter="perl">w_file_converter.pl ... --t_kingdom=${c_kingdom.t_kingdom} ... ## replication origin, only if bacteria #if $c_kingdom.c_rep_origin and $c_kingdom.c_rep_origin.x_rep_origin #if $c_kingdom.c_rep_origin.t_new_rep_origin #if $c_kingdom.c_rep_origin.x_strand --t_new_rep_origin=-${c_kingdom.c_rep_origin.t_new_rep_origin} #else --t_new_rep_origin=${c_kingdom.c_rep_origin.t_new_rep_origin} #end if #end if #end if ... </command> <conditional name="c_kingdom"> <param type="select" name="t_kingdom" value="eukaryote" help="" label="Kingdom" > <option value="eukaryote">Eukaryote</option> <option value="bacteria">Bacteria</option> </param> <when value="bacteria"> <conditional name="c_rep_origin"> <param label="New replication origin" name="x_rep_origin" help="" type="boolean" truevalue="True" /> <when value="True"> <param label="Position of the new replication origin" name="t_new_rep_origin" help="" type="text" value="" /> <param label="Reverse complement the sequence" name="x_strand" type="boolean" truevalue="-1" falsevalue="" value="" /> </when> </conditional> </when> <when value="eukaryote"> <param type="hidden" name="c_rep_origin" /> </when> </conditional>
Dans certains cas, on passe un paramètre au wrapper, qui se charge de l'interpréter pour passer les paramètres correspondants au tool. Par exemple c'est le cas des noms des fichiers sortie w_output_file5
à qui on passera le nom du dataset galaxy, mais le wrapper devra se charger de faire correspondre ce fichier avec l'un des fichiers fasta sortie de BioFile Converter.
<command interpreter="perl">w_file_converter.pl ... --w_output_file6=$w_output_file6 ... </command> <data format="fasta" name="w_output_file6" label="mRNA sequence from ${t_input_ann_file.name}" > <filter> (w_output_ann_format['w_output_ann_format'] == 'fasta')</filter> </data>