User Tools

Site Tools


conventions_de_nommage_des_parametres

Conventions de nommage des paramètres

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

Préfixes significatifs

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=

Signification de ces préfixes

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

Traitement des variables t_ par le wrapper

Le wrapper fera les traitements suivants sur les variables t_:

  • Il supprimera le préfixe et le remplacera par
  • Il remplacera tous les _ par des - (cela dépend de l'outil appelé, mais on ne peut pas mettre de - dans les fichiers xml de galaxy)
  • Les valeurs spéciales “True” et “False” sont gérées par le wrapper de la manière suivante:
    • Si la variable vaut True le switch correspondant est passé sans valeur
    • Si la variable vaut False le switch correspondant est supprimé de la ligne de commande

Quelques exemples

Les exemples suivants sont tirés du wrapper file_converter:

  • Tout ce code est encapsulé dans un conditional c_kingdom
  • Le paramètre correspondant au conditional est t_kingdom, il sera passé tel quel à l'outil
  • Lorsque la valeur de kingdom est bacteria, il y a des trucs en plus:
    • Un nouveau conditional apparaît: c_rep_origin, avec une case à cocher: x_rep_origin, dont le rôle est d'afficher/masquer les paramètres suivants
    • Si la case est cochée, les deux paramètres suivants: t_new_rep_origin et x_strand sont actifs
  • Les instructions cheetah en début de fichier montrent comment ces paramètres sont passés au wrapper, les préfixes permettent de comprendre le rôle des différentes variables.
    • ATTENTION: Le tag when 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>
conventions_de_nommage_des_parametres.txt · Last modified: 2014/02/13 13:37 by manu