Hi Saket If you want to redirect the executable's stdout to a new Galaxy dataset you've defined as $output, something like: > '$output' is a workable idiom for a command line AFAIK - you need to escape the redirection '>' character or you'll confuse the xml parser. It's often possible to hack a complex command line (or use configfile to write a script!) but as Peter says, it all boils down to personal preference - they all work. Use whatever you find most convenient but remember you may need to maintain it :) On Mon, Jun 3, 2013 at 9:05 PM, Peter Cock <p.j.a.cock@googlemail.com>wrote:
On Mon, Jun 3, 2013 at 11:53 AM, Saket Choudhary <saketkc@gmail.com> wrote:
As part of a warmup, I added a tool for perming eQTL analysis using PANAMA(http://ml.sheffield.ac.uk/qtl/panama/).
By default PANAMA writes to stderr and creates a PANAM_results.csv file in the same directory as the input files.
I wrote ... XML : https://gist.github.com/saketkc/5697388
Apparently the above XML runs too, but I dont get back a CSV. Essentially I need to move the PANAMA_results.csv file to output1. Can this be done without using a wrapper at all , just using the XML files ?
Is there a way to nest the commands in the XML so that I could do a <move command> after <panama command> , but how would the paths be specified ?
Hi Saket,
You could try this (two commands in one shell line), but catching error conditions would be a problem:
<command>panama $expression_data $snp_data; mv PANAMA_results.csv $output1</command>
In cases like this where the underlying tool is too inflexible to accept an output filename, I would personally use a wrapper script which can handle moving things to the desired location, and raising a clear error if the file was not created.
Peter