# HG changeset patch # User ross lazarus ross.lazarus@gmail.com # Date 1338421778 -36000 # Node ID 3755b2365fb00471ad1fbd1b44c8910c6d990bb9 # Parent 42e85c24570f262a99c82ced3ed15aad0a6fe354 More edits to readme diff -r 42e85c24570f -r 3755b2365fb0 README.txt --- a/README.txt Thu May 31 09:39:34 2012 +1000 +++ b/README.txt Thu May 31 09:49:38 2012 +1000 @@ -1,6 +1,11 @@ -After a lot of nagging about how hard it was to create new wrappers for trivial scripts, I wrote a new Galaxy tool (see the source tab) locked down to allow only two other trusted bioinformatician users to paste and run (NO sandbox!) arbitrary scripts - see screenshot attached. Note that this tool allows unrestricted access as user Galaxy so should be restricted to admin users who could run rm -rf from a command line if they wanted to but can be trusted not to! +After a lot of nagging about how hard it was to create new wrappers for trivial scripts, I wrote a new Galaxy tool (see the +source tab) locked down to allow only two other trusted bioinformatician users to paste and run (NO sandbox!) arbitrary +scripts - see screenshot attached. Note that this tool allows unrestricted access as user Galaxy so should be restricted to +admin users who could run rm -rf from a command line if they wanted to but can be trusted not to! -For our group, this allows Galaxy to fill that important 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: +For our group, this allows Galaxy to fill that important gap - all those "small" bioinformatics tasks that currently get run +outside Galaxy. 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: 1) run the new tool @@ -10,9 +15,25 @@ 4) run the tool and thus the script. -Rerunning the output 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? 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. The tool generator itself is dangerous but it could easily create normal Galaxy tools with no new security risks - in the local toolshed! +Rerunning the output 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? 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. The tool generator itself is dangerous but it could easily create normal Galaxy tools +with no new security risks - in the local toolshed! That's the goal of this project. -If this seem like a good idea to anyone else, please join in. First ticket - add a tool repository entry generator - is open and waiting... + +If this seem like a good idea to anyone else, please join in. First ticket - add a tool repository entry generator - is open +and waiting... http://bitbucket.org/fubar/galaxytoolmaker/src/fda8032fe989/images/dynamicScriptTool.png is a proof of concept screengrab + +This trivial example script replaces the score column with a random number in a bed file using Rscript: + + ourargs = commandArgs(TRUE) + inf = ourargs[1] + outf = ourargs[2] + inp = read.table(inf,head=F,row.names=NULL,sep='\t') + inp[,5] = runif ( nrow(inp) ) + write.table(inp,outf, quote=FALSE, sep="\t",row.names=F,col.names=F) +