Mercurial > repos > fubar > brokenandnotdeletablebyowneroradmin
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 |
| 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 | 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 | 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 | 35 ourargs = commandArgs(TRUE) |
| 36 inf = ourargs[1] | |
| 37 outf = ourargs[2] | |
| 38 inp = read.table(inf,head=F,row.names=NULL,sep='\t') | |
| 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 | 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 | 48 |
|
6
78044a3d4a21
Readme = wiki more or less now
Ross Lazarus <ross.lazarus@gmail.com>
parents:
5
diff
changeset
|
49 |
