diff mytools/cdf.xml @ 7:f0dc65e7f6c0

Uploaded
author xuebing
date Fri, 09 Mar 2012 19:59:07 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mytools/cdf.xml	Fri Mar 09 19:59:07 2012 -0500
@@ -0,0 +1,78 @@
+<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>