comparison README.txt @ 41:8d28e32c71ff draft

Uploaded
author fubar
date Fri, 29 Aug 2014 01:50:44 -0400
parents 8603867451d8
children 7b34711416d2
comparison
equal deleted inserted replaced
40:8603867451d8 41:8d28e32c71ff
14 14
15 In addition, this tool optionally generates very simple new Galaxy tools, that effectively 15 In addition, this tool optionally generates very simple new Galaxy tools, that effectively
16 freeze the supplied script into a new, ordinary Galaxy tool that runs it over a single input file, 16 freeze the supplied script into a new, ordinary Galaxy tool that runs it over a single input file,
17 working just like any other Galaxy tool for your users. 17 working just like any other Galaxy tool for your users.
18 18
19 If you use the Html output option, please ensure that sanitize_all_html is set to False and
20 uncommented in universe_wsgi.ini - it should show:
21
22 # By default, all tool output served as 'text/html' will be sanitized
23 sanitize_all_html = False
24
25 *More Detail*
26
19 To use the ToolFactory, you should have prepared a script to paste into a text box, 27 To use the ToolFactory, you should have prepared a script to paste into a text box,
20 and a small test input example ready to select from your history to test your new script. 28 and a small test input example ready to select from your history to test your new script.
21 There is an example in each scripting language on the Tool Factory form. You can just 29 There is an example in each scripting language on the Tool Factory form. You can just
22 cut and paste these to try it out - remember to select the right interpreter please. You'll 30 cut and paste these to try it out - remember to select the right interpreter please. You'll
23 also need to create a small test data set using the Galaxy history add new data tool. 31 also need to create a small test data set using the Galaxy history add new data tool.
38 the tools you generate with the ToolFactory run just like any other Galaxy tool, 46 the tools you generate with the ToolFactory run just like any other Galaxy tool,
39 but run your script every time. 47 but run your script every time.
40 48
41 Tool factory tools are perfect for workflow components. One input, one output, no variables. 49 Tool factory tools are perfect for workflow components. One input, one output, no variables.
42 50
43 *Reasons to read further*
44
45 If you use Galaxy to support your research;
46
47 You and fellow users are sometimes forced to take data out of Galaxy, process it with ugly
48 little perl/awk/sed/R... scripts and put it back;
49
50 You do this when you can't do some transformation in Galaxy (the 90/10 rule);
51
52 You don't have enough developer resources for wrapping dozens of even relatively simple tools;
53
54 Your research and your institution would be far better off if those feral scripts were all tucked
55 safely in your local toolshed and Galaxy histories.
56
57 *The good news* If it can be trivially scripted, it can be running safely in your
58 local Galaxy via your own local toolshed in a few minutes - with functional tests.
59
60
61 *Value proposition* The ToolFactory allows Galaxy to efficiently take over most of your lab's
62 dark script matter, making it reproducible in Galaxy and shareable through the ToolShed.
63
64 That's what this tool does. You paste a simple script and the tool returns
65 a new, real Galaxy tool, ready to be installed from the local toolshed to local servers.
66 Scripts can be wrapped and online literally within minutes.
67
68 *To fully and safely exploit the awesome power* of this tool, Galaxy and the ToolShed, 51 *To fully and safely exploit the awesome power* of this tool, Galaxy and the ToolShed,
69 you should be a developer installing this tool on a private/personal/scratch local instance where you 52 you should be a developer installing this tool on a private/personal/scratch local instance where you
70 are an admin_user. Then, if you break it, you get to keep all the pieces 53 are an admin_user. Then, if you break it, you get to keep all the pieces
71 see https://bitbucket.org/fubar/galaxytoolfactory/wiki/Home 54 see https://bitbucket.org/fubar/galaxytoolfactory/wiki/Home
72 55
73 ** Installation ** 56 ** Installation **
74 This is a Galaxy tool. You can install it most conveniently using the administrative "Search and browse tool sheds" link. 57 This is a Galaxy tool. You can install it most conveniently using the administrative "Search and browse tool sheds" link.
75 Find the Galaxy Test toolshed (not main) and search for the toolfactory repository. 58 Find the Galaxy Main toolshed at https://toolshed.g2.bx.psu.edu/ and search for the toolfactory repository.
76 Open it and review the code and select the option to install it. 59 Open it and review the code and select the option to install it.
77 60
61 (
78 If you can't get the tool that way, the xml and py files here need to be copied into a new tools 62 If you can't get the tool that way, the xml and py files here need to be copied into a new tools
79 subdirectory such as tools/toolfactory Your tool_conf.xml needs a new entry pointing to the xml 63 subdirectory such as tools/toolfactory Your tool_conf.xml needs a new entry pointing to the xml
80 file - something like:: 64 file - something like::
81 65
82 <section name="Tool building tools" id="toolbuilders"> 66 <section name="Tool building tools" id="toolbuilders">
83 <tool file="toolfactory/rgToolFactory.xml"/> 67 <tool file="toolfactory/rgToolFactory.xml"/>
84 </section> 68 </section>
85 69
86 If not already there (I just added it to datatypes_conf.xml.sample), please add: 70 If not already there (I just added it to datatypes_conf.xml.sample), please add:
87 <datatype extension="toolshed.gz" type="galaxy.datatypes.binary:Binary" mimetype="multipart/x-gzip" subclass="True" /> 71 <datatype extension="toolshed.gz" type="galaxy.datatypes.binary:Binary" mimetype="multipart/x-gzip" subclass="True" />
88 to your local data_types_conf.xml. 72 to your local data_types_conf.xml.
89 73 )
90 Ensure that html sanitization is set to False and uncommented in universe_wsgi.ini
91
92 You'll have to restart the server for the new tool to be available.
93 74
94 Of course, R, python, perl etc are needed on your path if you want to test scripts using those interpreters. 75 Of course, R, python, perl etc are needed on your path if you want to test scripts using those interpreters.
95 Adding new ones to this tool code should be easy enough. Please make suggestions as bitbucket issues and code. 76 Adding new ones to this tool code should be easy enough. Please make suggestions as bitbucket issues and code.
96 The HTML file code automatically shrinks R's bloated pdfs, and depends on ghostscript. The thumbnails require imagemagick . 77 The HTML file code automatically shrinks R's bloated pdfs, and depends on ghostscript. The thumbnails require imagemagick .
97 78
134 If you opt for an HTML output, you get all the script outputs arranged 115 If you opt for an HTML output, you get all the script outputs arranged
135 as a single Html history item - all output files are linked, thumbnails for all the pdfs. 116 as a single Html history item - all output files are linked, thumbnails for all the pdfs.
136 Ugly but really inexpensive. 117 Ugly but really inexpensive.
137 118
138 Patches and suggestions welcome as bitbucket issues please? 119 Patches and suggestions welcome as bitbucket issues please?
139
140 long route to June 2012 product
141 derived from an integrated script model
142 called rgBaseScriptWrapper.py
143 Note to the unwary:
144 This tool allows arbitrary scripting on your Galaxy as the Galaxy user
145 There is nothing stopping a malicious user doing whatever they choose
146 Extremely dangerous!!
147 Totally insecure. So, trusted users only
148
149
150
151 120
152 copyright ross lazarus (ross stop lazarus at gmail stop com) May 2012 121 copyright ross lazarus (ross stop lazarus at gmail stop com) May 2012
153 122
154 all rights reserved 123 all rights reserved
155 Licensed under the LGPL if you want to improve it, feel free https://bitbucket.org/fubar/galaxytoolfactory/wiki/Home 124 Licensed under the LGPL if you want to improve it, feel free https://bitbucket.org/fubar/galaxytoolfactory/wiki/Home