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