view README.txt @ 10:71f2ac0eee95

Updated tarball with some test material - still need code generated... Completed a round trip test via a local toolshed. Awsome
author ross lazarus ross.lazarus@gmail.com
date Sat, 02 Jun 2012 22:40:33 +1000
parents 7221619caefa
children 7725e4ab27e1
line wrap: on
line source

= WARNING before you start = This tool should only ever be installed on a private Galaxy instance - NEVER use it on a public 
Galaxy because the risks are too awful to contemplate let alone manage. You have been warned.

== Motivation == 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.

== Benefits == For our group, this allows Galaxy to fill that important dark script gap - all those "small" bioinformatics 
tasks. Once a user has a working R (or python or perl) script that does something Galaxy cannot currently do (eg transpose a 
tabular file) and takes parameters the way Galaxy supplies them (see example below), they:

1. Install the tool factory on a personal private instance

2. Upload a small test data set

3. Paste the script into the 'script' text box and iteratively run the insecure tool on test data until it works right - 
there is absolutely no reason to do this anywhere other than on a personal private instance. 

4. Once it works right, set the 'Generate toolshed gzip' option and run it again. 

5. A toolshed style gzip appears ready to upload and install like any other Toolshed entry. 

6. Upload the new tool to the toolshed

7. Ask the local admin to check the new tool to confirm it's not evil and install it in the local production galaxy

New mantra: Galaxy can efficiently soak up all your lab's dark script matter and make it reproducible and shareable.

== Proof of concept ==

=== Obligatory screenshot ===
[[http://bitbucket.org/fubar/galaxytoolmaker/src/fda8032fe989/images/dynamicScriptTool.png|proof of concept screengrab]]

=== Sample Rscript ===
As a working example, this trivial Rscript transposes a tabular file:

{{{
  ourargs = commandArgs(TRUE)
  inf = ourargs[1]
  outf = ourargs[2]
  inp = read.table(inf,head=F,row.names=NULL,sep='\t')
  outp = t(inp)
  write.table(outp,outf, quote=FALSE, sep="\t",row.names=F,col.names=F)
}}}

== Licensing ==
All project artefacts are copyright Ross Lazarus (ross period lazarus at gmail period com) 2012
All rights reserved.
You may accept a license from me under the LGPL if you want to use this code for any reason.
Please see http://www.gnu.org/licenses/lgpl.html for details