quorum 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +10 -0
- data/.rspec +1 -0
- data/Gemfile +15 -0
- data/Gemfile.lock +170 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +318 -0
- data/Rakefile +31 -0
- data/app/assets/images/quorum/.gitkeep +0 -0
- data/app/assets/images/quorum/bg.png +0 -0
- data/app/assets/images/quorum/knight_rider.gif +0 -0
- data/app/assets/images/quorum/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/images/quorum/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/images/quorum/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/app/assets/images/quorum/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/images/quorum/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/app/assets/images/quorum/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/app/assets/images/quorum/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/images/quorum/ui-bg_inset-soft_95_fef1ec_1x100.png +0 -0
- data/app/assets/images/quorum/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/quorum/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/images/quorum/ui-icons_454545_256x240.png +0 -0
- data/app/assets/images/quorum/ui-icons_888888_256x240.png +0 -0
- data/app/assets/images/quorum/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/javascripts/quorum/application.js +13 -0
- data/app/assets/javascripts/quorum/jobs.js +386 -0
- data/app/assets/stylesheets/quorum/application.css +224 -0
- data/app/assets/stylesheets/quorum/jobs.css +72 -0
- data/app/assets/stylesheets/quorum/jquery-ui-1.8.16.custom.css +568 -0
- data/app/assets/stylesheets/quorum/tipsy.css +25 -0
- data/app/controllers/quorum/application_controller.rb +5 -0
- data/app/controllers/quorum/jobs_controller.rb +102 -0
- data/app/helpers/quorum/application_helper.rb +4 -0
- data/app/models/quorum/blastn_job.rb +111 -0
- data/app/models/quorum/blastn_job_report.rb +7 -0
- data/app/models/quorum/blastp_job.rb +111 -0
- data/app/models/quorum/blastp_job_report.rb +7 -0
- data/app/models/quorum/blastx_job.rb +111 -0
- data/app/models/quorum/blastx_job_report.rb +7 -0
- data/app/models/quorum/job.rb +164 -0
- data/app/models/quorum/tblastn_job.rb +111 -0
- data/app/models/quorum/tblastn_job_report.rb +7 -0
- data/app/views/layouts/quorum/application.html.erb +15 -0
- data/app/views/quorum/jobs/_blastn_form.html.erb +71 -0
- data/app/views/quorum/jobs/_blastp_form.html.erb +71 -0
- data/app/views/quorum/jobs/_blastx_form.html.erb +71 -0
- data/app/views/quorum/jobs/_tblastn_form.html.erb +71 -0
- data/app/views/quorum/jobs/new.html.erb +45 -0
- data/app/views/quorum/jobs/show.html.erb +183 -0
- data/app/views/shared/_error_messages.html.erb +10 -0
- data/config/locales/en.yml +8 -0
- data/config/routes.rb +9 -0
- data/db/migrate/20111031204518_create_jobs.rb +12 -0
- data/db/migrate/20111031204701_create_blastn_jobs.rb +19 -0
- data/db/migrate/20111031204719_create_blastx_jobs.rb +19 -0
- data/db/migrate/20111031204733_create_blastp_jobs.rb +19 -0
- data/db/migrate/20111031204754_create_tblastn_jobs.rb +19 -0
- data/db/migrate/20111031204846_create_blastn_job_reports.rb +34 -0
- data/db/migrate/20111031204903_create_blastx_job_reports.rb +34 -0
- data/db/migrate/20111031204922_create_blastp_job_reports.rb +34 -0
- data/db/migrate/20111031204941_create_tblastn_job_reports.rb +34 -0
- data/lib/generators/quorum/install_generator.rb +68 -0
- data/lib/generators/quorum/styles_generator.rb +18 -0
- data/lib/generators/quorum/views_generator.rb +18 -0
- data/lib/generators/templates/README +25 -0
- data/lib/generators/templates/blast.rb +412 -0
- data/lib/generators/templates/logger.rb +43 -0
- data/lib/generators/templates/quorum_initializer.rb +36 -0
- data/lib/generators/templates/quorum_settings.yml +157 -0
- data/lib/generators/templates/search +141 -0
- data/lib/generators/templates/trollop.rb +781 -0
- data/lib/quorum/engine.rb +5 -0
- data/lib/quorum/helpers.rb +17 -0
- data/lib/quorum/sequence.rb +89 -0
- data/lib/quorum/version.rb +3 -0
- data/lib/quorum.rb +89 -0
- data/lib/tasks/blastdb/README +17 -0
- data/lib/tasks/blastdb/build_blast_db.rb +222 -0
- data/lib/tasks/quorum_resque.rake +3 -0
- data/lib/tasks/quorum_tasks.rake +50 -0
- data/lib/workers/quorum.rb +45 -0
- data/quorum.gemspec +29 -0
- data/script/rails +6 -0
- data/spec/data/nucl_prot_seqs.txt +36 -0
- data/spec/data/nucl_seqs.txt +32 -0
- data/spec/data/prot_seqs.txt +4 -0
- data/spec/data/seqs.docx +0 -0
- data/spec/data/seqs_not_fa.txt +16 -0
- data/spec/data/tmp/test.tgz +0 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +9 -0
- data/spec/dummy/app/assets/stylesheets/application.css +7 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/mailers/.gitkeep +0 -0
- data/spec/dummy/app/models/.gitkeep +0 -0
- data/spec/dummy/app/models/blast.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/config/application.rb +46 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/environment.rb +20 -0
- data/spec/dummy/config/environments/development.rb +30 -0
- data/spec/dummy/config/environments/production.rb +60 -0
- data/spec/dummy/config/environments/test.rb +42 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +10 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/quorum_initializer.rb +36 -0
- data/spec/dummy/config/initializers/resque.rb +1 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/locales/quorum.en.yml +8 -0
- data/spec/dummy/config/quorum_settings.yml +145 -0
- data/spec/dummy/config/routes.rb +9 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/schema.rb +214 -0
- data/spec/dummy/lib/assets/.gitkeep +0 -0
- data/spec/dummy/log/.gitkeep +0 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +26 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/quorum/bin/search +141 -0
- data/spec/dummy/quorum/blastdb/test/contigs.fa +2 -0
- data/spec/dummy/quorum/blastdb/test/peptides.fa +2 -0
- data/spec/dummy/quorum/blastdb/test.nhd +1 -0
- data/spec/dummy/quorum/blastdb/test.nhi +0 -0
- data/spec/dummy/quorum/blastdb/test.nhr +0 -0
- data/spec/dummy/quorum/blastdb/test.nin +0 -0
- data/spec/dummy/quorum/blastdb/test.nog +0 -0
- data/spec/dummy/quorum/blastdb/test.nsd +1 -0
- data/spec/dummy/quorum/blastdb/test.nsi +0 -0
- data/spec/dummy/quorum/blastdb/test.nsq +0 -0
- data/spec/dummy/quorum/blastdb/test.phd +1 -0
- data/spec/dummy/quorum/blastdb/test.phi +0 -0
- data/spec/dummy/quorum/blastdb/test.phr +0 -0
- data/spec/dummy/quorum/blastdb/test.pin +0 -0
- data/spec/dummy/quorum/blastdb/test.pog +0 -0
- data/spec/dummy/quorum/blastdb/test.psd +1 -0
- data/spec/dummy/quorum/blastdb/test.psi +0 -0
- data/spec/dummy/quorum/blastdb/test.psq +0 -0
- data/spec/dummy/quorum/lib/logger.rb +43 -0
- data/spec/dummy/quorum/lib/search_tools/blast.rb +412 -0
- data/spec/dummy/quorum/lib/trollop.rb +781 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/models/blastn_job_report_spec.rb +13 -0
- data/spec/models/blastn_job_spec.rb +103 -0
- data/spec/models/blastp_job_report_spec.rb +13 -0
- data/spec/models/blastp_job_spec.rb +103 -0
- data/spec/models/blastx_job_report_spec.rb +13 -0
- data/spec/models/blastx_job_spec.rb +103 -0
- data/spec/models/job_spec.rb +40 -0
- data/spec/models/tblastn_job_report_spec.rb +13 -0
- data/spec/models/tblastn_job_spec.rb +103 -0
- data/spec/quorum/quorum_sequence_spec.rb +64 -0
- data/spec/quorum_installed_spec.rb +64 -0
- data/spec/requests/jobs_spec.rb +138 -0
- data/spec/spec_helper.rb +45 -0
- data/spec/tasks/blastdb_rake_spec.rb +119 -0
- data/spec/templates/blast_spec.rb +8 -0
- data/spec/templates/logger_spec.rb +35 -0
- data/vendor/assets/javascripts/jquery.tipsy.js +241 -0
- data/vendor/assets/javascripts/underscore-min.js +30 -0
- metadata +325 -0
data/.gitignore
ADDED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--colour
|
data/Gemfile
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
# Declare your gem's dependencies in quorum.gemspec.
|
4
|
+
# Bundler will treat runtime dependencies like base dependencies, and
|
5
|
+
# development dependencies will be added by default to the :development group.
|
6
|
+
gemspec
|
7
|
+
|
8
|
+
# Declare any dependencies that are still in development here instead of in
|
9
|
+
# your gemspec. These might include edge Rails or gems from your path or
|
10
|
+
# Git. Remember to move these dependencies to your gemspec before releasing
|
11
|
+
# your gem to rubygems.org.
|
12
|
+
|
13
|
+
# To use debugger
|
14
|
+
# gem 'ruby-debug19', :require => 'ruby-debug'
|
15
|
+
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,170 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
quorum (0.1.0)
|
5
|
+
bio-blastxmlparser (~> 1.0.1)
|
6
|
+
jquery-rails
|
7
|
+
net-ssh (~> 2.2.1)
|
8
|
+
rails (~> 3.1.0)
|
9
|
+
resque (~> 1.19.0)
|
10
|
+
|
11
|
+
GEM
|
12
|
+
remote: http://rubygems.org/
|
13
|
+
specs:
|
14
|
+
actionmailer (3.1.0)
|
15
|
+
actionpack (= 3.1.0)
|
16
|
+
mail (~> 2.3.0)
|
17
|
+
actionpack (3.1.0)
|
18
|
+
activemodel (= 3.1.0)
|
19
|
+
activesupport (= 3.1.0)
|
20
|
+
builder (~> 3.0.0)
|
21
|
+
erubis (~> 2.7.0)
|
22
|
+
i18n (~> 0.6)
|
23
|
+
rack (~> 1.3.2)
|
24
|
+
rack-cache (~> 1.0.3)
|
25
|
+
rack-mount (~> 0.8.2)
|
26
|
+
rack-test (~> 0.6.1)
|
27
|
+
sprockets (~> 2.0.0)
|
28
|
+
activemodel (3.1.0)
|
29
|
+
activesupport (= 3.1.0)
|
30
|
+
bcrypt-ruby (~> 3.0.0)
|
31
|
+
builder (~> 3.0.0)
|
32
|
+
i18n (~> 0.6)
|
33
|
+
activerecord (3.1.0)
|
34
|
+
activemodel (= 3.1.0)
|
35
|
+
activesupport (= 3.1.0)
|
36
|
+
arel (~> 2.2.1)
|
37
|
+
tzinfo (~> 0.3.29)
|
38
|
+
activeresource (3.1.0)
|
39
|
+
activemodel (= 3.1.0)
|
40
|
+
activesupport (= 3.1.0)
|
41
|
+
activesupport (3.1.0)
|
42
|
+
multi_json (~> 1.0)
|
43
|
+
arel (2.2.1)
|
44
|
+
bcrypt-ruby (3.0.0)
|
45
|
+
bio-blastxmlparser (1.0.1)
|
46
|
+
bio-logger (>= 1.0.0)
|
47
|
+
nokogiri (>= 1.5.0)
|
48
|
+
bio-logger (1.0.0)
|
49
|
+
log4r (>= 1.1.9)
|
50
|
+
builder (3.0.0)
|
51
|
+
capybara (1.1.1)
|
52
|
+
mime-types (>= 1.16)
|
53
|
+
nokogiri (>= 1.3.3)
|
54
|
+
rack (>= 1.0.0)
|
55
|
+
rack-test (>= 0.5.4)
|
56
|
+
selenium-webdriver (~> 2.0)
|
57
|
+
xpath (~> 0.1.4)
|
58
|
+
childprocess (0.2.2)
|
59
|
+
ffi (~> 1.0.6)
|
60
|
+
database_cleaner (0.6.7)
|
61
|
+
diff-lcs (1.1.3)
|
62
|
+
erubis (2.7.0)
|
63
|
+
factory_girl (2.1.0)
|
64
|
+
factory_girl_rails (1.2.0)
|
65
|
+
factory_girl (~> 2.1.0)
|
66
|
+
railties (>= 3.0.0)
|
67
|
+
ffi (1.0.9)
|
68
|
+
hike (1.2.1)
|
69
|
+
i18n (0.6.0)
|
70
|
+
jquery-rails (1.0.16)
|
71
|
+
railties (~> 3.0)
|
72
|
+
thor (~> 0.14)
|
73
|
+
json_pure (1.5.4)
|
74
|
+
spruz (~> 0.2.8)
|
75
|
+
log4r (1.1.9)
|
76
|
+
mail (2.3.0)
|
77
|
+
i18n (>= 0.4.0)
|
78
|
+
mime-types (~> 1.16)
|
79
|
+
treetop (~> 1.4.8)
|
80
|
+
mime-types (1.16)
|
81
|
+
multi_json (1.0.3)
|
82
|
+
mysql2 (0.3.7)
|
83
|
+
net-ssh (2.2.1)
|
84
|
+
nokogiri (1.5.0)
|
85
|
+
polyglot (0.3.2)
|
86
|
+
rack (1.3.2)
|
87
|
+
rack-cache (1.0.3)
|
88
|
+
rack (>= 0.4)
|
89
|
+
rack-mount (0.8.3)
|
90
|
+
rack (>= 1.0.0)
|
91
|
+
rack-protection (1.1.4)
|
92
|
+
rack
|
93
|
+
rack-ssl (1.3.2)
|
94
|
+
rack
|
95
|
+
rack-test (0.6.1)
|
96
|
+
rack (>= 1.0)
|
97
|
+
rails (3.1.0)
|
98
|
+
actionmailer (= 3.1.0)
|
99
|
+
actionpack (= 3.1.0)
|
100
|
+
activerecord (= 3.1.0)
|
101
|
+
activeresource (= 3.1.0)
|
102
|
+
activesupport (= 3.1.0)
|
103
|
+
bundler (~> 1.0)
|
104
|
+
railties (= 3.1.0)
|
105
|
+
railties (3.1.0)
|
106
|
+
actionpack (= 3.1.0)
|
107
|
+
activesupport (= 3.1.0)
|
108
|
+
rack-ssl (~> 1.3.2)
|
109
|
+
rake (>= 0.8.7)
|
110
|
+
rdoc (~> 3.4)
|
111
|
+
thor (~> 0.14.6)
|
112
|
+
rake (0.9.2)
|
113
|
+
rdoc (3.9.4)
|
114
|
+
redis (2.2.2)
|
115
|
+
redis-namespace (1.0.3)
|
116
|
+
redis (< 3.0.0)
|
117
|
+
resque (1.19.0)
|
118
|
+
multi_json (~> 1.0)
|
119
|
+
redis-namespace (~> 1.0.2)
|
120
|
+
sinatra (>= 0.9.2)
|
121
|
+
vegas (~> 0.1.2)
|
122
|
+
rspec (2.6.0)
|
123
|
+
rspec-core (~> 2.6.0)
|
124
|
+
rspec-expectations (~> 2.6.0)
|
125
|
+
rspec-mocks (~> 2.6.0)
|
126
|
+
rspec-core (2.6.4)
|
127
|
+
rspec-expectations (2.6.0)
|
128
|
+
diff-lcs (~> 1.1.2)
|
129
|
+
rspec-mocks (2.6.0)
|
130
|
+
rspec-rails (2.6.1)
|
131
|
+
actionpack (~> 3.0)
|
132
|
+
activesupport (~> 3.0)
|
133
|
+
railties (~> 3.0)
|
134
|
+
rspec (~> 2.6.0)
|
135
|
+
rubyzip (0.9.4)
|
136
|
+
selenium-webdriver (2.5.0)
|
137
|
+
childprocess (>= 0.2.1)
|
138
|
+
ffi (>= 1.0.7)
|
139
|
+
json_pure
|
140
|
+
rubyzip
|
141
|
+
sinatra (1.3.0)
|
142
|
+
rack (~> 1.3)
|
143
|
+
rack-protection (~> 1.1)
|
144
|
+
tilt (~> 1.3)
|
145
|
+
sprockets (2.0.0)
|
146
|
+
hike (~> 1.2)
|
147
|
+
rack (~> 1.0)
|
148
|
+
tilt (~> 1.1, != 1.3.0)
|
149
|
+
spruz (0.2.13)
|
150
|
+
thor (0.14.6)
|
151
|
+
tilt (1.3.3)
|
152
|
+
treetop (1.4.10)
|
153
|
+
polyglot
|
154
|
+
polyglot (>= 0.3.1)
|
155
|
+
tzinfo (0.3.30)
|
156
|
+
vegas (0.1.8)
|
157
|
+
rack (>= 1.0.0)
|
158
|
+
xpath (0.1.4)
|
159
|
+
nokogiri (~> 1.3)
|
160
|
+
|
161
|
+
PLATFORMS
|
162
|
+
ruby
|
163
|
+
|
164
|
+
DEPENDENCIES
|
165
|
+
capybara
|
166
|
+
database_cleaner
|
167
|
+
factory_girl_rails (~> 1.2.0)
|
168
|
+
mysql2
|
169
|
+
quorum!
|
170
|
+
rspec-rails (~> 2.6)
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright NCGR
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,318 @@
|
|
1
|
+
= Quorum
|
2
|
+
|
3
|
+
A flexible bioinformatics search tool.
|
4
|
+
|
5
|
+
Quorum is a Rails 3.1 mountable engine that supports the following
|
6
|
+
bioinformatics search tools.
|
7
|
+
|
8
|
+
* NCBI Blast+ (http://blast.ncbi.nlm.nih.gov)
|
9
|
+
|
10
|
+
Dependencies:
|
11
|
+
|
12
|
+
* Rails >= 3.1.0
|
13
|
+
* Redis >= 0.900 for Resque (https://github.com/defunkt/resque)
|
14
|
+
* NCBI Blast+ (ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/)
|
15
|
+
* Emboss (http://emboss.sourceforge.net/)
|
16
|
+
|
17
|
+
See the gem in action.
|
18
|
+
|
19
|
+
http://medplants.ncgr.org/quorum/jobs/new
|
20
|
+
|
21
|
+
== Installation
|
22
|
+
|
23
|
+
Use the latest stable Rails release with Quorum.
|
24
|
+
|
25
|
+
gem install quorum
|
26
|
+
|
27
|
+
After you install Quorum and add it to your Gemfile, run the generator.
|
28
|
+
|
29
|
+
rails generate quorum:install
|
30
|
+
|
31
|
+
The generator will create a directory in your application's root path
|
32
|
+
|
33
|
+
quorum/
|
34
|
+
|
35
|
+
as well as the necessary config files to run and customize Quorum. You
|
36
|
+
MUST customize "config/quorum_settings.yml" before using Quorum. See Remote
|
37
|
+
Machine Setup below if you choose to execute Quorum remotely.
|
38
|
+
|
39
|
+
Migrate the database.
|
40
|
+
|
41
|
+
rake quorum:install:migrations
|
42
|
+
rake db:migrate
|
43
|
+
|
44
|
+
== Getting Started
|
45
|
+
|
46
|
+
=== NCBI Blast+ Setup
|
47
|
+
|
48
|
+
Build your NCBI Blast+ database(s) using the rake task below.
|
49
|
+
|
50
|
+
rake quorum:blastdb:build
|
51
|
+
|
52
|
+
Arguments:
|
53
|
+
|
54
|
+
* DIR= - path to {.tgz, .tar.gz, .tbz, .tar.bz2} files containing raw data.
|
55
|
+
Separate multiple directories with a colon (:).
|
56
|
+
|
57
|
+
DIR=/path/to/dir:/path/to/another/dir
|
58
|
+
|
59
|
+
* TYPE= - type of Blast database to build {both, prot, nucl}. Defaults to
|
60
|
+
both.
|
61
|
+
|
62
|
+
* PROT_FILE_NAME= - name of the file containing protein data. Defaults to
|
63
|
+
peptides.fa.
|
64
|
+
|
65
|
+
* NUCL_FILE_NAME= - name of the file containing nucleotide data. Defaults
|
66
|
+
to contigs.fa.
|
67
|
+
|
68
|
+
* REBUILD_DB= - removes existing blast database(s) before building {true or
|
69
|
+
false}. Defaults to false.
|
70
|
+
|
71
|
+
* EMPTY= - skip makeblastdb and create necessary directories {true or false}.
|
72
|
+
Defaults to false. Set this argument to true if you wish to create your own
|
73
|
+
Blast database(s).
|
74
|
+
|
75
|
+
Example:
|
76
|
+
|
77
|
+
rake quorum:blastdb:build DIR=/path/to/dir:/path/to/another/dir TYPE=nucl \
|
78
|
+
NUCL_FILE_NAME=my_contigs.fa REBUILD_DB=true
|
79
|
+
|
80
|
+
Empty example:
|
81
|
+
|
82
|
+
rake quorum:blastdb:build EMPTY=true
|
83
|
+
|
84
|
+
For a full list of supported arguments.
|
85
|
+
|
86
|
+
rake -D
|
87
|
+
|
88
|
+
Don't forget to update "config/quorum_settings.yml" with your newly created
|
89
|
+
database(s).
|
90
|
+
|
91
|
+
=== Remote Machine Setup -- Recommended for Production Use
|
92
|
+
|
93
|
+
Follow the steps below to execute Quorum remotely via Net::SSH.
|
94
|
+
|
95
|
+
* Ensure your ActiveRecord Database adapter in "config/database.yml" is set to
|
96
|
+
*any* supported adapter other than sqlite3.
|
97
|
+
|
98
|
+
* Ensure your database host is set and accessible via the remote machine(s).
|
99
|
+
|
100
|
+
* Ensure you have supplied the necessary information in
|
101
|
+
"config/quorum_settings.yml" to execute Quorum remotely.
|
102
|
+
|
103
|
+
remote: true
|
104
|
+
ssh_host: remote.machine.org
|
105
|
+
ssh_user: remote_user
|
106
|
+
|
107
|
+
Net::SSH.start() optional params (http://net-ssh.github.com/ssh/v2/api/index.html)
|
108
|
+
|
109
|
+
ssh_options:
|
110
|
+
password: "secret"
|
111
|
+
port: 8888
|
112
|
+
|
113
|
+
* Tar and compress quorum.
|
114
|
+
|
115
|
+
tar -czvf quorum.tar.gz quorum/
|
116
|
+
|
117
|
+
* Copy the newly created tarball to the remote machine.
|
118
|
+
|
119
|
+
scp quorum.tar.gz <username>@<host>:/path/to/install
|
120
|
+
|
121
|
+
* Expand the tarball on the remote machine.
|
122
|
+
|
123
|
+
ssh <username>@<host>
|
124
|
+
|
125
|
+
tar -xzvf quorum.tar.gz
|
126
|
+
|
127
|
+
* Ensure Quorum script dependencies are added to the remote machine's PATH.
|
128
|
+
If the remote machine doesn't have a .bashrc file, create one.
|
129
|
+
|
130
|
+
touch /path/to/.bashrc
|
131
|
+
|
132
|
+
and add script dependencies to PATH.
|
133
|
+
|
134
|
+
echo "export PATH=/path/to/dependencies:$PATH" >> /path/to/.bashrc
|
135
|
+
|
136
|
+
=== Customize Quorum's Views and Styles
|
137
|
+
|
138
|
+
To override Quorum's default views, run the generator.
|
139
|
+
|
140
|
+
rails generate quorum:views
|
141
|
+
|
142
|
+
A copy of Quorum's views can be found in your application under
|
143
|
+
"app/views/quorum/".
|
144
|
+
|
145
|
+
To override Quorum's default styles, run the generator.
|
146
|
+
|
147
|
+
rails generate quorum:styles
|
148
|
+
|
149
|
+
A copy of Quorum's styles can be found in your application under
|
150
|
+
"app/assets/stylesheets/quorum/". If your application has existing styles,
|
151
|
+
it's a good idea to remove
|
152
|
+
|
153
|
+
*= require_tree .
|
154
|
+
|
155
|
+
in "app/assets/stylesheets/application.css" and require your stylesheets
|
156
|
+
individually.
|
157
|
+
|
158
|
+
Don't plan on supporting all of Quorum's alogrithms? Override Quorum's views
|
159
|
+
and comment out any unwanted algorithms in "app/views/quorum/jobs/new.html.erb"
|
160
|
+
and "app/views/quorum/jobs/show.html.erb".
|
161
|
+
|
162
|
+
For example:
|
163
|
+
|
164
|
+
Remove Blastp in "app/views/quorum/jobs/new.html.erb"
|
165
|
+
|
166
|
+
<!-- Search Algorithms -->
|
167
|
+
<!-- Comment out an alorithm below to remove it from the form. -->
|
168
|
+
|
169
|
+
<!-- blastn -->
|
170
|
+
<%= render :partial => "blastn_form", :locals => {
|
171
|
+
:f => f, :blast_dbs => @blast_dbs } %>
|
172
|
+
|
173
|
+
<!-- blastx -->
|
174
|
+
<%= render :partial => "blastx_form", :locals => {
|
175
|
+
:f => f, :blast_dbs => @blast_dbs } %>
|
176
|
+
|
177
|
+
<!-- tblastn -->
|
178
|
+
<%= render :partial => "tblastn_form", :locals => {
|
179
|
+
:f => f, :blast_dbs => @blast_dbs } %>
|
180
|
+
|
181
|
+
<!-- blastp -->
|
182
|
+
<% render :partial => "blastp_form", :locals => {
|
183
|
+
:f => f, :blast_dbs => @blast_dbs } %>
|
184
|
+
|
185
|
+
<!-- End Search Algorithms -->
|
186
|
+
|
187
|
+
Remove Blastp in "app/views/quorum/jobs/show.html.erb"
|
188
|
+
|
189
|
+
<div id="tabs">
|
190
|
+
<ul>
|
191
|
+
<li><a href="#tabs-1">Blastn</a></li>
|
192
|
+
<li><a href="#tabs-2">Blastx</a></li>
|
193
|
+
<li><a href="#tabs-3">Tblastn</a></li>
|
194
|
+
<!--
|
195
|
+
<li><a href="#tabs-4">Blastp</a></li>
|
196
|
+
-->
|
197
|
+
</ul>
|
198
|
+
|
199
|
+
<!-- Search results per algorithm -->
|
200
|
+
<div id="tabs-1">
|
201
|
+
<h2>Blastn</h2>
|
202
|
+
<div id="blastn-results">
|
203
|
+
Searching... <%= image_tag "quorum/knight_rider.gif" %>
|
204
|
+
</div>
|
205
|
+
</div>
|
206
|
+
|
207
|
+
<div id="tabs-2">
|
208
|
+
<h2>Blastx</h2>
|
209
|
+
<div id="blastx-results">
|
210
|
+
Searching... <%= image_tag "quorum/knight_rider.gif" %>
|
211
|
+
</div>
|
212
|
+
</div>
|
213
|
+
|
214
|
+
<div id="tabs-3">
|
215
|
+
<h2>Tblastn</h2>
|
216
|
+
<div id="tblastn-results">
|
217
|
+
Searching... <%= image_tag "quorum/knight_rider.gif" %>
|
218
|
+
</div>
|
219
|
+
</div>
|
220
|
+
|
221
|
+
<!--
|
222
|
+
<div id="tabs-4">
|
223
|
+
<h2>Blastp</h2>
|
224
|
+
<div id="blastp-results">
|
225
|
+
Searching... <%= image_tag "quorum/knight_rider.gif" %>
|
226
|
+
</div>
|
227
|
+
</div>
|
228
|
+
-->
|
229
|
+
</div>
|
230
|
+
|
231
|
+
=== Redis
|
232
|
+
|
233
|
+
For detailed Redis installation instructions, follow the links below.
|
234
|
+
|
235
|
+
* Redis (http://redis.io/)
|
236
|
+
* Resque (https://github.com/defunkt/resque)
|
237
|
+
|
238
|
+
=== Resque
|
239
|
+
|
240
|
+
Quorum provides a simple Rails environment rake task for spawning Resque
|
241
|
+
workers. To customize Resque workers by adding monitoring etc., follow
|
242
|
+
the link below.
|
243
|
+
|
244
|
+
* Resque (https://github.com/defunkt/resque)
|
245
|
+
|
246
|
+
<b>Resque Web Interface</b>
|
247
|
+
|
248
|
+
Quorum mounts Resque's web interface by default via
|
249
|
+
|
250
|
+
mount Resque::Server.new, :at => "/quorum/resque"
|
251
|
+
|
252
|
+
in "config/routes.rb". The line above is fine for development, however, in
|
253
|
+
production it's best to grant authenticated users access to "/quorum/resque".
|
254
|
+
|
255
|
+
HTTP Basic Example:
|
256
|
+
"config/initializers/resque_http_auth.rb"
|
257
|
+
|
258
|
+
Resque::Server.use(Rack::Auth::Basic) do |user, password|
|
259
|
+
user == "resque"
|
260
|
+
password == "secret"
|
261
|
+
end
|
262
|
+
|
263
|
+
Devise Example:
|
264
|
+
"config/routes.rb"
|
265
|
+
|
266
|
+
authenticate :user do
|
267
|
+
mount Resque::Server.new, :at => "/quorum/resque"
|
268
|
+
end
|
269
|
+
|
270
|
+
Devise plus Declarative Authorization Example:
|
271
|
+
"config/routes.rb"
|
272
|
+
|
273
|
+
# Only superusers can access Resque's web interface.
|
274
|
+
resque_constraint = lambda do |request|
|
275
|
+
request.env["warden"].authenticate? &&
|
276
|
+
request.env["warden"].user.role_symbols.include?(:superuser)
|
277
|
+
end
|
278
|
+
|
279
|
+
constraints resque_constraint do
|
280
|
+
mount Resque::Server.new, :at => "/quorum/resque"
|
281
|
+
end
|
282
|
+
|
283
|
+
=== I18n
|
284
|
+
|
285
|
+
To customize Quorum flash messages, edit "config/locales/quorum.en.yml".
|
286
|
+
|
287
|
+
== Additional Information
|
288
|
+
|
289
|
+
=== Bugs?
|
290
|
+
|
291
|
+
https://github.com/ncgr/quorum/issues
|
292
|
+
|
293
|
+
=== Contributing
|
294
|
+
|
295
|
+
* Fork Quorum
|
296
|
+
* Create a topic branch <code>git checkout -b my_branch</code>
|
297
|
+
* Push to your branch <code>git push origin my_branch</code>
|
298
|
+
* Create a pull request from your branch
|
299
|
+
* Find your name added to the README under Contributors
|
300
|
+
|
301
|
+
=== TODO
|
302
|
+
|
303
|
+
* Add GFF3 annotations to detailed Blast reports
|
304
|
+
* Add link to download Blast hit sequence in detailed report
|
305
|
+
* Support Hmmer3
|
306
|
+
|
307
|
+
=== Maintained By
|
308
|
+
|
309
|
+
* Ken Seal (https://github.com/hunzinker)
|
310
|
+
|
311
|
+
=== Contributors
|
312
|
+
|
313
|
+
* John Crow (https://github.com/crowja)
|
314
|
+
* Andrew Farmer
|
315
|
+
|
316
|
+
== License
|
317
|
+
|
318
|
+
MIT License. Copyright NCGR http://ncgr.org/
|
data/Rakefile
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
begin
|
3
|
+
require 'bundler/setup'
|
4
|
+
rescue LoadError
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
+
end
|
7
|
+
begin
|
8
|
+
require 'rdoc/task'
|
9
|
+
rescue LoadError
|
10
|
+
require 'rdoc/rdoc'
|
11
|
+
require 'rake/rdoctask'
|
12
|
+
RDoc::Task = Rake::RDocTask
|
13
|
+
end
|
14
|
+
|
15
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
16
|
+
rdoc.rdoc_dir = 'rdoc'
|
17
|
+
rdoc.title = 'Quorum'
|
18
|
+
rdoc.options << '--line-numbers'
|
19
|
+
rdoc.rdoc_files.include('README.rdoc')
|
20
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
21
|
+
end
|
22
|
+
|
23
|
+
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
24
|
+
load 'rails/tasks/engine.rake'
|
25
|
+
|
26
|
+
require 'rspec/core/rake_task'
|
27
|
+
RSpec::Core::RakeTask.new(:spec)
|
28
|
+
task :default => :spec
|
29
|
+
|
30
|
+
Bundler::GemHelper.install_tasks
|
31
|
+
|
File without changes
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,13 @@
|
|
1
|
+
// This is a manifest file that'll be compiled into including all the files listed below.
|
2
|
+
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
|
3
|
+
// be included in the compiled file accessible from http://example.com/assets/application.js
|
4
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
5
|
+
// the compiled file.
|
6
|
+
//
|
7
|
+
//= require jquery
|
8
|
+
//= require jquery_ujs
|
9
|
+
//= require jquery-ui
|
10
|
+
//= require underscore-min
|
11
|
+
//= require jquery.tipsy
|
12
|
+
//= require_tree .
|
13
|
+
|