bio-shell 0.0.0

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.
Files changed (52) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/BSDL +22 -0
  4. data/COPYING +56 -0
  5. data/COPYING.ja +51 -0
  6. data/Gemfile +6 -0
  7. data/LEGAL +8 -0
  8. data/README.md +62 -0
  9. data/Rakefile +20 -0
  10. data/bin/bioruby +44 -0
  11. data/bio-shell.gemspec +29 -0
  12. data/lib/bio/shell.rb +44 -0
  13. data/lib/bio/shell/core.rb +578 -0
  14. data/lib/bio/shell/demo.rb +146 -0
  15. data/lib/bio/shell/interface.rb +217 -0
  16. data/lib/bio/shell/irb.rb +94 -0
  17. data/lib/bio/shell/object.rb +71 -0
  18. data/lib/bio/shell/plugin/blast.rb +42 -0
  19. data/lib/bio/shell/plugin/codon.rb +218 -0
  20. data/lib/bio/shell/plugin/das.rb +58 -0
  21. data/lib/bio/shell/plugin/emboss.rb +23 -0
  22. data/lib/bio/shell/plugin/entry.rb +137 -0
  23. data/lib/bio/shell/plugin/flatfile.rb +101 -0
  24. data/lib/bio/shell/plugin/midi.rb +430 -0
  25. data/lib/bio/shell/plugin/ncbirest.rb +68 -0
  26. data/lib/bio/shell/plugin/obda.rb +45 -0
  27. data/lib/bio/shell/plugin/psort.rb +56 -0
  28. data/lib/bio/shell/plugin/seq.rb +248 -0
  29. data/lib/bio/shell/plugin/togows.rb +40 -0
  30. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/bioruby_generator.rb +29 -0
  31. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_classes.rhtml +4 -0
  32. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_log.rhtml +27 -0
  33. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_methods.rhtml +11 -0
  34. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_modules.rhtml +4 -0
  35. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_variables.rhtml +7 -0
  36. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-bg.gif +0 -0
  37. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-gem.png +0 -0
  38. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-link.gif +0 -0
  39. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby.css +368 -0
  40. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby.rhtml +47 -0
  41. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_controller.rb +144 -0
  42. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_helper.rb +47 -0
  43. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/commands.rhtml +8 -0
  44. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/history.rhtml +10 -0
  45. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/index.rhtml +26 -0
  46. data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/spinner.gif +0 -0
  47. data/lib/bio/shell/script.rb +25 -0
  48. data/lib/bio/shell/setup.rb +108 -0
  49. data/lib/bio/shell/version.rb +5 -0
  50. data/lib/bio/shell/web.rb +102 -0
  51. data/lib/bioruby.rb +34 -0
  52. metadata +165 -0
