Hey,

I'm writing a XML for a tool that produces a number of output files. As the 
number is not known before the tool is run, I used the strategy outlined here:
http://wiki.galaxyproject.org/Admin/Tools/Multiple%20Output%20Files#Number_of_Output_datasets_cannot_be_determined_until_tool_run

First, I tried my tool definition in a galaxy instance in a virtual machine to 
not interrupt our production instance (we have a local instance set up). Here, 
everything worked fine. When trying the same code in our production galaxy 
instance, it didn't: Regardless of how many output files were produced, only 
one appears in the history. (the first one, corresponding to "output1" in the 
references wiki entry). When looking at the temp directory provided to the tool 
by galaxy ("$__new_file_dir__" in the wiki, it always points to 
"galaxy-dist/database/tmp/"), the additional output files have been created by 
my tool and are named correctly (e.g. primary_123_output2_visible_fastq, 
primary_123_output3_visible_fastq, …)

Both instances are new, based on release_2013.06.03.

Is there any setting in galaxy somewhere that could prevent this from working?

Thanks for your help
Chris

PS: I wrote a little python script that just creates multiple output files, and 
the discrepancy between the two instances is reproducible. Here is the code for 
the python script and the corresponding XML:

#######
import subprocess
import argparse
import os

def main():
   parser = argparse.ArgumentParser()

   parser.add_argument('-i', type=int)

   parser.add_argument('output1')
   parser.add_argument('output1_id')
   parser.add_argument('out_dir')
   args = parser.parse_args()
   print 'Wrapper arguments:', args

   with open(args.output1, 'w') as f:
       f.write('output1')

   for i in range(2, args.i+1):
       name = 'output%i'%i
       file_type = 'text'
       fname = '%s_%s_%s_%s_%s' % ('primary', args.output1_id, name, 'visible', 
file_type)
       with open(os.path.join(args.out_dir, fname), 'w') as f:
           f.write('output%i'%i)

if __name__ == "__main__":
   main()
############################
###########################
<tool name="MultiOutTest" id="multiouttest">
 <description>Multiple Outputs test</description>
   <command interpreter="python">
   multiout.py
   -i $how_many
   $output1
   $output1.id
   $__new_file_path__
   </command>
<inputs>
 <param name="how_many" type="integer" value="2" label="How many output 
files?"/>
</inputs>
<outputs>
   <data name="output1" format="txt"/>
</outputs>
<help>
This is some help text.
</help>
</tool>
#################################

Attachment: smime.p7s
Description: S/MIME cryptographic signature

___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  http://lists.bx.psu.edu/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/

Reply via email to