workflow-to-galaxy 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +16 -2
- data/README +1 -1
- data/Rakefile +1 -1
- data/bin/workflow_to_galaxy.rb +7 -7
- data/doc/rdoc/CHANGES.html +30 -2
- data/doc/rdoc/LICENSE.html +2 -0
- data/doc/rdoc/README.html +3 -1
- data/doc/rdoc/String.html +203 -0
- data/doc/rdoc/WorkflowToGalaxy.html +2 -0
- data/doc/rdoc/WorkflowToGalaxy/GalaxyTool.html +33 -24
- data/doc/rdoc/WorkflowToGalaxy/Workflows.html +2 -0
- data/doc/rdoc/created.rid +5 -5
- data/doc/rdoc/index.html +5 -1
- data/doc/rdoc/lib/workflow-to-galaxy/galaxy_rb.html +1 -1
- data/doc/rdoc/lib/workflow-to-galaxy_rb.html +1 -1
- data/lib/workflow-to-galaxy.rb +14 -0
- data/lib/workflow-to-galaxy/galaxy.rb +37 -23
- metadata +5 -5
- data/bin/Fetch_PDB_flatfile_from_RCSB_server.xml +0 -0
data/CHANGES
CHANGED
@@ -1,8 +1,22 @@
|
|
1
1
|
= Changes log for the Taverna-Galaxy Gem
|
2
2
|
|
3
|
+
== Version 0.3.3
|
4
|
+
* Multiline output examples are now displayed better in HTML/Galaxy (similar to inputs)
|
5
|
+
* Updated wkf 74 test
|
6
|
+
* Fixed default values for output files and taverna server
|
7
|
+
* Added an optional parameter (:response) to the config in case we already have the myExp wkf
|
8
|
+
- was needed by myExperiment in order to call the myExp REST API beforehand for auth
|
9
|
+
|
10
|
+
|
11
|
+
== Version 0.3.2
|
12
|
+
* Automatic filename creation is more robust (all special chars are removed)
|
13
|
+
* More workflow tests
|
14
|
+
|
15
|
+
|
3
16
|
== Version 0.3.1
|
4
|
-
*
|
5
|
-
* For safety default
|
17
|
+
* Used semver formally (taged: v0.3.1 semver)
|
18
|
+
* For safety default wkf title substitutes ' ' with '_'
|
19
|
+
* Extended workflow tests
|
6
20
|
|
7
21
|
|
8
22
|
== Version 0.3.0
|
data/README
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
Authors:: Konstantinos Karasavvas
|
5
|
-
Gem Version:: 0.3.
|
5
|
+
Gem Version:: 0.3.3
|
6
6
|
Contact:: mailto:kostas.karasavvas@nbic.nl
|
7
7
|
Licence:: MIT (See LICENCE or http://www.opensource.org/licenses/mit-license)
|
8
8
|
Copyright:: (c) 2010 Netherlands Bioinformatics Centre, The Netherlands
|
data/Rakefile
CHANGED
@@ -7,7 +7,7 @@ require 'rdoc/task'
|
|
7
7
|
|
8
8
|
spec = Gem::Specification.new do |s|
|
9
9
|
s.name = 'workflow-to-galaxy'
|
10
|
-
s.version = '0.3.
|
10
|
+
s.version = '0.3.3'
|
11
11
|
s.extra_rdoc_files = ['README', 'LICENSE', 'CHANGES']
|
12
12
|
s.summary = 'This script acquires information for a taverna 2 workflow from myExperiment (or from a file) and generates a Galaxy tool (.xml and .rb files).'
|
13
13
|
s.description = s.summary
|
data/bin/workflow_to_galaxy.rb
CHANGED
@@ -9,8 +9,8 @@ include WorkflowToGalaxy
|
|
9
9
|
|
10
10
|
|
11
11
|
# Set up and parse arguments
|
12
|
-
out_file =
|
13
|
-
t2_server =
|
12
|
+
out_file = nil
|
13
|
+
t2_server = nil
|
14
14
|
options = {}
|
15
15
|
opts = OptionParser.new do |opt|
|
16
16
|
opt.banner = "Usage: workflow_to_galaxy [options] <myExperiment-workflow> | <t2flow-file>"
|
@@ -49,7 +49,7 @@ if url == nil
|
|
49
49
|
end
|
50
50
|
|
51
51
|
# Set taverna server if not specified
|
52
|
-
t2_server ||=
|
52
|
+
t2_server ||= 'http://localhost:8080/taverna-server'
|
53
53
|
|
54
54
|
|
55
55
|
#if options[:t2flow]
|
@@ -59,7 +59,7 @@ t2_server ||= "http://localhost:8080/taverna-server"
|
|
59
59
|
#end
|
60
60
|
|
61
61
|
# create file handlers
|
62
|
-
if out_file !=
|
62
|
+
if out_file != nil
|
63
63
|
xml_out = open("#{out_file}.xml", "w")
|
64
64
|
rb_out = open("#{out_file}.rb", "w")
|
65
65
|
end
|
@@ -68,7 +68,7 @@ end
|
|
68
68
|
# create generator or wrapper (could have used url for t2flow key to avoid
|
69
69
|
# if/else but future sources would still need them)
|
70
70
|
if options[:t2flow]
|
71
|
-
if out_file !=
|
71
|
+
if out_file != nil
|
72
72
|
wkf = GalaxyTool.new(:wkf_source => Workflows::T2FLOW,
|
73
73
|
:params => {:t2_server => t2_server,
|
74
74
|
:t2flow => url,
|
@@ -80,7 +80,7 @@ if options[:t2flow]
|
|
80
80
|
:t2flow => url } )
|
81
81
|
end
|
82
82
|
else
|
83
|
-
if out_file !=
|
83
|
+
if out_file != nil
|
84
84
|
wkf = GalaxyTool.new(:wkf_source => Workflows::MYEXPERIMENT_TAVERNA2,
|
85
85
|
:params => {:t2_server => t2_server,
|
86
86
|
:url => url,
|
@@ -94,7 +94,7 @@ else
|
|
94
94
|
end
|
95
95
|
|
96
96
|
# close file handlers
|
97
|
-
if out_file !=
|
97
|
+
if out_file != nil
|
98
98
|
xml_out.close
|
99
99
|
rb_out.close
|
100
100
|
end
|
data/doc/rdoc/CHANGES.html
CHANGED
@@ -70,6 +70,8 @@
|
|
70
70
|
|
71
71
|
<li><a href="./WorkflowToGalaxy/Workflows.html">WorkflowToGalaxy::Workflows</a></li>
|
72
72
|
|
73
|
+
<li><a href="./String.html">String</a></li>
|
74
|
+
|
73
75
|
</ul>
|
74
76
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
75
77
|
</div>
|
@@ -82,11 +84,37 @@
|
|
82
84
|
|
83
85
|
<h1>Changes log for the Taverna-Galaxy Gem</h1>
|
84
86
|
|
87
|
+
<h2>Version 0.3.3</h2>
|
88
|
+
<ul><li>
|
89
|
+
<p>Multiline output examples are now displayed better in HTML/Galaxy (similar
|
90
|
+
to inputs)</p>
|
91
|
+
</li><li>
|
92
|
+
<p>Updated wkf 74 test</p>
|
93
|
+
</li><li>
|
94
|
+
<p>Fixed default values for output files and taverna server</p>
|
95
|
+
</li><li>
|
96
|
+
<p>Added an optional parameter (:response) to the config in case we already
|
97
|
+
have the myExp wkf</p>
|
98
|
+
<ul><li>
|
99
|
+
<p>was needed by myExperiment in order to call the myExp REST API beforehand
|
100
|
+
for auth</p>
|
101
|
+
</li></ul>
|
102
|
+
</li></ul>
|
103
|
+
|
104
|
+
<h2>Version 0.3.2</h2>
|
105
|
+
<ul><li>
|
106
|
+
<p>Automatic filename creation is more robust (all special chars are removed)</p>
|
107
|
+
</li><li>
|
108
|
+
<p>More workflow tests</p>
|
109
|
+
</li></ul>
|
110
|
+
|
85
111
|
<h2>Version 0.3.1</h2>
|
86
112
|
<ul><li>
|
87
|
-
<p>
|
113
|
+
<p>Used semver formally (taged: v0.3.1 semver)</p>
|
114
|
+
</li><li>
|
115
|
+
<p>For safety default wkf title substitutes ‘ ’ with ‘_’</p>
|
88
116
|
</li><li>
|
89
|
-
<p>
|
117
|
+
<p>Extended workflow tests</p>
|
90
118
|
</li></ul>
|
91
119
|
|
92
120
|
<h2>Version 0.3.0</h2>
|
data/doc/rdoc/LICENSE.html
CHANGED
data/doc/rdoc/README.html
CHANGED
@@ -70,6 +70,8 @@
|
|
70
70
|
|
71
71
|
<li><a href="./WorkflowToGalaxy/Workflows.html">WorkflowToGalaxy::Workflows</a></li>
|
72
72
|
|
73
|
+
<li><a href="./String.html">String</a></li>
|
74
|
+
|
73
75
|
</ul>
|
74
76
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
75
77
|
</div>
|
@@ -86,7 +88,7 @@
|
|
86
88
|
<p>Konstantinos Karasavvas</p>
|
87
89
|
</td></tr><tr><td class="rdoc-term"><p>Gem Version</p></td>
|
88
90
|
<td>
|
89
|
-
<p>0.3.
|
91
|
+
<p>0.3.3</p>
|
90
92
|
</td></tr><tr><td class="rdoc-term"><p>Contact</p></td>
|
91
93
|
<td>
|
92
94
|
<p><a href="mailto:kostas.karasavvas@nbic.nl">kostas.karasavvas@nbic.nl</a></p>
|
@@ -0,0 +1,203 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
+
<head>
|
6
|
+
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
|
7
|
+
|
8
|
+
<title>Class: String</title>
|
9
|
+
|
10
|
+
<link rel="stylesheet" href="./rdoc.css" type="text/css" media="screen" />
|
11
|
+
|
12
|
+
<script src="./js/jquery.js" type="text/javascript" charset="utf-8"></script>
|
13
|
+
<script src="./js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
|
14
|
+
<script src="./js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
|
15
|
+
<script src="./js/darkfish.js" type="text/javascript" charset="utf-8"></script>
|
16
|
+
|
17
|
+
</head>
|
18
|
+
<body id="top" class="class">
|
19
|
+
|
20
|
+
<div id="metadata">
|
21
|
+
<div id="home-metadata">
|
22
|
+
<div id="home-section" class="section">
|
23
|
+
<h3 class="section-header">
|
24
|
+
<a href="./index.html">Home</a>
|
25
|
+
<a href="./index.html#classes">Classes</a>
|
26
|
+
<a href="./index.html#methods">Methods</a>
|
27
|
+
</h3>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
|
31
|
+
<div id="file-metadata">
|
32
|
+
<div id="file-list-section" class="section">
|
33
|
+
<h3 class="section-header">In Files</h3>
|
34
|
+
<div class="section-body">
|
35
|
+
<ul>
|
36
|
+
|
37
|
+
<li><a href="./lib/workflow-to-galaxy_rb.html?TB_iframe=true&height=550&width=785"
|
38
|
+
class="thickbox" title="lib/workflow-to-galaxy.rb">lib/workflow-to-galaxy.rb</a></li>
|
39
|
+
|
40
|
+
</ul>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<div id="class-metadata">
|
48
|
+
|
49
|
+
<!-- Parent Class -->
|
50
|
+
<div id="parent-class-section" class="section">
|
51
|
+
<h3 class="section-header">Parent</h3>
|
52
|
+
|
53
|
+
<p class="link">Object</p>
|
54
|
+
|
55
|
+
</div>
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
<!-- Method Quickref -->
|
64
|
+
<div id="method-list-section" class="section">
|
65
|
+
<h3 class="section-header">Methods</h3>
|
66
|
+
<ul class="link-list">
|
67
|
+
|
68
|
+
<li><a href="#method-i-to_filename">#to_filename</a></li>
|
69
|
+
|
70
|
+
</ul>
|
71
|
+
</div>
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
</div>
|
76
|
+
|
77
|
+
<div id="project-metadata">
|
78
|
+
|
79
|
+
|
80
|
+
<div id="fileindex-section" class="section project-section">
|
81
|
+
<h3 class="section-header">Files</h3>
|
82
|
+
<ul>
|
83
|
+
|
84
|
+
<li class="file"><a href="./CHANGES.html">CHANGES</a></li>
|
85
|
+
|
86
|
+
<li class="file"><a href="./LICENSE.html">LICENSE</a></li>
|
87
|
+
|
88
|
+
<li class="file"><a href="./README.html">README</a></li>
|
89
|
+
|
90
|
+
</ul>
|
91
|
+
</div>
|
92
|
+
|
93
|
+
|
94
|
+
<div id="classindex-section" class="section project-section">
|
95
|
+
<h3 class="section-header">Class/Module Index
|
96
|
+
<span class="search-toggle"><img src="./images/find.png"
|
97
|
+
height="16" width="16" alt="[+]"
|
98
|
+
title="show/hide quicksearch" /></span></h3>
|
99
|
+
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
100
|
+
<fieldset>
|
101
|
+
<legend>Quicksearch</legend>
|
102
|
+
<input type="text" name="quicksearch" value=""
|
103
|
+
class="quicksearch-field" />
|
104
|
+
</fieldset>
|
105
|
+
</form>
|
106
|
+
|
107
|
+
<ul class="link-list">
|
108
|
+
|
109
|
+
<li><a href="./WorkflowToGalaxy.html">WorkflowToGalaxy</a></li>
|
110
|
+
|
111
|
+
<li><a href="./WorkflowToGalaxy/GalaxyTool.html">WorkflowToGalaxy::GalaxyTool</a></li>
|
112
|
+
|
113
|
+
<li><a href="./WorkflowToGalaxy/Workflows.html">WorkflowToGalaxy::Workflows</a></li>
|
114
|
+
|
115
|
+
<li><a href="./String.html">String</a></li>
|
116
|
+
|
117
|
+
</ul>
|
118
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
119
|
+
</div>
|
120
|
+
|
121
|
+
|
122
|
+
</div>
|
123
|
+
</div>
|
124
|
+
|
125
|
+
<div id="documentation">
|
126
|
+
<h1 class="class">String</h1>
|
127
|
+
|
128
|
+
<div id="description" class="description">
|
129
|
+
|
130
|
+
<p>Add methods to the <a href="String.html">String</a> class to operate on
|
131
|
+
file paths.</p>
|
132
|
+
|
133
|
+
</div><!-- description -->
|
134
|
+
|
135
|
+
|
136
|
+
<div id="5Buntitled-5D" class="documentation-section">
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
<!-- Methods -->
|
146
|
+
|
147
|
+
<div id="public-instance-method-details" class="method-section section">
|
148
|
+
<h3 class="section-header">Public Instance Methods</h3>
|
149
|
+
|
150
|
+
|
151
|
+
<div id="to_filename-method" class="method-detail ">
|
152
|
+
<a name="method-i-to_filename"></a>
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
<div class="method-heading">
|
157
|
+
<span class="method-callseq">to_filename → string</span>
|
158
|
+
|
159
|
+
<span class="method-click-advice">click to toggle source</span>
|
160
|
+
|
161
|
+
</div>
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
<div class="method-description">
|
166
|
+
|
167
|
+
<p>Returns a new <a href="String.html">String</a> with spaces substituted by
|
168
|
+
underscores and removes all special characters.</p>
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
<div class="method-source-code" id="to_filename-source">
|
173
|
+
<pre>
|
174
|
+
<span class="ruby-comment"># File lib/workflow-to-galaxy.rb, line 17</span>
|
175
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_filename</span>
|
176
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/ /</span>, <span class="ruby-string">'_'</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/[^A-Za-z0-9_]/</span>, <span class="ruby-string">''</span>)
|
177
|
+
<span class="ruby-keyword">end</span></pre>
|
178
|
+
</div><!-- to_filename-source -->
|
179
|
+
|
180
|
+
</div>
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
</div><!-- to_filename-method -->
|
186
|
+
|
187
|
+
|
188
|
+
</div><!-- public-instance-method-details -->
|
189
|
+
|
190
|
+
</div><!-- 5Buntitled-5D -->
|
191
|
+
|
192
|
+
|
193
|
+
</div><!-- documentation -->
|
194
|
+
|
195
|
+
<div id="validator-badges">
|
196
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
197
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
198
|
+
Rdoc Generator</a> 2</small>.</p>
|
199
|
+
</div>
|
200
|
+
|
201
|
+
</body>
|
202
|
+
</html>
|
203
|
+
|
@@ -124,6 +124,8 @@
|
|
124
124
|
|
125
125
|
<li><a href="./WorkflowToGalaxy/Workflows.html">WorkflowToGalaxy::Workflows</a></li>
|
126
126
|
|
127
|
+
<li><a href="./String.html">String</a></li>
|
128
|
+
|
127
129
|
</ul>
|
128
130
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
129
131
|
</div>
|
@@ -114,6 +114,8 @@
|
|
114
114
|
|
115
115
|
<li><a href="../WorkflowToGalaxy/Workflows.html">WorkflowToGalaxy::Workflows</a></li>
|
116
116
|
|
117
|
+
<li><a href="../String.html">String</a></li>
|
118
|
+
|
117
119
|
</ul>
|
118
120
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
119
121
|
</div>
|
@@ -217,7 +219,7 @@ the workflow object that will be used to generate the galaxy tool</p>
|
|
217
219
|
|
218
220
|
<div class="method-source-code" id="new-source">
|
219
221
|
<pre>
|
220
|
-
<span class="ruby-comment"># File lib/workflow-to-galaxy/galaxy.rb, line
|
222
|
+
<span class="ruby-comment"># File lib/workflow-to-galaxy/galaxy.rb, line 40</span>
|
221
223
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">config</span>)
|
222
224
|
<span class="ruby-ivar">@config</span> = <span class="ruby-identifier">config</span>
|
223
225
|
<span class="ruby-keyword">end</span></pre>
|
@@ -260,41 +262,48 @@ the workflow object that will be used to generate the galaxy tool</p>
|
|
260
262
|
|
261
263
|
<div class="method-source-code" id="generate-source">
|
262
264
|
<pre>
|
263
|
-
<span class="ruby-comment"># File lib/workflow-to-galaxy/galaxy.rb, line
|
265
|
+
<span class="ruby-comment"># File lib/workflow-to-galaxy/galaxy.rb, line 582</span>
|
264
266
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier">generate</span>
|
265
267
|
|
266
|
-
<span class="ruby-
|
267
|
-
<span class="ruby-keyword">if</span>(<span class="ruby-identifier">config</span>[<span class="ruby-value">:wkf_source</span>] <span class="ruby-operator">==</span> <span class="ruby-constant">Workflows</span><span class="ruby-operator">::</span><span class="ruby-constant">MYEXPERIMENT_TAVERNA2</span>)
|
268
|
+
<span class="ruby-keyword">if</span>(<span class="ruby-identifier">config</span>[<span class="ruby-value">:params</span>][<span class="ruby-value">:response</span>])
|
268
269
|
|
269
|
-
<span class="ruby-
|
270
|
-
<span class="ruby-comment"># since the myexp username/passwd will be saved in the galaxy ruby script</span>
|
271
|
-
<span class="ruby-comment"># for all to see...</span>
|
270
|
+
<span class="ruby-ivar">@wkf_object</span> = <span class="ruby-identifier">config</span>[<span class="ruby-value">:params</span>][<span class="ruby-value">:response</span>]
|
272
271
|
|
273
|
-
|
274
|
-
<span class="ruby-comment"># Get workflow data from myexperiment -- a _MyExperimentWorkflow_ object is returned</span>
|
275
|
-
<span class="ruby-ivar">@wkf_object</span> = <span class="ruby-constant">MyExperimentREST</span><span class="ruby-operator">::</span><span class="ruby-constant">Workflow</span>.<span class="ruby-identifier">from_uri</span>(<span class="ruby-ivar">@config</span>[<span class="ruby-value">:params</span>][<span class="ruby-value">:url</span>])
|
276
|
-
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
277
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-string">"Problem acquiring workflow data from myExperiment!\n"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">e</span>
|
278
|
-
<span class="ruby-keyword">end</span>
|
272
|
+
<span class="ruby-keyword">else</span>
|
279
273
|
|
280
|
-
|
274
|
+
<span class="ruby-comment"># check the type of workflow source and acquire the appropriate data</span>
|
275
|
+
<span class="ruby-keyword">if</span>(<span class="ruby-identifier">config</span>[<span class="ruby-value">:wkf_source</span>] <span class="ruby-operator">==</span> <span class="ruby-constant">Workflows</span><span class="ruby-operator">::</span><span class="ruby-constant">MYEXPERIMENT_TAVERNA2</span>)
|
281
276
|
|
282
|
-
|
283
|
-
<span class="ruby-comment">#
|
284
|
-
<span class="ruby-
|
285
|
-
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
286
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-string">"Problem acquiring workflow data from t2flow file!\n"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">e</span>
|
287
|
-
<span class="ruby-keyword">end</span>
|
277
|
+
<span class="ruby-comment"># TODO: check and add auth stuff -- even more unsafe with session cookies</span>
|
278
|
+
<span class="ruby-comment"># since the myexp username/passwd will be saved in the galaxy ruby script</span>
|
279
|
+
<span class="ruby-comment"># for all to see...</span>
|
288
280
|
|
289
|
-
|
290
|
-
|
281
|
+
<span class="ruby-keyword">begin</span>
|
282
|
+
<span class="ruby-comment"># Get workflow data from myexperiment -- a _MyExperimentWorkflow_ object is returned</span>
|
283
|
+
<span class="ruby-ivar">@wkf_object</span> = <span class="ruby-constant">MyExperimentREST</span><span class="ruby-operator">::</span><span class="ruby-constant">Workflow</span>.<span class="ruby-identifier">from_uri</span>(<span class="ruby-ivar">@config</span>[<span class="ruby-value">:params</span>][<span class="ruby-value">:url</span>])
|
284
|
+
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
285
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-string">"Problem acquiring workflow data from myExperiment!\n"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">e</span>
|
286
|
+
<span class="ruby-keyword">end</span>
|
287
|
+
|
288
|
+
<span class="ruby-keyword">elsif</span>(<span class="ruby-identifier">config</span>[<span class="ruby-value">:wkf_source</span>] <span class="ruby-operator">==</span> <span class="ruby-constant">Workflows</span><span class="ruby-operator">::</span><span class="ruby-constant">T2FLOW</span>)
|
289
|
+
|
290
|
+
<span class="ruby-keyword">begin</span>
|
291
|
+
<span class="ruby-comment"># Get workflow data from t2flow file -- a _MyExperimentWorkflow_ object is returned</span>
|
292
|
+
<span class="ruby-ivar">@wkf_object</span> = <span class="ruby-identifier">populate_taverna_workflow_from_t2flow</span>(<span class="ruby-ivar">@config</span>[<span class="ruby-value">:params</span>][<span class="ruby-value">:t2flow</span>])
|
293
|
+
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
294
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-string">"Problem acquiring workflow data from t2flow file!\n"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">e</span>
|
295
|
+
<span class="ruby-keyword">end</span>
|
296
|
+
|
297
|
+
<span class="ruby-keyword">else</span>
|
298
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-string">"No such workflow source supported!"</span>
|
299
|
+
<span class="ruby-keyword">end</span>
|
291
300
|
<span class="ruby-keyword">end</span>
|
292
301
|
|
293
302
|
<span class="ruby-comment"># if an xml_out file handler was not given provide one with the title as the value</span>
|
294
303
|
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@config</span>[<span class="ruby-value">:params</span>][<span class="ruby-value">:xml_out</span>]
|
295
304
|
<span class="ruby-identifier">generate_xml</span>(<span class="ruby-ivar">@wkf_object</span>, <span class="ruby-ivar">@config</span>[<span class="ruby-value">:params</span>][<span class="ruby-value">:xml_out</span>])
|
296
305
|
<span class="ruby-keyword">else</span>
|
297
|
-
<span class="ruby-identifier">xml_out</span> = <span class="ruby-identifier">open</span>(<span class="ruby-ivar">@wkf_object</span>.<span class="ruby-identifier">title</span>.<span class="ruby-identifier">
|
306
|
+
<span class="ruby-identifier">xml_out</span> = <span class="ruby-identifier">open</span>(<span class="ruby-ivar">@wkf_object</span>.<span class="ruby-identifier">title</span>.<span class="ruby-identifier">to_filename</span> <span class="ruby-operator">+</span> <span class="ruby-string">".xml"</span>, <span class="ruby-string">"w"</span>)
|
298
307
|
<span class="ruby-identifier">generate_xml</span>(<span class="ruby-ivar">@wkf_object</span>, <span class="ruby-identifier">xml_out</span>)
|
299
308
|
<span class="ruby-identifier">xml_out</span>.<span class="ruby-identifier">close</span>
|
300
309
|
<span class="ruby-keyword">end</span>
|
@@ -303,7 +312,7 @@ the workflow object that will be used to generate the galaxy tool</p>
|
|
303
312
|
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@config</span>[<span class="ruby-value">:params</span>][<span class="ruby-value">:rb_out</span>]
|
304
313
|
<span class="ruby-identifier">generate_rb</span>(<span class="ruby-ivar">@wkf_object</span>, <span class="ruby-ivar">@config</span>[<span class="ruby-value">:params</span>][<span class="ruby-value">:rb_out</span>], <span class="ruby-ivar">@config</span>[<span class="ruby-value">:params</span>][<span class="ruby-value">:t2_server</span>])
|
305
314
|
<span class="ruby-keyword">else</span>
|
306
|
-
<span class="ruby-identifier">rb_out</span> = <span class="ruby-identifier">open</span>(<span class="ruby-ivar">@wkf_object</span>.<span class="ruby-identifier">title</span>.<span class="ruby-identifier">
|
315
|
+
<span class="ruby-identifier">rb_out</span> = <span class="ruby-identifier">open</span>(<span class="ruby-ivar">@wkf_object</span>.<span class="ruby-identifier">title</span>.<span class="ruby-identifier">to_filename</span> <span class="ruby-operator">+</span> <span class="ruby-string">".rb"</span>, <span class="ruby-string">"w"</span>)
|
307
316
|
<span class="ruby-identifier">generate_rb</span>(<span class="ruby-ivar">@wkf_object</span>, <span class="ruby-identifier">rb_out</span>, <span class="ruby-ivar">@config</span>[<span class="ruby-value">:params</span>][<span class="ruby-value">:t2_server</span>])
|
308
317
|
<span class="ruby-identifier">rb_out</span>.<span class="ruby-identifier">close</span>
|
309
318
|
<span class="ruby-keyword">end</span>
|
data/doc/rdoc/created.rid
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
|
2
|
-
lib/workflow-to-galaxy.rb
|
1
|
+
Mon, 16 Jan 2012 16:21:48 +0100
|
2
|
+
lib/workflow-to-galaxy.rb Tue, 15 Nov 2011 15:48:17 +0100
|
3
3
|
lib/workflow-to-galaxy/constants.rb Mon, 10 Oct 2011 14:10:32 +0200
|
4
|
-
lib/workflow-to-galaxy/galaxy.rb
|
4
|
+
lib/workflow-to-galaxy/galaxy.rb Mon, 16 Jan 2012 14:03:11 +0100
|
5
5
|
LICENSE Tue, 26 Jul 2011 16:35:55 +0200
|
6
|
-
README Thu,
|
7
|
-
CHANGES
|
6
|
+
README Thu, 12 Jan 2012 14:58:21 +0100
|
7
|
+
CHANGES Mon, 16 Jan 2012 16:21:32 +0100
|
data/doc/rdoc/index.html
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
<p>Konstantinos Karasavvas</p>
|
30
30
|
</td></tr><tr><td class="rdoc-term"><p>Gem Version</p></td>
|
31
31
|
<td>
|
32
|
-
<p>0.3.
|
32
|
+
<p>0.3.3</p>
|
33
33
|
</td></tr><tr><td class="rdoc-term"><p>Contact</p></td>
|
34
34
|
<td>
|
35
35
|
<p><a href="mailto:kostas.karasavvas@nbic.nl">kostas.karasavvas@nbic.nl</a></p>
|
@@ -131,6 +131,8 @@ href="http://semver.org/.">semver.org/.</a></p>
|
|
131
131
|
|
132
132
|
<li class="module"><a href="WorkflowToGalaxy/Workflows.html">WorkflowToGalaxy::Workflows</a></li>
|
133
133
|
|
134
|
+
<li class="class"><a href="String.html">String</a></li>
|
135
|
+
|
134
136
|
</ul>
|
135
137
|
|
136
138
|
<h2 id="methods">Methods</h2>
|
@@ -140,6 +142,8 @@ href="http://semver.org/.">semver.org/.</a></p>
|
|
140
142
|
|
141
143
|
<li><a href="WorkflowToGalaxy/GalaxyTool.html#method-i-generate">#generate — WorkflowToGalaxy::GalaxyTool</a></li>
|
142
144
|
|
145
|
+
<li><a href="String.html#method-i-to_filename">#to_filename — String</a></li>
|
146
|
+
|
143
147
|
</ul>
|
144
148
|
|
145
149
|
<div id="validator-badges">
|
data/lib/workflow-to-galaxy.rb
CHANGED
@@ -5,3 +5,17 @@ require 'workflow-to-galaxy/constants'
|
|
5
5
|
module WorkflowToGalaxy # TODO rename to WorkflowWrappers?
|
6
6
|
|
7
7
|
end
|
8
|
+
|
9
|
+
# Add methods to the String class to operate on file paths.
|
10
|
+
class String
|
11
|
+
|
12
|
+
# :call-seq:
|
13
|
+
# str.to_filename -> string
|
14
|
+
#
|
15
|
+
# Returns a new String with spaces substituted by underscores and
|
16
|
+
# removes all special characters.
|
17
|
+
def to_filename
|
18
|
+
self.gsub(/ /, '_').gsub(/[^A-Za-z0-9_]/, '')
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -28,6 +28,7 @@ module WorkflowToGalaxy
|
|
28
28
|
# :url (the myexperiment workflow URL)
|
29
29
|
# :xml_out (the file handle for the generated xml -- optional)
|
30
30
|
# :rb_out (the file handle for the generated rb -- optional)
|
31
|
+
# :response (the response from myExperiment if already obtained -- optional)
|
31
32
|
#
|
32
33
|
# :params (a hash with the following parameters -- T2FLOW)
|
33
34
|
# :t2flow (the file name and path)
|
@@ -54,6 +55,8 @@ module WorkflowToGalaxy
|
|
54
55
|
|
55
56
|
# Galaxy's XML tool tag
|
56
57
|
def tool_begin_tag(out, name)
|
58
|
+
# wkf title is used for id but spaces are changed to underscores
|
59
|
+
# TODO: delete other special characters!!
|
57
60
|
out.write("<tool id=\"#{name.gsub(/ /, '_')}_id\" name=\"#{name}\">\n")
|
58
61
|
end
|
59
62
|
|
@@ -217,7 +220,10 @@ module WorkflowToGalaxy
|
|
217
220
|
if o.examples.size >= 1
|
218
221
|
out.write "Examples include:\n\n"
|
219
222
|
o.examples.each do |ex|
|
220
|
-
|
223
|
+
# We could substitute them with with 
 that works for HTML (e.g. wkf 1180)
|
224
|
+
# But if an example input is truly multiline then input descr. will
|
225
|
+
# display them all as separate inputs...
|
226
|
+
out.write " - " + ex.to_s.gsub(/[\n]/, '
 - ') + "\n"
|
221
227
|
end
|
222
228
|
end
|
223
229
|
out.write "\n"
|
@@ -278,6 +284,7 @@ module WorkflowToGalaxy
|
|
278
284
|
|
279
285
|
# Galaxy's script utility methods
|
280
286
|
# TODO: use ruby's flatten instead of our own !!!
|
287
|
+
# TODO: add_to_zip_file does not work for multiple files -- with new API??
|
281
288
|
def script_util_methods(out)
|
282
289
|
|
283
290
|
out.write <<'UTIL_METHODS'
|
@@ -574,38 +581,45 @@ START_RUN
|
|
574
581
|
#
|
575
582
|
def generate
|
576
583
|
|
577
|
-
|
578
|
-
if(config[:wkf_source] == Workflows::MYEXPERIMENT_TAVERNA2)
|
584
|
+
if(config[:params][:response])
|
579
585
|
|
580
|
-
|
581
|
-
# since the myexp username/passwd will be saved in the galaxy ruby script
|
582
|
-
# for all to see...
|
586
|
+
@wkf_object = config[:params][:response]
|
583
587
|
|
584
|
-
|
585
|
-
# Get workflow data from myexperiment -- a _MyExperimentWorkflow_ object is returned
|
586
|
-
@wkf_object = MyExperimentREST::Workflow.from_uri(@config[:params][:url])
|
587
|
-
rescue Exception => e
|
588
|
-
raise "Problem acquiring workflow data from myExperiment!\n" + e
|
589
|
-
end
|
588
|
+
else
|
590
589
|
|
591
|
-
|
590
|
+
# check the type of workflow source and acquire the appropriate data
|
591
|
+
if(config[:wkf_source] == Workflows::MYEXPERIMENT_TAVERNA2)
|
592
592
|
|
593
|
-
|
594
|
-
#
|
595
|
-
|
596
|
-
rescue Exception => e
|
597
|
-
raise "Problem acquiring workflow data from t2flow file!\n" + e
|
598
|
-
end
|
593
|
+
# TODO: check and add auth stuff -- even more unsafe with session cookies
|
594
|
+
# since the myexp username/passwd will be saved in the galaxy ruby script
|
595
|
+
# for all to see...
|
599
596
|
|
600
|
-
|
601
|
-
|
597
|
+
begin
|
598
|
+
# Get workflow data from myexperiment -- a _MyExperimentWorkflow_ object is returned
|
599
|
+
@wkf_object = MyExperimentREST::Workflow.from_uri(@config[:params][:url])
|
600
|
+
rescue Exception => e
|
601
|
+
raise "Problem acquiring workflow data from myExperiment!\n" + e
|
602
|
+
end
|
603
|
+
|
604
|
+
elsif(config[:wkf_source] == Workflows::T2FLOW)
|
605
|
+
|
606
|
+
begin
|
607
|
+
# Get workflow data from t2flow file -- a _MyExperimentWorkflow_ object is returned
|
608
|
+
@wkf_object = populate_taverna_workflow_from_t2flow(@config[:params][:t2flow])
|
609
|
+
rescue Exception => e
|
610
|
+
raise "Problem acquiring workflow data from t2flow file!\n" + e
|
611
|
+
end
|
612
|
+
|
613
|
+
else
|
614
|
+
raise "No such workflow source supported!"
|
615
|
+
end
|
602
616
|
end
|
603
617
|
|
604
618
|
# if an xml_out file handler was not given provide one with the title as the value
|
605
619
|
if @config[:params][:xml_out]
|
606
620
|
generate_xml(@wkf_object, @config[:params][:xml_out])
|
607
621
|
else
|
608
|
-
xml_out = open(@wkf_object.title.
|
622
|
+
xml_out = open(@wkf_object.title.to_filename + ".xml", "w")
|
609
623
|
generate_xml(@wkf_object, xml_out)
|
610
624
|
xml_out.close
|
611
625
|
end
|
@@ -614,7 +628,7 @@ START_RUN
|
|
614
628
|
if @config[:params][:rb_out]
|
615
629
|
generate_rb(@wkf_object, @config[:params][:rb_out], @config[:params][:t2_server])
|
616
630
|
else
|
617
|
-
rb_out = open(@wkf_object.title.
|
631
|
+
rb_out = open(@wkf_object.title.to_filename + ".rb", "w")
|
618
632
|
generate_rb(@wkf_object, rb_out, @config[:params][:t2_server])
|
619
633
|
rb_out.close
|
620
634
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workflow-to-galaxy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 3
|
10
|
+
version: 0.3.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kostas Karasavvas
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2012-01-16 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: myexperiment-rest
|
@@ -97,7 +97,6 @@ files:
|
|
97
97
|
- CHANGES
|
98
98
|
- Rakefile
|
99
99
|
- bin/workflow_to_galaxy.rb
|
100
|
-
- bin/Fetch_PDB_flatfile_from_RCSB_server.xml
|
101
100
|
- lib/workflow-to-galaxy/galaxy.rb
|
102
101
|
- lib/workflow-to-galaxy/constants.rb
|
103
102
|
- lib/workflow-to-galaxy.rb
|
@@ -122,6 +121,7 @@ files:
|
|
122
121
|
- doc/rdoc/lib/workflow-to-galaxy/constants_rb.html
|
123
122
|
- doc/rdoc/created.rid
|
124
123
|
- doc/rdoc/CHANGES.html
|
124
|
+
- doc/rdoc/String.html
|
125
125
|
- doc/rdoc/images/find.png
|
126
126
|
- doc/rdoc/images/bug.png
|
127
127
|
- doc/rdoc/images/bullet_toggle_minus.png
|
File without changes
|