annotate README.txt @ 6:78044a3d4a21

Readme = wiki more or less now
author Ross Lazarus <ross.lazarus@gmail.com>
date Thu, 31 May 2012 10:49:22 +1000
parents 9c1a1e0e664a
children 7221619caefa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
1 = WARNING before you start =
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
2 This tool should only ever be installed on a private instance - NEVER use it on a public Galaxy because the risks are too awful to contemplate let alone manage. You have been warned.
2
d95513e50c92 Add README.txt for bitbucket
ross lazarus ross.lazarus@gmail.com
parents:
diff changeset
3
6
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
4 == Motivation ==
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
5 Simple transformation, filtering or reporting scripts get written, run and lost every day in most busy labs - even ours where Galaxy is in use. This 'dark script matter' is pervasive and generally not reproducible.
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
6
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
7 After considerable nagging, I wrote and installed a new tool locked down to allow only two other trusted bioinformatician users to paste and run (NO sandbox!) arbitrary scripts - see screenshot attached.
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
8
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
9 == Benefits ==
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
10 For our group, this allows Galaxy to fill that important dark script gap - all those "small" bioinformatics tasks - because once a trusted user has a working R (or python or perl) script that takes parameters the way Galaxy supplies them (see example below), they:
2
d95513e50c92 Add README.txt for bitbucket
ross lazarus ross.lazarus@gmail.com
parents:
diff changeset
11
d95513e50c92 Add README.txt for bitbucket
ross lazarus ross.lazarus@gmail.com
parents:
diff changeset
12 1) run the new tool
d95513e50c92 Add README.txt for bitbucket
ross lazarus ross.lazarus@gmail.com
parents:
diff changeset
13
d95513e50c92 Add README.txt for bitbucket
ross lazarus ross.lazarus@gmail.com
parents:
diff changeset
14 2) paste their code into the tool 'script' text box
d95513e50c92 Add README.txt for bitbucket
ross lazarus ross.lazarus@gmail.com
parents:
diff changeset
15
d95513e50c92 Add README.txt for bitbucket
ross lazarus ross.lazarus@gmail.com
parents:
diff changeset
16 3) select the optional history input (and some other odds and ends - see screen shot) and
d95513e50c92 Add README.txt for bitbucket
ross lazarus ross.lazarus@gmail.com
parents:
diff changeset
17
d95513e50c92 Add README.txt for bitbucket
ross lazarus ross.lazarus@gmail.com
parents:
diff changeset
18 4) run the tool and thus the script.
d95513e50c92 Add README.txt for bitbucket
ross lazarus ross.lazarus@gmail.com
parents:
diff changeset
19
6
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
20 == Proposal - a Galaxy toolshed interface ==
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
21 Rerunning the output of the existing script reruns the same script of course, so we're now better off than we were before. But what about adding some code to this script runner tool to generate a new Galaxy tool as a ready to install toolshed entry?
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
22
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
23 This (imho) will be a very low impedence way to generate new simple Galaxy tools - run them until they work then package them up and deploy/distribute for any user to use - no new security risks.
2
d95513e50c92 Add README.txt for bitbucket
ross lazarus ross.lazarus@gmail.com
parents:
diff changeset
24
6
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
25 Does this seem like a good idea to anyone else?
4
3755b2365fb0 More edits to readme
ross lazarus ross.lazarus@gmail.com
parents: 3
diff changeset
26
6
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
27 == Proof of concept ==
2
d95513e50c92 Add README.txt for bitbucket
ross lazarus ross.lazarus@gmail.com
parents:
diff changeset
28
6
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
29 === Obligatory screenshot ===
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
30 [[http://bitbucket.org/fubar/galaxytoolmaker/src/fda8032fe989/images/dynamicScriptTool.png|proof of concept screengrab]]
4
3755b2365fb0 More edits to readme
ross lazarus ross.lazarus@gmail.com
parents: 3
diff changeset
31
6
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
32 === Sample Rscript ===
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
33 As a working example, this trivial Rscript replaces the score column in a bed file with a random number:
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
34 {{{
4
3755b2365fb0 More edits to readme
ross lazarus ross.lazarus@gmail.com
parents: 3
diff changeset
35 ourargs = commandArgs(TRUE)
3755b2365fb0 More edits to readme
ross lazarus ross.lazarus@gmail.com
parents: 3
diff changeset
36 inf = ourargs[1]
3755b2365fb0 More edits to readme
ross lazarus ross.lazarus@gmail.com
parents: 3
diff changeset
37 outf = ourargs[2]
3755b2365fb0 More edits to readme
ross lazarus ross.lazarus@gmail.com
parents: 3
diff changeset
38 inp = read.table(inf,head=F,row.names=NULL,sep='\t')
3755b2365fb0 More edits to readme
ross lazarus ross.lazarus@gmail.com
parents: 3
diff changeset
39 inp[,5] = runif ( nrow(inp) )
6
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
40 write.table(inp,outf, quote=FALSE, sep="\t",row.names=F,col.names=F)
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
41 }}}
5
9c1a1e0e664a and again
ross lazarus ross.lazarus@gmail.com
parents: 4
diff changeset
42
6
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
43 == Licensing ==
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
44 All project artefacts are copyright Ross Lazarus (ross period lazarus at gmail period com) 2012
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
45 All rights reserved.
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
46 You may accept a license from me under the LGPL if you want to use this code for any reason.
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
47 Please see http://www.gnu.org/licenses/lgpl.html for details
4
3755b2365fb0 More edits to readme
ross lazarus ross.lazarus@gmail.com
parents: 3
diff changeset
48
6
78044a3d4a21 Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents: 5
diff changeset
49