Hi,

Is there a way to pipe in the same xml wrapper two scripts in different languages, the output of the first script becoming the input of the second ?
I know that the spirit of galaxy would be to make a workflow, but the intermediate output in the present case is not interesting at all and may confuse the user.

I am testing something like :
        <command interpreter="python">plotter.py $input $minsize $maxsize $factor $output</command>
        <command interpreter="bash">r_wrapper.sh $Rplotter</command>
        <inputs>
                <param name="input" type="data" format="tabular" label="Compute Plot table from this bowtie standard output"/>
                <param name="minsize" type="integer" size="3" value="20" label="Min size of small RNA to plot" help="'20' = 20 nucleotides"/>
                <param name="maxsize" type="integer" size="3" value="22" label="Max size of small RNA to plot" help="'22' = 22 nucleotides"/>
                <param name="factor" type="float" size="6" value="1.00" label="Normalization factort" help="leave at 1.00 for no normalization"/>
                <param name="title" type="text" size="15" value="Main Title" label="Main Titles"/>
                <param name="xlabel" type="text" size="15" value="Coordinates (nt)" label="x axis label"/>
                <param name="ylabel" type="text" size="15" value="Normalized number of reads" label="y axis label"/>
                <param name="yrange" type="integer" size="6" value="400" label="y axis range"/>

        </inputs>
  <configfiles>
    <configfile name="Rplotter">
      ## Setup R error handling to go to stderr
      options( show.error.messages=F,
               error = function () { cat( geterrmessage(), file=stderr() ); q( "no", 1, F ) } )
      tab = read.delim("${output}", header=TRUE)
      ## Open output PDF file
      pdf( "${outputFinal}" )

      #determining y and x axis ranges
      MAXcoord =  max(tab[,1]) + 100
      MINcoord = min(tab[,1])
      MMAX = ${yrange}
      plot(tab[,1], tab[,2], type="h", xaxt="n", xlim=c(MINcoord , MAXcoord), ylim=c(-MMAX , MMAX), frame.plot=FALSE, lwd=2, las=2, xlab= "${xlabel}", ylab="${ylabel}", main = "${title}")
      lines(tab[,1], tab[,3], type="h", lwd=2)
      axis(1)

      ## Close the PDF file
      devname = dev.off()
    </configfile>
  </configfiles>

        <outputs>
                <data name="output" format="tabular" label= "Data Frame"/>
                <data name="outputFinal" format="pdf" label= "PDF plot"/>
        </outputs>

but the second script output is empty. I suspect that the second script is launched when the output of the first script is not available yet.


Thanks for the help

Chris