Re: Comment choisir le répertoire de sortie pour un outil Galaxy? (sarah maman)

classic Classique list Liste threaded Arborescence
1 message Options
| Arborescence
Ouvrir ce message en vue arborescente
|

Re: Comment choisir le répertoire de sortie pour un outil Galaxy? (sarah maman)

Sarah Maman
Bonjour,

Voici ce que j'ai implémenter pour le choix du répertoire de sortie
(surtout pour les fichiers intermédiaires générés, pas pour l'output
"final" présenté dans l'historique de Galaxy) :
- Le fichier xml n'est pas impacté.
- Le script est modifié en créant un nouveau répertoire de sortie dans
lequel le fichier output est créé, puis je récupère l'output créé pour
le copier dans l'output automatiquement généré par Galaxy :

#!/usr/bin/perl -w
.....................

my $input_bam = $ARGV[0];
my $output_file = $ARGV[1];
my $input_dir = dirname($input_bam);
my $input_basename=basename($input_bam,'.bam');
my $input_bamsorted="$input_dir/${input_basename}-sorted";

..........................
$cmd = "($SCRIPT_BIOINFO $input_bam $input_bamsorted) >& ./samtools.log
2>&1";
system $cmd;
if (! -e "${input_bamsorted}.bam"){print STDERR "OUTPUT FILE NOT FOUND\n";}
else{`(cp ${input_bamsorted}.bam $output_file) >& ./cp.log 2>&1`}

close( IN );


Donc je pense que c'est un peu différent de l'objectif visé , mais si
cela peut être utile ...

A bientôt,
Sarah


>
> Message: 1
> Date: Wed, 12 Sep 2012 12:03:06 +0200
> From: Alban Lermine <[hidden email]>
> To: <[hidden email]>
> Subject: [Galaxy-france] Comment choisir le répertoire de sortie pour
> un outil Galaxy?
> Message-ID: <[hidden email]>
> Content-Type: text/plain; charset="ISO-8859-1"
>
> Bonjour à tous,
>
> Pour notre instance locale de Galaxy, nous souhaitions que nos
> utilisateurs puissent choisir l'emplacement ou écrire leurs résultats et
> cela sans "casser" les liens dans la base de donnée.
>
> Pour cela, nous avons ainsi mis en place une modification simple du xml
> des outils existants:
>
> Prenons l'exemple d'un outil simple dont le xml serait le suivant:
>
> <tool id="example" name="Tool example">
>   <description>Un exemple d'outil simple</description>
>   <command interpreter="bash">example.sh -i $input -o $output</command>
>   <inputs>
>     <param name="input" type="text" label="Input"/>
>   </inputs>
>   <outputs>
>     <data format="txt" name="output" label="outputExample"/>
>   </ouputs>
> </tool>
>
> Dans cet exemple, le fichier de sortie portera le nom "dataset_xxx" et
> sera écrit dans le répertoire par défaut
> <INSTALL_GALAXY>/galaxy-dist/database/files/000/
>
> La modification que nous allons apporter maintenant va nous permettre de
> définir le répertoire d'écriture de l'output ainsi que le nom du fichier.
>
> Après modification, le xml ressemble à ça:
>
> <tool id="example" name="Tool example">
>   <description>Un exemple d'outil simple</description>
>   <command interpreter="bash">example.sh -i $input -o $output;mv $output
> $output_dir/${file_name}.txt 2>/dev/null;ln -s
> $output_dir/${file_name}.txt $output</command>
>   <inputs>
>     <param name="input" type="text" label="Input"/>
>
>     <!-- Output directory-->
>
>     <param name="file_name" type="text" size="150" label="File name
> (without extension)">
>        <validator type="empty_field" message="You must specify a file
> name"/>
>     </param>
>     <param name="output_dir" type="text" size="150" label="Output
> directory">
>        <validator type="empty_field" message="You must specify an output
> path"/>
>     </param>
>
>     <!---->
>
>   </inputs>
>   <outputs>
>     <data format="txt" name="output" label="outputExample"/>
>   </ouputs>
> </tool>
>
> Nous avons 2 champs input pour le path et le nom du fichier de sortie
> (ainsi que les valideurs associés, l'outil ne s'execute pas si l'un de
> ces champs est vide).
> Puis dans la balise <command> , nous avons ajouter:
>
> mv $output $output_dir/${file_name}.txt 2>/dev/null;ln -s
> $output_dir/${file_name}.txt $output
>
> qui correpond à un move de
> <INSTALL_GALAXY>/galaxy-dist/database/files/000/dataset_xxx vers
> <OUTPUT_CHOISIT>/<NOM_DE_FICHIER_CHOISIT>,
> suivit de la création d'un lien symbolique
> <INSTALL_GALAXY>/galaxy-dist/database/files/000/dataset_xxx qui pointe
> vers <OUTPUT_CHOISIT>/<NOM_DE_FICHIER_CHOISIT>.
>
> Cette modification fonctionne très bien quelque soit l'interpreteur
> défini dans la balise <command>, et est surtout très rapide à mettre en
> place.
>
> Je suis très interressé de savoir si d'autres personnes ont implémentés
> une solution pour le choix du répertoire de sortie, et si oui de quelle
> manière?
>
> Bonne journée à tous,
>
> Alban
>
>  

_______________________________________________
Galaxy-France mailing list
[hidden email]
http://lists.bx.psu.edu/listinfo/galaxy-france