bio 1.5.2 → 1.6.0.pre.20181210
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +12 -11
- data/ChangeLog +14 -3106
- data/{gemfiles/Gemfile.travis-ruby2.2 → Gemfile} +0 -1
- data/KNOWN_ISSUES.rdoc +0 -5
- data/README.rdoc +11 -18
- data/RELEASE_NOTES.rdoc +34 -291
- data/Rakefile +13 -9
- data/appveyor.yml +21 -0
- data/bioruby.gemspec +7 -78
- data/bioruby.gemspec.erb +8 -27
- data/doc/ChangeLog-1.5.0 +2919 -0
- data/doc/RELEASE_NOTES-1.5.0.rdoc +285 -0
- data/doc/Tutorial.rd +6 -108
- data/doc/Tutorial.rd.html +19 -98
- data/gemfiles/Gemfile.travis-jruby1.8 +3 -5
- data/gemfiles/Gemfile.travis-jruby1.9 +0 -3
- data/gemfiles/Gemfile.travis-rbx +0 -1
- data/gemfiles/Gemfile.travis-ruby1.8 +4 -4
- data/gemfiles/Gemfile.travis-ruby1.9 +0 -1
- data/gemfiles/prepare-gemspec.rb +4 -0
- data/lib/bio.rb +0 -10
- data/lib/bio/data/codontable.rb +99 -3
- data/lib/bio/io/togows.rb +5 -5
- data/lib/bio/version.rb +6 -8
- data/sample/test_restriction_enzyme_long.rb +1 -1
- data/test/unit/bio/data/test_codontable.rb +3 -0
- metadata +11 -77
- data/bin/bioruby +0 -47
- data/bin/br_biofetch.rb +0 -71
- data/bin/br_bioflat.rb +0 -293
- data/bin/br_biogetseq.rb +0 -45
- data/bin/br_pmfetch.rb +0 -422
- data/lib/bio/db/biosql/biosql_to_biosequence.rb +0 -78
- data/lib/bio/db/biosql/sequence.rb +0 -444
- data/lib/bio/db/phyloxml/phyloxml.xsd +0 -582
- data/lib/bio/db/phyloxml/phyloxml_elements.rb +0 -1197
- data/lib/bio/db/phyloxml/phyloxml_parser.rb +0 -1001
- data/lib/bio/db/phyloxml/phyloxml_writer.rb +0 -227
- data/lib/bio/io/biosql/ar-biosql.rb +0 -257
- data/lib/bio/io/biosql/biosql.rb +0 -39
- data/lib/bio/io/biosql/config/database.yml +0 -21
- data/lib/bio/io/sql.rb +0 -79
- data/lib/bio/shell.rb +0 -44
- data/lib/bio/shell/core.rb +0 -578
- data/lib/bio/shell/demo.rb +0 -146
- data/lib/bio/shell/interface.rb +0 -217
- data/lib/bio/shell/irb.rb +0 -94
- data/lib/bio/shell/object.rb +0 -71
- data/lib/bio/shell/plugin/blast.rb +0 -42
- data/lib/bio/shell/plugin/codon.rb +0 -218
- data/lib/bio/shell/plugin/das.rb +0 -58
- data/lib/bio/shell/plugin/emboss.rb +0 -23
- data/lib/bio/shell/plugin/entry.rb +0 -137
- data/lib/bio/shell/plugin/flatfile.rb +0 -101
- data/lib/bio/shell/plugin/midi.rb +0 -430
- data/lib/bio/shell/plugin/ncbirest.rb +0 -68
- data/lib/bio/shell/plugin/obda.rb +0 -45
- data/lib/bio/shell/plugin/psort.rb +0 -56
- data/lib/bio/shell/plugin/seq.rb +0 -248
- data/lib/bio/shell/plugin/togows.rb +0 -40
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/bioruby_generator.rb +0 -29
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_classes.rhtml +0 -4
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_log.rhtml +0 -27
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_methods.rhtml +0 -11
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_modules.rhtml +0 -4
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/_variables.rhtml +0 -7
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-bg.gif +0 -0
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-gem.png +0 -0
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby-link.gif +0 -0
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby.css +0 -368
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby.rhtml +0 -47
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_controller.rb +0 -144
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_helper.rb +0 -47
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/commands.rhtml +0 -8
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/history.rhtml +0 -10
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/index.rhtml +0 -26
- data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/spinner.gif +0 -0
- data/lib/bio/shell/script.rb +0 -25
- data/lib/bio/shell/setup.rb +0 -108
- data/lib/bio/shell/web.rb +0 -102
- data/sample/test_phyloxml_big.rb +0 -205
- data/test/data/phyloxml/apaf.xml +0 -666
- data/test/data/phyloxml/bcl_2.xml +0 -2097
- data/test/data/phyloxml/made_up.xml +0 -144
- data/test/data/phyloxml/ncbi_taxonomy_mollusca_short.xml +0 -65
- data/test/data/phyloxml/phyloxml_examples.xml +0 -415
- data/test/unit/bio/db/biosql/tc_biosql.rb +0 -114
- data/test/unit/bio/db/biosql/ts_suite_biosql.rb +0 -8
- data/test/unit/bio/db/test_phyloxml.rb +0 -821
- data/test/unit/bio/db/test_phyloxml_writer.rb +0 -334
- data/test/unit/bio/shell/plugin/test_seq.rb +0 -187
- data/test/unit/bio/test_shell.rb +0 -20
@@ -1,47 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
-
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
5
|
-
<title>BioRuby shell on Rails</title>
|
6
|
-
<%= stylesheet_link_tag "bioruby.css" %>
|
7
|
-
<%= javascript_include_tag :defaults %>
|
8
|
-
</head>
|
9
|
-
|
10
|
-
<body>
|
11
|
-
|
12
|
-
<div id="content">
|
13
|
-
|
14
|
-
<div id="side">
|
15
|
-
<div class="title">Project</div>
|
16
|
-
<ul>
|
17
|
-
<li><%= link_to "#{File.basename(project_workdir)}", "file://#{project_workdir}" %>
|
18
|
-
</ul>
|
19
|
-
|
20
|
-
<div class="title">Functions</div>
|
21
|
-
<ul>
|
22
|
-
<li><%= link_to "Console", :action => "index" %></li>
|
23
|
-
<li><%= link_to "History", :action => "history" %></li>
|
24
|
-
<li><%= link_to "Commands", :action => "commands" %></li>
|
25
|
-
</ul>
|
26
|
-
|
27
|
-
<div class="title">Local variables</div>
|
28
|
-
<%= render :partial => "variables" %>
|
29
|
-
|
30
|
-
<br>
|
31
|
-
<a href="http://bioruby.org/"><img src="/images/bioruby/link.gif" border=0></a>
|
32
|
-
</div><!-- side -->
|
33
|
-
|
34
|
-
<div id="title">
|
35
|
-
<p class="titletop">BioRuby shell on Rails</p>
|
36
|
-
<p class="titlesub">Web interface for the BioRuby library</p>
|
37
|
-
</div><!-- title -->
|
38
|
-
|
39
|
-
<div id="main">
|
40
|
-
<%= yield %>
|
41
|
-
</div><!-- main -->
|
42
|
-
|
43
|
-
</div><!-- content -->
|
44
|
-
|
45
|
-
</body>
|
46
|
-
|
47
|
-
</html>
|
data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_controller.rb
DELETED
@@ -1,144 +0,0 @@
|
|
1
|
-
class BiorubyController < ApplicationController
|
2
|
-
|
3
|
-
HIDE_METHODS = Object.methods + [ "singleton_method_added" ]
|
4
|
-
|
5
|
-
HIDE_MODULES = [
|
6
|
-
Base64::Deprecated, Base64, PP::ObjectMixin, Bio::Shell,
|
7
|
-
]
|
8
|
-
HIDE_MODULES << WEBrick if defined?(WEBrick)
|
9
|
-
|
10
|
-
HIDE_VARIABLES = [
|
11
|
-
"_", "irb", "_erbout",
|
12
|
-
]
|
13
|
-
|
14
|
-
SECURITY_NOTICE = "For security purposes, this functionality is only available to local requests."
|
15
|
-
|
16
|
-
def index
|
17
|
-
unless local_request?
|
18
|
-
flash[:notice] = SECURITY_NOTICE
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def evaluate
|
23
|
-
if local_request?
|
24
|
-
begin
|
25
|
-
@script = params[:script].strip
|
26
|
-
|
27
|
-
# write out to history
|
28
|
-
Bio::Shell.store_history(@script)
|
29
|
-
|
30
|
-
# evaluate ruby script
|
31
|
-
@result = eval(@script, Bio::Shell.cache[:binding])
|
32
|
-
|
33
|
-
# *TODO* need to handle with output of print/puts/p/pp etc. here
|
34
|
-
@output = nil
|
35
|
-
rescue
|
36
|
-
@result = $!
|
37
|
-
@output = nil
|
38
|
-
end
|
39
|
-
else
|
40
|
-
@result = SECURITY_NOTICE
|
41
|
-
@output = nil
|
42
|
-
end
|
43
|
-
|
44
|
-
@number = Bio::Shell.cache[:results].store(@script, @result, @output)
|
45
|
-
|
46
|
-
render :update do |page|
|
47
|
-
render_log(page)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
def list_methods
|
52
|
-
number = params[:number].to_i
|
53
|
-
|
54
|
-
script, result, output = Bio::Shell.cache[:results].restore(number)
|
55
|
-
@class = result.class
|
56
|
-
@methods = (result.methods - HIDE_METHODS).sort
|
57
|
-
|
58
|
-
render :update do |page|
|
59
|
-
page.replace_html "methods_#{number}", :partial => "methods"
|
60
|
-
page.visual_effect :toggle_blind, "methods_#{number}", :duration => 0.5
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
def list_classes
|
65
|
-
number = params[:number].to_i
|
66
|
-
|
67
|
-
script, result, output = Bio::Shell.cache[:results].restore(number)
|
68
|
-
class_name = result.class
|
69
|
-
@class = class_name
|
70
|
-
@classes = []
|
71
|
-
loop do
|
72
|
-
@classes.unshift(class_name)
|
73
|
-
if class_name == Object
|
74
|
-
break
|
75
|
-
else
|
76
|
-
class_name = class_name.superclass
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
render :update do |page|
|
81
|
-
page.replace_html "classes_#{number}", :partial => "classes"
|
82
|
-
page.visual_effect :toggle_blind, "classes_#{number}", :duration => 0.5
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
def list_modules
|
87
|
-
number = params[:number].to_i
|
88
|
-
|
89
|
-
script, result, output = Bio::Shell.cache[:results].restore(number)
|
90
|
-
@class = result.class
|
91
|
-
@modules = result.class.included_modules - HIDE_MODULES
|
92
|
-
|
93
|
-
render :update do |page|
|
94
|
-
page.replace_html "modules_#{number}", :partial => "modules"
|
95
|
-
page.visual_effect :toggle_blind, "modules_#{number}", :duration => 0.5
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
def reload_script
|
100
|
-
number = params[:number].to_i
|
101
|
-
|
102
|
-
script, result, output = Bio::Shell.cache[:results].restore(number)
|
103
|
-
|
104
|
-
render :update do |page|
|
105
|
-
page.replace_html :script, script
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
def results
|
110
|
-
if Bio::Shell.cache[:results].number > 0
|
111
|
-
limit = params[:limit].to_i
|
112
|
-
max_num = Bio::Shell.cache[:results].number
|
113
|
-
min_num = [ max_num - limit + 1, 1 ].max
|
114
|
-
min_num = 1 if limit == 0
|
115
|
-
|
116
|
-
render :update do |page|
|
117
|
-
# delete all existing results in the current DOM for clean up
|
118
|
-
page.select(".log").each do |element|
|
119
|
-
#page.hide element
|
120
|
-
page.remove element
|
121
|
-
end
|
122
|
-
|
123
|
-
# add selected results to the current DOM
|
124
|
-
min_num.upto(max_num) do |@number|
|
125
|
-
#page.show "log_#{@number}"
|
126
|
-
@script, @result, @output = Bio::Shell.cache[:results].restore(@number)
|
127
|
-
if @script
|
128
|
-
render_log(page)
|
129
|
-
end
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
|
-
|
135
|
-
def commands
|
136
|
-
@bioruby_commands = Bio::Shell.private_instance_methods.sort
|
137
|
-
end
|
138
|
-
|
139
|
-
def history
|
140
|
-
@history = File.readlines(Bio::Shell.history_file)
|
141
|
-
end
|
142
|
-
|
143
|
-
end
|
144
|
-
|
data/lib/bio/shell/rails/vendor/plugins/bioruby/generators/bioruby/templates/bioruby_helper.rb
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
module BiorubyHelper
|
2
|
-
|
3
|
-
include Bio::Shell
|
4
|
-
|
5
|
-
def project_workdir
|
6
|
-
if Bio::Shell.cache[:savedir].match(/\.bioruby$/)
|
7
|
-
Bio::Shell.cache[:workdir]
|
8
|
-
else
|
9
|
-
Bio::Shell.cache[:savedir]
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
def have_results
|
14
|
-
Bio::Shell.cache[:results].number > 0
|
15
|
-
end
|
16
|
-
|
17
|
-
def local_variables
|
18
|
-
eval("local_variables", Bio::Shell.cache[:binding]) -
|
19
|
-
BiorubyController::HIDE_VARIABLES
|
20
|
-
end
|
21
|
-
|
22
|
-
def render_log(page)
|
23
|
-
page.insert_html :top, :logs, :partial => "log"
|
24
|
-
page.replace_html "variables", :partial => "variables"
|
25
|
-
page.hide "methods_#{@number}"
|
26
|
-
page.hide "classes_#{@number}"
|
27
|
-
page.hide "modules_#{@number}"
|
28
|
-
end
|
29
|
-
|
30
|
-
def reference_link(class_or_module)
|
31
|
-
name = class_or_module.to_s
|
32
|
-
case name
|
33
|
-
when /Bio::(.+)/
|
34
|
-
path = $1.split('::').join('/')
|
35
|
-
url = "http://bioruby.org/rdoc/classes/Bio/#{path}.html"
|
36
|
-
when /Chem::(.+)/
|
37
|
-
path = $1.split('::').join('/')
|
38
|
-
url = "http://chemruby.org/rdoc/classes/Chem/#{path}.html"
|
39
|
-
else
|
40
|
-
path = name.split('::').join('/')
|
41
|
-
url = "http://www.ruby-doc.org/core/classes/#{path}.html"
|
42
|
-
end
|
43
|
-
return "<a href='#{url}'>#{name}</a>"
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
|
@@ -1,26 +0,0 @@
|
|
1
|
-
<div id="console">
|
2
|
-
<%- if flash[:notice] -%>
|
3
|
-
<div id="notice"><p><%= flash[:notice] %></p></div><br>
|
4
|
-
<%- end -%>
|
5
|
-
<% form_remote_tag(:url => {:action => "evaluate"}, :position => "top",
|
6
|
-
:before => %(Element.show('spinner')),
|
7
|
-
:complete => %(Element.hide('spinner'))) do %>
|
8
|
-
<img id="spinner" src="/images/bioruby/spinner.gif" style="display:none">
|
9
|
-
<b>BioRuby script:</b>
|
10
|
-
<br/>
|
11
|
-
<textarea id="script" name="script" rows=10 cols=80></textarea>
|
12
|
-
<br/>
|
13
|
-
<input type="submit" value="Evaluate">
|
14
|
-
<input type="reset" value="Clear">
|
15
|
-
|
16
|
-
Show [
|
17
|
-
<%= link_to_remote "All", :url => {:action => "results", :limit => 0} %> |
|
18
|
-
<%= link_to_remote "Last 5", :url => {:action => "results", :limit => 5} %> |
|
19
|
-
<%= link_to_remote "Previous", :url => {:action => "results", :limit => 1} %>
|
20
|
-
] or <%= link_to "Hide", :action => "index" %> results<br/>
|
21
|
-
<% end %>
|
22
|
-
</div>
|
23
|
-
|
24
|
-
<div id="logs">
|
25
|
-
</div>
|
26
|
-
|
Binary file
|
data/lib/bio/shell/script.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# = bio/shell/script.rb - script mode for the BioRuby shell
|
3
|
-
#
|
4
|
-
# Copyright:: Copyright (C) 2006
|
5
|
-
# Toshiaki Katayama <k@bioruby.org>
|
6
|
-
# License:: The Ruby License
|
7
|
-
#
|
8
|
-
# $Id: script.rb,v 1.3 2007/04/05 23:35:41 trevor Exp $
|
9
|
-
#
|
10
|
-
|
11
|
-
module Bio::Shell
|
12
|
-
|
13
|
-
class Script
|
14
|
-
|
15
|
-
def initialize(script)
|
16
|
-
Bio::Shell.cache[:binding] = TOPLEVEL_BINDING
|
17
|
-
Bio::Shell.load_session
|
18
|
-
eval(File.read(script), TOPLEVEL_BINDING)
|
19
|
-
exit
|
20
|
-
end
|
21
|
-
|
22
|
-
end # Script
|
23
|
-
|
24
|
-
end
|
25
|
-
|
data/lib/bio/shell/setup.rb
DELETED
@@ -1,108 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# = bio/shell/setup.rb - setup initial environment for the BioRuby shell
|
3
|
-
#
|
4
|
-
# Copyright:: Copyright (C) 2006
|
5
|
-
# Toshiaki Katayama <k@bioruby.org>
|
6
|
-
# License:: The Ruby License
|
7
|
-
#
|
8
|
-
#
|
9
|
-
|
10
|
-
require 'getoptlong'
|
11
|
-
|
12
|
-
class Bio::Shell::Setup
|
13
|
-
|
14
|
-
def initialize
|
15
|
-
check_ruby_version
|
16
|
-
|
17
|
-
# command line options
|
18
|
-
getoptlong
|
19
|
-
|
20
|
-
# setup working directory
|
21
|
-
savedir = setup_savedir
|
22
|
-
|
23
|
-
# load configuration and plugins
|
24
|
-
Bio::Shell.configure(savedir)
|
25
|
-
|
26
|
-
# set default to irb mode
|
27
|
-
Bio::Shell.cache[:mode] = ((defined? @mode) && @mode) || :irb
|
28
|
-
|
29
|
-
case Bio::Shell.cache[:mode]
|
30
|
-
when :web
|
31
|
-
# setup rails server
|
32
|
-
Bio::Shell::Web.new
|
33
|
-
when :irb
|
34
|
-
# setup irb server
|
35
|
-
Bio::Shell::Irb.new
|
36
|
-
when :script
|
37
|
-
# run bioruby shell script
|
38
|
-
Bio::Shell::Script.new(@script)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
def check_ruby_version
|
43
|
-
if RUBY_VERSION < "1.8.2"
|
44
|
-
raise "BioRuby shell runs on Ruby version >= 1.8.2"
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
# command line argument (working directory or bioruby shell script file)
|
49
|
-
def getoptlong
|
50
|
-
opts = GetoptLong.new
|
51
|
-
opts.set_options(
|
52
|
-
[ '--rails', '-r', GetoptLong::NO_ARGUMENT ],
|
53
|
-
[ '--web', '-w', GetoptLong::NO_ARGUMENT ],
|
54
|
-
[ '--console', '-c', GetoptLong::NO_ARGUMENT ],
|
55
|
-
[ '--irb', '-i', GetoptLong::NO_ARGUMENT ]
|
56
|
-
)
|
57
|
-
opts.each_option do |opt, arg|
|
58
|
-
case opt
|
59
|
-
when /--rails/, /--web/
|
60
|
-
@mode = :web
|
61
|
-
when /--console/, /--irb/
|
62
|
-
@mode = :irb
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
def setup_savedir
|
68
|
-
arg = ARGV.shift
|
69
|
-
|
70
|
-
# Options after the '--' argument are not parsed by GetoptLong and
|
71
|
-
# are passed to irb or rails. This hack preserve the first option
|
72
|
-
# when working directory of the project is not given.
|
73
|
-
if arg and arg[/^-/]
|
74
|
-
ARGV.unshift arg
|
75
|
-
arg = nil
|
76
|
-
end
|
77
|
-
|
78
|
-
if arg.nil?
|
79
|
-
# run in the current directory
|
80
|
-
if File.exist?(Bio::Shell::Core::HISTORY)
|
81
|
-
savedir = Dir.pwd
|
82
|
-
else
|
83
|
-
savedir = File.join(ENV['HOME'].to_s, ".bioruby")
|
84
|
-
install_savedir(savedir)
|
85
|
-
end
|
86
|
-
elsif File.file?(arg)
|
87
|
-
# run file as a bioruby shell script
|
88
|
-
savedir = File.join(File.dirname(arg), "..")
|
89
|
-
@script = arg
|
90
|
-
@mode = :script
|
91
|
-
else
|
92
|
-
# run in new or existing directory
|
93
|
-
if arg[/^#{File::SEPARATOR}/]
|
94
|
-
savedir = arg
|
95
|
-
else
|
96
|
-
savedir = File.join(Dir.pwd, arg)
|
97
|
-
end
|
98
|
-
install_savedir(savedir)
|
99
|
-
end
|
100
|
-
|
101
|
-
return savedir
|
102
|
-
end
|
103
|
-
|
104
|
-
def install_savedir(savedir)
|
105
|
-
FileUtils.makedirs(savedir)
|
106
|
-
end
|
107
|
-
|
108
|
-
end # Setup
|
data/lib/bio/shell/web.rb
DELETED
@@ -1,102 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# = bio/shell/web.rb - GUI for the BioRuby shell
|
3
|
-
#
|
4
|
-
# Copyright:: Copyright (C) 2006
|
5
|
-
# Nobuya Tanaka <t@chemruby.org>,
|
6
|
-
# Toshiaki Katayama <k@bioruby.org>
|
7
|
-
# License:: The Ruby License
|
8
|
-
#
|
9
|
-
# $Id: web.rb,v 1.5 2007/06/26 08:38:38 k Exp $
|
10
|
-
#
|
11
|
-
|
12
|
-
|
13
|
-
module Bio::Shell
|
14
|
-
|
15
|
-
class Web
|
16
|
-
|
17
|
-
def initialize
|
18
|
-
Bio::Shell.cache[:binding] = binding
|
19
|
-
Bio::Shell.cache[:results] ||= Results.new
|
20
|
-
install_rails
|
21
|
-
setup_rails
|
22
|
-
start_rails
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
def setup_rails
|
28
|
-
puts
|
29
|
-
puts ">>>"
|
30
|
-
puts ">>> open http://localhost:3000/bioruby"
|
31
|
-
puts ">>>"
|
32
|
-
puts
|
33
|
-
puts '(You can change the port number by adding "-- -p 4000" option)'
|
34
|
-
puts
|
35
|
-
end
|
36
|
-
|
37
|
-
def install_rails
|
38
|
-
savedir = Bio::Shell.cache[:savedir]
|
39
|
-
path = File.join(savedir, "script", "generate")
|
40
|
-
unless File.exist?(path)
|
41
|
-
puts "Installing Rails application for BioRuby shell ... "
|
42
|
-
system("rails #{savedir}")
|
43
|
-
puts "done"
|
44
|
-
end
|
45
|
-
path = File.join(savedir, "app", "controllers", "bioruby_controller.rb")
|
46
|
-
unless File.exist?(path)
|
47
|
-
basedir = File.dirname(__FILE__)
|
48
|
-
puts "Installing Rails plugin for BioRuby shell ... "
|
49
|
-
FileUtils.cp_r("#{basedir}/rails/.", savedir)
|
50
|
-
Dir.chdir(savedir) do
|
51
|
-
system("./script/generate bioruby shell")
|
52
|
-
end
|
53
|
-
puts "done"
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def start_rails
|
58
|
-
begin
|
59
|
-
Bio::Shell.cache[:rails] = Thread.new do
|
60
|
-
Dir.chdir(Bio::Shell.cache[:savedir]) do
|
61
|
-
require './config/boot'
|
62
|
-
require 'commands/server'
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
class Results
|
69
|
-
attr_accessor :number, :script, :result, :output
|
70
|
-
|
71
|
-
def initialize
|
72
|
-
@number = 0
|
73
|
-
@script = []
|
74
|
-
@result = []
|
75
|
-
@output = []
|
76
|
-
end
|
77
|
-
|
78
|
-
def store(script, result, output)
|
79
|
-
@number += 1
|
80
|
-
@script[@number] = script
|
81
|
-
@result[@number] = result
|
82
|
-
@output[@number] = output
|
83
|
-
return @number
|
84
|
-
end
|
85
|
-
|
86
|
-
def restore(number)
|
87
|
-
return @script[number], @result[number], @output[number]
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
end
|
92
|
-
|
93
|
-
private
|
94
|
-
|
95
|
-
# *TODO* stop irb and start rails?
|
96
|
-
#def web
|
97
|
-
#end
|
98
|
-
|
99
|
-
end
|
100
|
-
|
101
|
-
|
102
|
-
|