Hi,
how does/could this work in the workflow creation. How should/can I redirect all created outputs to a new tool which also accepts a dynamical number of inputs?
Cheers,
Jelle
Hi Guru!
Thank you very much for the detailed reply! - now it works.
Just one thing is strange: In the history appear the double amount of
files, half of them has size zero and contains actually nothing. I wrote
a program which splits a fasta/fastq file into n files. On the command
line it works fine (the names of the output files can be specified
directly via parameter).
However there are always 2n files of the history - half of them empty.
Any idea?
the xml-file looks as follows:
<tool id="seqan_splitter_1" name="FASTA splitter"force_history_refresh="True">
<description>Splits input files into pieces of desired size</description>./tools/RNA-seq/fasta-splitter/seqan_splitter
<command>
--source $source
--name-pattern primary_${resultset.id}_splitfile%_visible_fasta
--target-dir $__new_file_path__/
--maxsize $size
#if $format_input.type =="fasta"
--format fasta
#else
--format fastq
#end if
> /dev/null
##2> $log_report
</command>
<inputs>
<conditional name="format_input">
<param name="type" type="select" label="input file
format" optional="false">
<option value="fasta" selected="true">FASTA</option>
<option value="fastqsanger">FASTQSanger</option>
<option value="fastqsolexa">FASTQSolexa</option>
</param>
<when value="fasta">
<param format="fasta" name="source" type="data"
label="source file"/>
</when>
<when value="fastqsolexa">
<param format="fastqsolexa" name="source" type="data"
label="source file"/>
</when>
<when value="fastqsanger">
<param format="fastqsanger" name="source" type="data" label="source file"/>
</when>
</conditional>
<param name="size" type="integer" label="Size in Megabyte of</inputs>
each output file" value="500" optional="false"/>
<outputs>
<data format="fasta" name="resultset" label="Splitted file"/>
<!-- <data format="text" name="log_report" label="Detailed log report
from splitter"/>-->
</outputs>
<help>
</help>
</tool>
Thanks again!
greetings
mat
Guruprasad Ananda schrieb:
>> galaxy-user@bx.psu.edu <mailto:galaxy-user@bx.psu.edu>> 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 ($out_file.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.
> Guru
> 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)?
>>
>> Thanks!
>>
>>
>>
>> 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">
>> ./tools/RNA-seq/fasta-splitter/fasta-splitter.py
>> --maxsize $size
>> 2> $log_report
>> </command>
>>
>> <inputs>
>> <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"/>
>> </inputs>
>>
>> <outputs>
>> #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"/>
>> </outputs>
>>
>> </tool>
>>
>> _______________________________________________
>> galaxy-user mailing list
>> http://mail.bx.psu.edu/cgi-bin/mailman/listinfo/galaxy-user
>
> Regards,
>
> Guruprasad Ananda
> Graduate Student
> Bioinformatics and Genomics
> The Pennsylvania State University
>
>
>
_______________________________________________
galaxy-user mailing list
galaxy-user@bx.psu.edu
http://mail.bx.psu.edu/cgi-bin/mailman/listinfo/galaxy-user