It seems that the <conditional> element can only be used WITHIN a <data> element in the outputs.  But that won't do what I want.  I know that you can use <conditional> in the <inputs> element in that way, but it will NOT work that way in the <outputs> element.  However, I have found a way to do what I want using the <filter> element.  I basically have all the outputs for both the single-end and paired-end reads, but I filter out the outputs based on whether the user chose single or paired end.  If anyone has a better way to do it, I would love to know!

- Nik.

On Fri, Aug 26, 2011 at 4:26 PM, Duddy, John <jduddy@illumina.com> wrote:

The BWA tool in NGS mapping does just what you want, just for inputs. The general idea is to use a <conditional> element and define your extra output in a <when> block.

 

John Duddy
Sr. Staff Software Engineer
Illumina, Inc.
9885 Towne Centre Drive
San Diego, CA 92121
Tel: 858-736-3584
E-mail:
jduddy@illumina.com

 

From: galaxy-dev-bounces@lists.bx.psu.edu [mailto:galaxy-dev-bounces@lists.bx.psu.edu] On Behalf Of Nikhil Joshi
Sent: Friday, August 26, 2011 3:57 PM
To: galaxy-dev@lists.bx.psu.edu
Subject: [galaxy-dev] outputting different numbers of files based on variables?

 

Hi all,

Is it possible to output a different number of files based on variables that the use has chosen?  I have a program that will output different numbers of files based upon the input data.  So, for example, if the user wants to use a single-end fastq file, the program outputs only one file, however, if the user chooses paired-end fastq files, it outputs three files.  Is there any way to get that to work in just one tool?  I could make separate tools for single vs. paired end, but I'd rather not.

- Nik.