Re: [galaxy-dev] Number of outputs = number of inputs
My question is related to this post <http://dev.list.galaxyproject.org/Number-of-outputs-number-of-inputs-td4656644.html> in the archive. As recommended, I referred to http://wiki.galaxyproject.org/Admin/Tools/Multiple%20Output%20Files#Number_o... for some guidance on how to achieve multiple output files, specifically one set of six files per number of times the <repeat> tag is called. The example provided isn't that informative, however, as it doesn't show what the example_tool.sh command script is doing so I can make my perl wrapper script do the same thing. If I have six files total, do I only specify one in the <outputs> tag and then have the remaining 5 named according to the scheme in the perl wrapper? Or is it Galaxy that does the naming of the remaining files automatically? Is there a perl equivalent to the "$__new_file_path__" variable that I can use, or is this the literal resolved file path (e.g. "/opt/galaxy/... etc)? Right now, upon execution of my tool, if a user has two entries (so number of times <repeat> has executed is twice), my perl wrapper is called twice (good), but on the second call, Galaxy uses the same output filenames as the first run such that the first set of output files are all overwritten by the second execution (bad). How do I make sure that each <repeat> iteration results in a unique set of output files? Thanks for your help! Christina Shafer, Ph.D Regenerative Biology Laboratory Morgridge Institute for Research
On Tue, Jul 30, 2013 at 4:29 PM, Shafer, Christina <CShafer@morgridgeinstitute.org> wrote:
My question is related to this post in the archive. As recommended, I referred to http://wiki.galaxyproject.org/Admin/Tools/Multiple%20Output%20Files#Number_o... for some guidance on how to achieve multiple output files, specifically one set of six files per number of times the <repeat> tag is called. The example provided isn't that informative, however, as it doesn't show what the example_tool.sh command script is doing so I can make my perl wrapper script do the same thing. If I have six files total, do I only specify one in the <outputs> tag and then have the remaining 5 named according to the scheme in the perl wrapper? Or is it Galaxy that does the naming of the remaining files automatically? Is there a perl equivalent to the "$__new_file_path__" variable that I can use, or is this the literal resolved file path (e.g. "/opt/galaxy/... etc)?
Right now, upon execution of my tool, if a user has two entries (so number of times <repeat> has executed is twice), my perl wrapper is called twice (good), but on the second call, Galaxy uses the same output filenames as the first run such that the first set of output files are all overwritten by the second execution (bad). How do I make sure that each <repeat> iteration results in a unique set of output files?
The normal expectation is the Galaxy wrapper calls the tool ONCE only, with a more complex command line including multiple file names from the repeat. If I recall correctly from your last email, you are using a trick with semi colons to embed multiple shell commands in the <command> tag, one for each repetition of the <repeat> tag. I suggest you rework your Perl script to be designed to be called once for all the work, Peter
participants (2)
-
Peter Cock
-
Shafer, Christina