@@ -0,0 +1,29 @@
1
+ class BiorubyGenerator < Rails::Generator::Base
2
+ def manifest
3
+ record do |m|
4
+ m.directory 'app/controllers'
5
+ m.directory 'app/helpers'
6
+ m.directory 'app/views/bioruby'
7
+ m.directory 'app/views/layouts'
8
+ m.directory 'public/images/bioruby'
9
+ m.directory 'public/stylesheets'
10
+ m.file 'bioruby_controller.rb', 'app/controllers/bioruby_controller.rb'
11
+ m.file 'bioruby_helper.rb', 'app/helpers/bioruby_helper.rb'
12
+ m.file '_methods.rhtml', 'app/views/bioruby/_methods.rhtml'
13
+ m.file '_classes.rhtml', 'app/views/bioruby/_classes.rhtml'
14
+ m.file '_modules.rhtml', 'app/views/bioruby/_modules.rhtml'
15
+ m.file '_log.rhtml', 'app/views/bioruby/_log.rhtml'
16
+ m.file '_variables.rhtml', 'app/views/bioruby/_variables.rhtml'
17
+ m.file 'commands.rhtml', 'app/views/bioruby/commands.rhtml'
18
+ m.file 'history.rhtml', 'app/views/bioruby/history.rhtml'
19
+ m.file 'index.rhtml', 'app/views/bioruby/index.rhtml'
20
+ m.file 'bioruby.rhtml', 'app/views/layouts/bioruby.rhtml'
21
+ m.file 'spinner.gif', 'public/images/bioruby/spinner.gif'
22
+ m.file 'bioruby-gem.png', 'public/images/bioruby/gem.png'
23
+ m.file 'bioruby-link.gif', 'public/images/bioruby/link.gif'
24
+ m.file 'bioruby-bg.gif', 'public/images/bioruby/bg.gif'
25
+ m.file 'bioruby.css', 'public/stylesheets/bioruby.css'
26
+ end
27
+ end
28
+ end
29
+
@@ -0,0 +1,4 @@
1
+ [ <%= @class %> ]
2
+ <div id="class_list">
3
+ <%= @classes.map{ |x| reference_link(x) }.join(" > ") %>
4
+ </div>
@@ -0,0 +1,27 @@
1
+ <div id="log_<%= @number %>" class="log">
2
+ <div class="input">
3
+ Input: [<%= link_to_remote @number, :url => {:action => "reload_script", :number => @number} %>]
4
+ <pre class="script">
5
+ <%=h @script %>
6
+ </pre>
7
+ <div class="output">
8
+ Result:
9
+ [<%= link_to_remote "methods", :url => {:action => "list_methods", :number => @number} %>]
10
+ [<%= link_to_remote "classes", :url => {:action => "list_classes", :number => @number} %>]
11
+ [<%= link_to_remote "modules", :url => {:action => "list_modules", :number => @number} %>]
12
+ <div id="methods_<%= @number %>" class="methods"></div>
13
+ <div id="classes_<%= @number %>" class="classes"></div>
14
+ <div id="modules_<%= @number %>" class="modules"></div>
15
+ <pre class="result">
16
+ <%=h @result %>
17
+ </pre>
18
+ <% if @output %>
19
+ Output:
20
+ <pre class="output">
21
+ <%=h @output %>
22
+ </pre>
23
+ <% end %>
24
+ </div>
25
+ </div>
26
+ </div>
27
+
@@ -0,0 +1,11 @@
1
+ [ <%= @class %> ]
2
+ <div id="method_list">
3
+ <table>
4
+ <tr>
5
+ <%- step = @methods.size / 4 + 1 -%>
6
+ <%- 0.step(@methods.size, step) do |i| -%>
7
+ <td><%= @methods[i, step].join("<br>") %></td>
8
+ <%- end -%>
9
+ </tr>
10
+ </table>
11
+ </div>
@@ -0,0 +1,4 @@
1
+ [ <%= @class %> ]
2
+ <div id="module_list">
3
+ <%= @modules.map {|x| reference_link(x) }.sort.join("<br>") %>
4
+ </div>
@@ -0,0 +1,7 @@
1
+ <div id="variables">
2
+ <ul>
3
+ <% local_variables.each do |var| %>
4
+ <li><%= link_to_remote var, :update => "index", :url => {:action => "evaluate", :script => var} %></li>
5
+ <% end %>
6
+ </ul>
7
+ </div>
@@ -0,0 +1,368 @@
1
+ /* body */
2
+
3
+ body {
4
+ margin: 0;
5
+ color: #555555;
6
+ background: url("/images/bioruby/bg.gif") repeat-y center;
7
+ font-family: "trebuchet ms", verdana, arial, helvetica, sans-serif;
8
+ font-size: 12px;
9
+ }
10
+
11
+ div#content {
12
+ width: 750px;
13
+ height: auto;
14
+ margin: 0 auto 0 auto;
15
+ text-align: left;
16
+ }
17
+
18
+ /* title */
19
+
20
+ div#title {
21
+ width: 550px;
22
+ padding-right: 200px;
23
+ margin-bottom: 20px;
24
+ text-align: left;
25
+ background: url("/images/bioruby/gem.png") no-repeat left bottom;
26
+ }
27
+
28
+ div#title .titletop {
29
+ color: #736451;
30
+ font-size: 30px;
31
+ font-weight: normal;
32
+ text-align: left;
33
+ text-indent: 70px;
34
+ margin: 0;
35
+ padding: 0;
36
+ padding-top: 20px;
37
+ margin-bottom: 10px;
38
+ }
39
+
40
+ div#title .titlesub {
41
+ color: #000000;
42
+ font-size: 15px;
43
+ font-weight: normal;
44
+ text-align: left;
45
+ text-indent: 70px;
46
+ margin: 0;
47
+ padding: 0;
48
+ border-bottom: 1px solid #eeeeee;
49
+ }
50
+
51
+ /* main */
52
+
53
+ div#main {
54
+ width: 550px;
55
+ background-color: #ffffff;
56
+ padding-top: 0px;
57
+ padding-left: 10px;
58
+ }
59
+
60
+ div#notice {
61
+ background-color: #fcc;
62
+ border: 1px solid #f00;
63
+ }
64
+
65
+ div#notice p {
66
+ margin: 0;
67
+ padding: 10px;
68
+ }
69
+
70
+ pre {
71
+ color: #6e8377;
72
+ background-color: #eaedeb;
73
+ border-color: #6e8377;
74
+ border-style: dashed;
75
+ border-width: 1px;
76
+ padding: 5px;
77
+ width: 500px;
78
+ overflow: auto;
79
+ }
80
+
81
+ div.log {
82
+ width: 500px;
83
+ margin-top: 15px;
84
+ padding-top: 5px;
85
+ border-top: 1px dotted #333333;
86
+ }
87
+
88
+ div.log div.input pre.script {
89
+ background-color: #ffffeb;
90
+ border-style: solid;
91
+ }
92
+
93
+ div.log div.output div.methods {
94
+ padding: 5px;
95
+ background-color: #ffffdd;
96
+ border: 1px solid #ffcc00;
97
+ }
98
+
99
+ div.log div.output div.classes {
100
+ padding: 5px;
101
+ background-color: #ccffcc;
102
+ border: 1px solid #00ff00;
103
+ }
104
+
105
+ div.log div.output div.modules {
106
+ padding: 5px;
107
+ background-color: #ffcccc;
108
+ border: 1px solid #ff0000;
109
+ }
110
+
111
+ div.log div.output pre.result {
112
+ border-style: dashed;
113
+ }
114
+
115
+ div.log div.output pre.output {
116
+ border-style: dashed;
117
+ }
118
+
119
+ div.log hr.log {
120
+ border-style: dotted none none none;
121
+ border-top-width: 1px;
122
+ border-color: #6e8377;
123
+ width: 200px;
124
+ height: 1px;
125
+ }
126
+
127
+ /* side */
128
+
129
+ div#side {
130
+ width: 150px;
131
+ float: right;
132
+ margin-top: 20px;
133
+ text-align: left;
134
+ font-size: 12px;
135
+ color: #e44268;
136
+ }
137
+
138
+ div#side div.title {
139
+ font-weight: normal;
140
+ color: #e44268;
141
+ text-align: left;
142
+ border-width: 0px 0px 1px 0px;
143
+ border-bottom: 1px solid #e44268;
144
+ }
145
+
146
+ div#side a:link {
147
+ color: #ffffff;
148
+ text-decoration: none;
149
+ }
150
+
151
+ div#side a:visited {
152
+ color: #ffffff;
153
+ text-decoration: none;
154
+ }
155
+
156
+ div#side a:hover {
157
+ color: #cccccc;
158
+ text-decoration: underline;
159
+ }
160
+
161
+ div#side ol,ul {
162
+ margin: 10px;
163
+ padding-left: 10px;
164
+ }
165
+
166
+ div#side li {
167
+ color: #e44268;
168
+ }
169
+
170
+ div#side img {
171
+ padding: 5px;
172
+ /* centering */
173
+ display: block;
174
+ margin-left: auto;
175
+ margin-right: auto;
176
+ border: 0px;
177
+ }
178
+
179
+ /* history */
180
+
181
+ div#history {
182
+ width: 500px;
183
+ }
184
+
185
+ div#history div.histtime {
186
+ background-color: #eaedeb;
187
+ padding: 5px;
188
+ }
189
+
190
+ div#history div.histline {
191
+ background-color: #ffffeb;
192
+ padding: 5px;
193
+ font-family: monospace;
194
+ white-space: pre;
195
+ }
196
+
197
+ /* command */
198
+
199
+ div#command {
200
+ width: 500px;
201
+ }
202
+
203
+ /* image */
204
+
205
+ img {
206
+ }
207
+
208
+ /* em */
209
+
210
+ em {
211
+ color: #6e8377;
212
+ font-style: normal;
213
+ }
214
+
215
+ /* link */
216
+
217
+ a {
218
+ text-decoration: none;
219
+ }
220
+
221
+ a:link {
222
+ color: #669933;
223
+ }
224
+
225
+ a:visited {
226
+ color: #669933;
227
+ }
228
+
229
+ a:hover {
230
+ text-decoration: underline;
231
+ }
232
+
233
+ /* header */
234
+
235
+ h1 {
236
+ font-size: 180%;
237
+ color: #ffffff;
238
+ background-color: #6e8377;
239
+ line-height: 64px;
240
+ text-align: left;
241
+ padding-left: 20px;
242
+ }
243
+
244
+ h2 {
245
+ font-size: 160%;
246
+ color: #6e8377;
247
+ border-color: #b9c3be;
248
+ border-style: dashed;
249
+ border-width: 0px 0px 1px 0px;
250
+ }
251
+
252
+ h3 {
253
+ font-size: 140%;
254
+ color: #6e8377;
255
+ border-color: #b9c3be;
256
+ border-style: dotted;
257
+ border-width: 0px 0px 1px 0px;
258
+ }
259
+
260
+ h4 {
261
+ font-size: 130%;
262
+ color: #6e8377;
263
+ border-color: #b9c3be;
264
+ border-style: solid;
265
+ border-width: 0px 0px 1px 0px;
266
+ }
267
+
268
+ h5 {
269
+ font-size: 120%;
270
+ color: #6e8377;
271
+ }
272
+
273
+ h6 {
274
+ font-size: 110%;
275
+ color: #6e8377;
276
+ }
277
+
278
+ /* list */
279
+
280
+ dt {
281
+ color: #6e8377;
282
+ border-color: #b9c3be;
283
+ border-style: dashed;
284
+ border-width: 1px;
285
+ padding: 5px;
286
+ }
287
+
288
+ ul {
289
+ color: #6e8377;
290
+ }
291
+
292
+ /* table */
293
+
294
+ table {
295
+ border: 1px solid #cccccc;
296
+ border-collapse: collapse;
297
+ }
298
+
299
+ th {
300
+ vertical-align: top;
301
+ padding: 5px;
302
+ }
303
+
304
+ td {
305
+ vertical-align: top;
306
+ padding: 5px;
307
+ }
308
+
309
+ div#method_list table {
310
+ border: none;
311
+ }
312
+
313
+
314
+ /* form */
315
+
316
+ input {
317
+ background-color: #FFFFFF;
318
+ padding: 2px;
319
+ font-size: 10px;
320
+ color: #666666;
321
+ border: 1px solid #611022;
322
+ margin-bottom: 2px;
323
+ }
324
+
325
+ input[type=submit] {
326
+ background-color: #FFFFFF;
327
+ padding: 2px;
328
+ font-size: 10px;
329
+ color: #ffffff;
330
+ border: 1px solid #611022;
331
+ background-color: #E44268;
332
+ margin-bottom: 2px;
333
+ }
334
+
335
+ /* textarea */
336
+
337
+ textarea {
338
+ background-color: #eaedeb;
339
+ font-family: monospace;
340
+ font-size: 12px;
341
+ overflow: auto;
342
+ width: 500px;
343
+ padding: 5px;
344
+ }
345
+
346
+
347
+ /* blockquote */
348
+
349
+ blockquote {
350
+ color: #6e8377;
351
+ background-color: #eaedeb;
352
+ border-color: #6e8377;
353
+ border-style: dashed;
354
+ border-width: 1px;
355
+ }
356
+
357
+ /* media */
358
+
359
+ @media print {
360
+ div#main { margin-left: 0px; }
361
+ div#side { display: none; }
362
+ }
363
+
364
+ @media screen {
365
+ div#main { margin-left: 0px; }
366
+ div#side { display: block; }
367
+ }
368
+