comparison mytools/cdf.xml @ 9:87eb5c5ddfe9

Uploaded
author xuebing
date Fri, 09 Mar 2012 20:01:43 -0500
parents f0dc65e7f6c0
children
comparison
equal deleted inserted replaced
8:361ec1c0479d 9:87eb5c5ddfe9
1 <tool id="cdf" name="CDF">
2 <description>plot of multiple numeric columns</description>
3 <command>cat $script_file | R --vanilla --slave > $out_log </command>
4 <inputs>
5 <param name="title" type="text" value="CDF plot" size="30" label="Plot title"/>
6 <param name="xlabel" type="text" value="value" size="30" label="xlabel"/>
7 <param name="log" label="log2 transform the data" type="boolean" truevalue="log" falsevalue="none" checked="False"/>
8 <param name="zero" label="remove zero" type="boolean" truevalue="zero" falsevalue="none" checked="False"/>
9 <param name="legendloc" type="select" label="legend location on CDF plot" >
10 <option value="bottomright" selected="true">bottomright</option>
11 <option value="bottomleft">bottomleft</option>
12 <option value="bottom">bottom</option>
13 <option value="left">left</option>
14 <option value="topleft">topleft</option>
15 <option value="top">top</option>
16 <option value="topright">topright</option>
17 <option value="right">right</option>
18 <option value="center">center</option>
19 </param>
20 <repeat name="series" title="sample">
21 <param name="label" type="text" value="" size="30" label="data label"/>
22 <param name="input" type="data" format="tabular" label="dataset"/>
23 <param name="column" type="integer" value="2" label="column number (-1 for last column)"/>
24 </repeat>
25
26 </inputs>
27
28 <configfiles>
29 <configfile name="script_file">
30 ## Setup R error handling to go to stderr
31 options(warn=-1)
32 source("/Users/xuebing/galaxy-dist/tools/mytools/cdf.r")
33 uselog = as.character("${log}")
34 zero = as.character("${zero}")
35 title = as.character("${title}")
36 xlabel = as.character("${xlabel}")
37 if (uselog=='log'){
38 xlabel = paste('log2',xlabel)
39 }
40
41 labels = character(0)
42 x = list()
43 #for $i, $s in enumerate( $series )
44 labels = c(labels,"${s.label.value}")
45 x0 = read.table( "${s.input.file_name}" ,sep='\t')
46 col = ${s.column.value}
47 if (col == -1) {col = ncol(x0)}
48 x0 = x0[,col]
49 if (zero == 'zero'){
50 x0 = x0[x0 != 0]
51 }
52 if (uselog=='log'){
53 x0=log2(1+x0)
54 }
55 print("${s.label.value}")
56 summary(x0)
57 x[[$i+1]] = x0
58 #end for
59 pdf("${out_file}")
60 mycdf(x,title,labels,"${legendloc}",xlabel,'')
61 dev.off()
62 </configfile>
63 </configfiles>
64
65 <outputs>
66 <data format="txt" name="out_log" label="${tool.name} on ${on_string}: (log)" />
67 <data format="pdf" name="out_file" label="${tool.name} on ${on_string}: (plot)" />
68 </outputs>
69
70 <help>
71
72 .. class:: infomark
73
74 This tool generate barplot and CDF plot comparing multiple numeric columns in different files.
75
76
77 </help>
78 </tool>