comparison README.txt @ 30:fb3fa6a2874d draft

Citations added (thanks John!) and a few more output formats for Alistair Chilcott
author fubar
date Thu, 28 Aug 2014 02:22:39 -0400
parents bff4c9bfabc7
children 117a5ada6a6a
comparison
equal deleted inserted replaced
29:bff4c9bfabc7 30:fb3fa6a2874d
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
26 *More Detail*
27
19 To use the ToolFactory, you should have prepared a script to paste into a text box, 28 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. 29 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 30 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 31 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. 32 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, 47 the tools you generate with the ToolFactory run just like any other Galaxy tool,
39 but run your script every time. 48 but run your script every time.
40 49
41 Tool factory tools are perfect for workflow components. One input, one output, no variables. 50 Tool factory tools are perfect for workflow components. One input, one output, no variables.
42 51
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, 52 *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 53 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 54 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 55 see https://bitbucket.org/fubar/galaxytoolfactory/wiki/Home
72 56
73 ** Installation ** 57 ** Installation **
74 This is a Galaxy tool. You can install it most conveniently using the administrative "Search and browse tool sheds" link. 58 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. 59 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. 60 Open it and review the code and select the option to install it.
77 61
62 (
78 If you can't get the tool that way, the xml and py files here need to be copied into a new tools 63 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 64 subdirectory such as tools/toolfactory Your tool_conf.xml needs a new entry pointing to the xml
80 file - something like:: 65 file - something like::
81 66
82 <section name="Tool building tools" id="toolbuilders"> 67 <section name="Tool building tools" id="toolbuilders">
83 <tool file="toolfactory/rgToolFactory.xml"/> 68 <tool file="toolfactory/rgToolFactory.xml"/>
84 </section> 69 </section>
85 70
86 If not already there (I just added it to datatypes_conf.xml.sample), please add: 71 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" /> 72 <datatype extension="toolshed.gz" type="galaxy.datatypes.binary:Binary" mimetype="multipart/x-gzip" subclass="True" />
88 to your local data_types_conf.xml. 73 to your local data_types_conf.xml.
89 74 )
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 75
94 Of course, R, python, perl etc are needed on your path if you want to test scripts using those interpreters. 76 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. 77 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 . 78 The HTML file code automatically shrinks R's bloated pdfs, and depends on ghostscript. The thumbnails require imagemagick .
97 79
134 If you opt for an HTML output, you get all the script outputs arranged 116 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. 117 as a single Html history item - all output files are linked, thumbnails for all the pdfs.
136 Ugly but really inexpensive. 118 Ugly but really inexpensive.
137 119
138 Patches and suggestions welcome as bitbucket issues please? 120 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 121
152 copyright ross lazarus (ross stop lazarus at gmail stop com) May 2012 122 copyright ross lazarus (ross stop lazarus at gmail stop com) May 2012
153 123
154 all rights reserved 124 all rights reserved
155 Licensed under the LGPL if you want to improve it, feel free https://bitbucket.org/fubar/galaxytoolfactory/wiki/Home 125 Licensed under the LGPL if you want to improve it, feel free https://bitbucket.org/fubar/galaxytoolfactory/wiki/Home