annotate macros.xml @ 0:b6211faea403 draft

planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
author mvdbeek
date Fri, 08 Jul 2016 15:09:10 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
1
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
2 <macro>
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
3 <xml name="help_macro">
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
4 <help>
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
5 .. class:: warningmark
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
6
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
7 **Details and attribution** Docker_toolfactory_
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
8
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
9 **If you find a bug** please raise an issue at the bitbucket repository Issues_
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
10
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
11 **What it does** This tool enables a user to paste and submit an arbitrary R/python/perl script to Galaxy.
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
12
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
13 **Input options** This version is limited to simple transformation or reporting requiring only a single input file selected from the history.
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
14
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
15 **Output options** Optional script outputs include one single new history tabular file, or for scripts that create multiple outputs,
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
16 a new HTML report linking all the files and images created by the script can be automatically generated.
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
17
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
18 .. class:: warningmark
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
19
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
20 **Note to system administrators** This tool uses docker containers as protection against malicious scripts. It should only be installed on private/personnal Galaxy instances.
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
21
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
22 .. class:: warningmark
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
23
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
24 **Use on public servers** is STRONGLY discouraged for obvious reasons
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
25
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
26 The tools generated by this tool will run just as securely as any other normal installed Galaxy tool but like any other new tools, should always be checked carefully before installation.
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
27 We recommend that you follow the good code hygiene practices associated with safe toolshed.
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
28
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
29 **Scripting conventions** The pasted script will be executed with the path to the (optional) input tabular data file path or NONE if you do not select one, and the path to the optional
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
30 output file or None if none is wanted, as the first and second command line parameters. The script must deal appropriately with these - see Rscript examples below.
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
31 Note that if an optional HTML output is selected, all the output files created by the script will be nicely presented as links, with pdf images linked as thumbnails in that output.
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
32 This can be handy for complex scripts creating lots of output.
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
33
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
34 **Examples**
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
35 <![CDATA[
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
36
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
37 Each of these following trivial examples can be cut and pasted into the script box for testing.
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
38 Please make sure you choose the appropriate interpreter and upload and select a suitable small matching test data input
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
39
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
40 A simple Rscript "filter" showing how the command line parameters can be handled, takes an input file, does something (transpose in this case) and
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
41 writes the results to a new tabular file. Note the use of colClasses to ensure that no fiddling takes place with numeric values by treating everything
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
42 as a string::
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
43
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
44 # transpose a tabular input file and write as a tabular output file
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
45 ourargs = commandArgs(TRUE)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
46 inf = ourargs[1]
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
47 outf = ourargs[2]
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
48 inp = read.table(inf,head=F,row.names=NULL,sep='\t',colClasses="character")
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
49 outp = t(inp)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
50 write.table(outp,outf, quote=FALSE, sep="\t",row.names=F,col.names=F)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
51
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
52 Calculate a multiple test adjusted p value from a column of p values - for this script to be useful, it needs the right column for the input to be specified in the code for the
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
53 given input file type(s) specified when the tool is generated ::
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
54
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
55 # use p.adjust - assumes a HEADER row and column 1 - please fix for any real use
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
56 column = 1 # adjust if necessary for some other kind of input
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
57 ourargs = commandArgs(TRUE)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
58 inf = ourargs[1]
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
59 outf = ourargs[2]
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
60 inp = read.table(inf,head=T,row.names=NULL,sep='\t')
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
61 p = inp[,column]
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
62 q = p.adjust(p,method='BH')
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
63 outp = cbind(inp,'BH Adjusted p-value'=q)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
64 write.table(outp,outf, quote=FALSE, sep="\t",row.names=F,col.names=T)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
65
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
66
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
67 A demonstration Rscript example takes no input file but generates some random data based pdf images
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
68 You must make sure the option to create an HTML output file is
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
69 turned on for this to work. Images (pdf) are linked via thumbnails and
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
70 all files have a link on the resulting HTML page::
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
71
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
72 # note this script takes NO input or output because it generates random data
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
73 for (i in 1:10) {
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
74 foo = runif(100)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
75 bar = rnorm(100)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
76 bar = foo + 0.05*bar
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
77 pdf(paste('yet',i,"anotherplot.pdf",sep='_'))
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
78 plot(foo,bar,main=paste("Foo by Bar plot #",i),col="maroon", pch=3,cex=0.6)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
79 dev.off()
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
80 foo = data.frame(a=runif(100),b=runif(100),c=runif(100),d=runif(100),e=runif(100),f=runif(100))
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
81 bar = as.matrix(foo)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
82 pdf(paste('yet',i,"anotherheatmap.pdf",sep='_'))
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
83 heatmap(bar,main='Random Heatmap')
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
84 dev.off()
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
85 }
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
86
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
87 # A slight variation taking an input tabular file from which we read the first number as nreps
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
88 # his script takes a single parameter
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
89 # number of replicates
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
90
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
91 .. code-block:: R
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
92
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
93 ourargs = commandArgs(TRUE)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
94 infname = ourargs[1]
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
95 nreps = read.table(infname,head=F)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
96 nreps = unlist(nreps)[1]
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
97 nreps = max(c(1,nreps))
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
98 nreps = min(c(20,nreps))
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
99 print(paste("Using nreps=",nreps))
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
100 for (i in 1:nreps) {
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
101 foo = runif(100)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
102 bar = rnorm(100)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
103 bar = foo + 0.2*bar
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
104 pdf(paste("yet",i,"anotherplot.pdf",sep="_"))
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
105 plot(foo,bar,main=paste("Foo by Bar plot ",i),col="maroon", pch=3,cex=0.6)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
106 dev.off()
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
107 foo = data.frame(a=runif(100),b=runif(100),c=runif(100),d=runif(100),e=runif(100),f=runif(100))
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
108 bar = as.matrix(foo)
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
109 pdf(paste("yet",i,"anotherheatmap.pdf",sep="_"))
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
110 heatmap(bar,main="Random Heatmap")
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
111 dev.off()
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
112 }
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
113
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
114 A Python example that reverses each row of a tabular file (you'll need to remove the leading spaces
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
115 for this to work if cut and pasted into the script box)::
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
116
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
117 # reverse order of columns in a tabular file
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
118 import sys
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
119 inp = sys.argv[1]
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
120 outp = sys.argv[2]
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
121 i = open(inp,'r')
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
122 o = open(outp,'w')
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
123 for row in i:
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
124 rs = row.rstrip().split('\t')
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
125 rs.reverse()
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
126 o.write('\t'.join(rs))
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
127 o.write('\n')
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
128 i.close()
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
129 o.close()
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
130
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
131 A trivial shell script example to show that it works::
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
132
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
133 #!/bin/bash
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
134 INF=$1
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
135 OUTF=$2
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
136 cut -c2,4,6,8,10,12 $INF > $OUTF
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
137
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
138 A trivial perl script example to show that even perl works::
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
139
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
140 #
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
141 # change all occurances of a string in a file to another string
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
142 #
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
143 $oldfile = $ARGV[0];
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
144 $newfile = $ARGV[1];
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
145 $old = "gene";
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
146 $new = "foo";
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
147 open(OF, $oldfile);
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
148 open(NF, ">$newfile");
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
149 # read in each line of the file
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
150 while ($line = <OF>) {
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
151 $line =~ s/$old/$new/;
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
152 print NF $line;
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
153 }
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
154 close(OF);
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
155 close(NF);
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
156
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
157 ]]>
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
158
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
159 **Citation**
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
160
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
161
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
162 Paper_ :
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
163
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
164 Creating re-usable tools from scripts: The Galaxy Tool Factory
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
165 Ross Lazarus; Antony Kaspi; Mark Ziemann; The Galaxy Team
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
166 Bioinformatics 2012; doi: 10.1093/bioinformatics/bts573
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
167
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
168
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
169 **Licensing**
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
170
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
171 Copyright Ross Lazarus (ross period lazarus at gmail period com) May 2012
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
172 All rights reserved.
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
173 Licensed under the LGPL_
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
174
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
175 .. _LGPL: http://www.gnu.org/copyleft/lesser.html
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
176 .. _Docker_toolfactory: https://bitbucket.org/mvdbeek/dockertoolfactory
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
177 .. _Issues: https://bitbucket.org/mvdbeek/dockertoolfactory/issues
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
178 .. _Paper: http://bioinformatics.oxfordjournals.org/cgi/reprint/bts573?ijkey=lczQh1sWrMwdYWJ&amp;keytype=ref
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
179
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
180 </help>
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
181 <citations>
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
182 <citation type="doi">10.1093/bioinformatics/bts573</citation>
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
183 </citations>
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
184 </xml>
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
185 <xml name="test_data_macro">
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
186 </xml>
b6211faea403 planemo upload for repository https://github.com/mvdbeek/docker_scriptrunner/ commit ae672027942a606c1a5e302348279a5493151c11-dirty
mvdbeek
parents:
diff changeset
187 </macro>