Dear Matthias,

Yes, you can define number of outputs dynamically in Galaxy. For doing this, you'll have to declare one output dataset in your xml and pass its ID ($ to your python script. Also, set force_history_refresh="True" in your tool tag in xml, like this:
<tool id="split1" name="Split" force_history_refresh="True">
In your script, if your outputs are named in the following format, primary_associatedWithDatasetID_designation_visibility_extension(_DBKEY), all your datasets will show up in the history pane. 
associatedWithDatasetID is the $out_file.ID passed from xml,
designation will be a unique identifier for each output (set in your script),
visibility can be set to visible if you want the dataset visible in your history, or notvisible otherwise
extension is the required format for your dataset (bed, tabular, fasta etc)
DBKEY is optional, and can be set if required (e.g. hg18, mm9 etc)

One of our tools "MAF to Interval converter" (tools/maf/maf_to_interval.xml) already uses this feature. You can use it as a reference.

Hope this answers your question. Please feel free to email us if you have any more queries.
Galaxy team.

On Sep 29, 2009, at 9:52 AM, Matthias Dodt wrote:

Hi galaxy-users!

I wrote a tool that splits a FASTA file into n output files, each one of
a predefined maximum size. The program could return the number of files
or a list of filenames...

Is it possible to define the number of outputs dynamically (nr of output
files dependent on input-filesize)?


till now i experimented with:

<tool id="seqan_splitter_1" name="FASTA splitter">
 <description>Splits input files into pieces of desired size</description>
 <command interpreter="python">
 --maxsize $size
 2> $log_report

<param name="source" type="data" format="fasta" label="input fasta file"/>
       <param name="size" type="integer" label="Size in Megabyte of
each output file" value="500" optional="false"/>
       <param name="files" type="hidden" value="10"/>

#for $i < $files
<data format="fasta" name="\$i" label="Splitted file"/>
#end for
       <data format="text" name="log_report" label="Detailed log report
from splitter"/>


galaxy-user mailing list


Guruprasad Ananda
Graduate Student
Bioinformatics and Genomics
The Pennsylvania State University