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
___________________________________________________________
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/

Reply via email to