Mercurial > repos > xuebing > sharplabtool
view mytools/cdf.xml @ 7:f0dc65e7f6c0
Uploaded
author | xuebing |
---|---|
date | Fri, 09 Mar 2012 19:59:07 -0500 |
parents | |
children |
line wrap: on
line source
<tool id="cdf" name="CDF"> <description>plot of multiple numeric columns</description> <command>cat $script_file | R --vanilla --slave > $out_log </command> <inputs> <param name="title" type="text" value="CDF plot" size="30" label="Plot title"/> <param name="xlabel" type="text" value="value" size="30" label="xlabel"/> <param name="log" label="log2 transform the data" type="boolean" truevalue="log" falsevalue="none" checked="False"/> <param name="zero" label="remove zero" type="boolean" truevalue="zero" falsevalue="none" checked="False"/> <param name="legendloc" type="select" label="legend location on CDF plot" > <option value="bottomright" selected="true">bottomright</option> <option value="bottomleft">bottomleft</option> <option value="bottom">bottom</option> <option value="left">left</option> <option value="topleft">topleft</option> <option value="top">top</option> <option value="topright">topright</option> <option value="right">right</option> <option value="center">center</option> </param> <repeat name="series" title="sample"> <param name="label" type="text" value="" size="30" label="data label"/> <param name="input" type="data" format="tabular" label="dataset"/> <param name="column" type="integer" value="2" label="column number (-1 for last column)"/> </repeat> </inputs> <configfiles> <configfile name="script_file"> ## Setup R error handling to go to stderr options(warn=-1) source("/Users/xuebing/galaxy-dist/tools/mytools/cdf.r") uselog = as.character("${log}") zero = as.character("${zero}") title = as.character("${title}") xlabel = as.character("${xlabel}") if (uselog=='log'){ xlabel = paste('log2',xlabel) } labels = character(0) x = list() #for $i, $s in enumerate( $series ) labels = c(labels,"${s.label.value}") x0 = read.table( "${s.input.file_name}" ,sep='\t') col = ${s.column.value} if (col == -1) {col = ncol(x0)} x0 = x0[,col] if (zero == 'zero'){ x0 = x0[x0 != 0] } if (uselog=='log'){ x0=log2(1+x0) } print("${s.label.value}") summary(x0) x[[$i+1]] = x0 #end for pdf("${out_file}") mycdf(x,title,labels,"${legendloc}",xlabel,'') dev.off() </configfile> </configfiles> <outputs> <data format="txt" name="out_log" label="${tool.name} on ${on_string}: (log)" /> <data format="pdf" name="out_file" label="${tool.name} on ${on_string}: (plot)" /> </outputs> <help> .. class:: infomark This tool generate barplot and CDF plot comparing multiple numeric columns in different files. </help> </tool>