quorum 0.3.3 → 0.4.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.
- data/Gemfile.lock +42 -48
- data/HISTORY.md +11 -0
- data/app/assets/javascripts/quorum/quorum.js +8 -5
- data/db/migrate/20120807202555_add_gaps_to_blast_reports.rb +8 -0
- data/lib/generators/templates/blast.rb +76 -40
- data/lib/quorum/version.rb +1 -1
- data/quorum.gemspec +6 -7
- data/spec/data/fake_seq.txt +2 -0
- data/spec/data/nucl_prot_seqs.txt +15 -0
- data/spec/data/tmp/test.tgz +0 -0
- data/spec/dummy/config/initializers/quorum_initializer.rb +1 -1
- data/spec/dummy/config/quorum_settings.yml +5 -9
- data/spec/dummy/db/schema.rb +23 -19
- data/spec/dummy/quorum/bin/fetch +3 -3
- data/spec/dummy/quorum/bin/search +8 -8
- data/spec/dummy/quorum/blastdb/test/contigs.fa +13 -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/fetch_tools/blast_db.rb +6 -6
- data/spec/dummy/quorum/lib/logger.rb +4 -4
- data/spec/dummy/quorum/lib/search_tools/blast.rb +76 -40
- data/spec/dummy/quorum/lib/trollop.rb +4 -4
- data/spec/javascripts/fixtures/formatted_sequence.html +1 -1
- data/spec/javascripts/quorum_spec.js +8 -6
- data/spec/requests/jobs_spec.rb +13 -3
- data/spec/spec_helper.rb +0 -4
- data/spec/templates/blast_spec.rb +53 -3
- metadata +17 -31
data/Gemfile.lock
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
quorum (0.
|
|
5
|
-
bio-blastxmlparser (~> 1.0
|
|
4
|
+
quorum (0.4.0)
|
|
5
|
+
bio-blastxmlparser (~> 1.1.0)
|
|
6
6
|
jquery-rails
|
|
7
7
|
net-ssh (~> 2.3.0)
|
|
8
8
|
rails (~> 3.1)
|
|
9
|
-
resque (~> 1.
|
|
9
|
+
resque (~> 1.20.0)
|
|
10
10
|
resque-result (~> 1.0.1)
|
|
11
11
|
|
|
12
12
|
GEM
|
|
13
13
|
remote: http://rubygems.org/
|
|
14
14
|
specs:
|
|
15
|
-
actionmailer (3.2.
|
|
16
|
-
actionpack (= 3.2.
|
|
15
|
+
actionmailer (3.2.8)
|
|
16
|
+
actionpack (= 3.2.8)
|
|
17
17
|
mail (~> 2.4.4)
|
|
18
|
-
actionpack (3.2.
|
|
19
|
-
activemodel (= 3.2.
|
|
20
|
-
activesupport (= 3.2.
|
|
18
|
+
actionpack (3.2.8)
|
|
19
|
+
activemodel (= 3.2.8)
|
|
20
|
+
activesupport (= 3.2.8)
|
|
21
21
|
builder (~> 3.0.0)
|
|
22
22
|
erubis (~> 2.7.0)
|
|
23
|
-
journey (~> 1.0.
|
|
23
|
+
journey (~> 1.0.4)
|
|
24
24
|
rack (~> 1.4.0)
|
|
25
25
|
rack-cache (~> 1.2)
|
|
26
26
|
rack-test (~> 0.6.1)
|
|
27
27
|
sprockets (~> 2.1.3)
|
|
28
|
-
activemodel (3.2.
|
|
29
|
-
activesupport (= 3.2.
|
|
28
|
+
activemodel (3.2.8)
|
|
29
|
+
activesupport (= 3.2.8)
|
|
30
30
|
builder (~> 3.0.0)
|
|
31
|
-
activerecord (3.2.
|
|
32
|
-
activemodel (= 3.2.
|
|
33
|
-
activesupport (= 3.2.
|
|
31
|
+
activerecord (3.2.8)
|
|
32
|
+
activemodel (= 3.2.8)
|
|
33
|
+
activesupport (= 3.2.8)
|
|
34
34
|
arel (~> 3.0.2)
|
|
35
35
|
tzinfo (~> 0.3.29)
|
|
36
|
-
activeresource (3.2.
|
|
37
|
-
activemodel (= 3.2.
|
|
38
|
-
activesupport (= 3.2.
|
|
39
|
-
activesupport (3.2.
|
|
36
|
+
activeresource (3.2.8)
|
|
37
|
+
activemodel (= 3.2.8)
|
|
38
|
+
activesupport (= 3.2.8)
|
|
39
|
+
activesupport (3.2.8)
|
|
40
40
|
i18n (~> 0.6)
|
|
41
41
|
multi_json (~> 1.0)
|
|
42
|
-
addressable (2.2
|
|
42
|
+
addressable (2.3.2)
|
|
43
43
|
arel (3.0.2)
|
|
44
|
-
bio-blastxmlparser (1.0
|
|
44
|
+
bio-blastxmlparser (1.1.0)
|
|
45
45
|
bio-logger (>= 1.0.0)
|
|
46
46
|
nokogiri (>= 1.5.0)
|
|
47
47
|
bio-logger (1.0.1)
|
|
@@ -54,17 +54,12 @@ GEM
|
|
|
54
54
|
rack-test (>= 0.5.4)
|
|
55
55
|
selenium-webdriver (~> 2.0)
|
|
56
56
|
xpath (~> 0.1.4)
|
|
57
|
-
childprocess (0.3.
|
|
58
|
-
ffi (~> 1.0.6)
|
|
57
|
+
childprocess (0.3.5)
|
|
58
|
+
ffi (~> 1.0, >= 1.0.6)
|
|
59
59
|
database_cleaner (0.8.0)
|
|
60
60
|
diff-lcs (1.1.3)
|
|
61
61
|
erubis (2.7.0)
|
|
62
|
-
|
|
63
|
-
activesupport (>= 2.3.9)
|
|
64
|
-
factory_girl_rails (1.7.0)
|
|
65
|
-
factory_girl (~> 2.6.0)
|
|
66
|
-
railties (>= 3.0.0)
|
|
67
|
-
ffi (1.0.11)
|
|
62
|
+
ffi (1.1.5)
|
|
68
63
|
hike (1.2.1)
|
|
69
64
|
i18n (0.6.0)
|
|
70
65
|
jasmine (1.2.0)
|
|
@@ -77,8 +72,8 @@ GEM
|
|
|
77
72
|
jquery-rails (2.0.2)
|
|
78
73
|
railties (>= 3.2.0, < 5.0)
|
|
79
74
|
thor (~> 0.14)
|
|
80
|
-
json (1.7.
|
|
81
|
-
libwebsocket (0.1.
|
|
75
|
+
json (1.7.4)
|
|
76
|
+
libwebsocket (0.1.5)
|
|
82
77
|
addressable
|
|
83
78
|
log4r (1.1.10)
|
|
84
79
|
mail (2.4.4)
|
|
@@ -100,17 +95,17 @@ GEM
|
|
|
100
95
|
rack
|
|
101
96
|
rack-test (0.6.1)
|
|
102
97
|
rack (>= 1.0)
|
|
103
|
-
rails (3.2.
|
|
104
|
-
actionmailer (= 3.2.
|
|
105
|
-
actionpack (= 3.2.
|
|
106
|
-
activerecord (= 3.2.
|
|
107
|
-
activeresource (= 3.2.
|
|
108
|
-
activesupport (= 3.2.
|
|
98
|
+
rails (3.2.8)
|
|
99
|
+
actionmailer (= 3.2.8)
|
|
100
|
+
actionpack (= 3.2.8)
|
|
101
|
+
activerecord (= 3.2.8)
|
|
102
|
+
activeresource (= 3.2.8)
|
|
103
|
+
activesupport (= 3.2.8)
|
|
109
104
|
bundler (~> 1.0)
|
|
110
|
-
railties (= 3.2.
|
|
111
|
-
railties (3.2.
|
|
112
|
-
actionpack (= 3.2.
|
|
113
|
-
activesupport (= 3.2.
|
|
105
|
+
railties (= 3.2.8)
|
|
106
|
+
railties (3.2.8)
|
|
107
|
+
actionpack (= 3.2.8)
|
|
108
|
+
activesupport (= 3.2.8)
|
|
114
109
|
rack-ssl (~> 1.3.2)
|
|
115
110
|
rake (>= 0.8.7)
|
|
116
111
|
rdoc (~> 3.4)
|
|
@@ -121,7 +116,7 @@ GEM
|
|
|
121
116
|
redis (2.2.2)
|
|
122
117
|
redis-namespace (1.0.3)
|
|
123
118
|
redis (< 3.0.0)
|
|
124
|
-
resque (1.
|
|
119
|
+
resque (1.20.0)
|
|
125
120
|
multi_json (~> 1.0)
|
|
126
121
|
redis-namespace (~> 1.0.2)
|
|
127
122
|
sinatra (>= 0.9.2)
|
|
@@ -131,7 +126,7 @@ GEM
|
|
|
131
126
|
resque-result (1.0.1)
|
|
132
127
|
resque (~> 1.9)
|
|
133
128
|
resque-meta (~> 1.0)
|
|
134
|
-
resque_spec (0.12.
|
|
129
|
+
resque_spec (0.12.3)
|
|
135
130
|
resque (>= 1.19.0)
|
|
136
131
|
rspec (>= 2.5.0)
|
|
137
132
|
rspec (2.11.0)
|
|
@@ -139,7 +134,7 @@ GEM
|
|
|
139
134
|
rspec-expectations (~> 2.11.0)
|
|
140
135
|
rspec-mocks (~> 2.11.0)
|
|
141
136
|
rspec-core (2.11.1)
|
|
142
|
-
rspec-expectations (2.11.
|
|
137
|
+
rspec-expectations (2.11.2)
|
|
143
138
|
diff-lcs (~> 1.1.3)
|
|
144
139
|
rspec-mocks (2.11.1)
|
|
145
140
|
rspec-rails (2.11.0)
|
|
@@ -177,11 +172,10 @@ PLATFORMS
|
|
|
177
172
|
|
|
178
173
|
DEPENDENCIES
|
|
179
174
|
capybara (~> 1.1)
|
|
180
|
-
database_cleaner (~> 0.
|
|
181
|
-
|
|
182
|
-
jasmine (~> 1.1)
|
|
175
|
+
database_cleaner (~> 0.8)
|
|
176
|
+
jasmine (~> 1.2)
|
|
183
177
|
mysql2 (~> 0.3.11)
|
|
184
178
|
quorum!
|
|
185
179
|
rake (~> 0.9.2)
|
|
186
|
-
resque_spec (~> 0.
|
|
187
|
-
rspec-rails (~> 2.
|
|
180
|
+
resque_spec (~> 0.12)
|
|
181
|
+
rspec-rails (~> 2.11)
|
data/HISTORY.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
## 0.4.0 (2012-08-10)
|
|
2
|
+
|
|
3
|
+
* Added Hsp gaps to Blast Job Reports.
|
|
4
|
+
To add gaps: `rake quorum:install:migrations` `rake db:migrate`
|
|
5
|
+
* Upgraded bio-blastxmlparser to v1.1.0.
|
|
6
|
+
See https://github.com/pjotrp/blastxmlparser/pull/1
|
|
7
|
+
* Fixed JavaScript RangeError: Max call stack size exceeded bug in views.
|
|
8
|
+
Bug was present in large datasets.
|
|
9
|
+
* General refactoring.
|
|
10
|
+
* Updated dependencies.
|
|
11
|
+
|
|
1
12
|
## 0.3.3 (2012-07-19)
|
|
2
13
|
|
|
3
14
|
* Fixed discover input sequence type bug. Upper and lowercase
|
|
@@ -90,8 +90,10 @@ QUORUM.viewDetailedReport = function(id, focus_id, query, algo) {
|
|
|
90
90
|
// Insert the detailed report data.
|
|
91
91
|
$('#detailed_report_dialog').empty().html(temp);
|
|
92
92
|
|
|
93
|
-
// Add tipsy to
|
|
94
|
-
$('
|
|
93
|
+
// Add tipsy to sequence data on mouse enter.
|
|
94
|
+
$('#detailed_report_dialog .sequence').mouseenter(function() {
|
|
95
|
+
$(this).find('a[rel=quorum-tipsy]').tipsy({ gravity: 's' });
|
|
96
|
+
});
|
|
95
97
|
|
|
96
98
|
// Highlight the selected id.
|
|
97
99
|
$('#' + focus_id).addClass("ui-state-highlight");
|
|
@@ -115,7 +117,8 @@ QUORUM.addBaseTitleIndex = function(bases, from, to, algo, type) {
|
|
|
115
117
|
var self = this,
|
|
116
118
|
forward = true,
|
|
117
119
|
value = 1,
|
|
118
|
-
index = from
|
|
120
|
+
index = from,
|
|
121
|
+
str;
|
|
119
122
|
|
|
120
123
|
if (from > to) {
|
|
121
124
|
forward = false;
|
|
@@ -129,7 +132,7 @@ QUORUM.addBaseTitleIndex = function(bases, from, to, algo, type) {
|
|
|
129
132
|
|
|
130
133
|
// Add tipsy to each base.
|
|
131
134
|
return _.map(bases.split(''), function(c) {
|
|
132
|
-
|
|
135
|
+
str = "<a rel='quorum-tipsy' title=" + index + ">" + c + "</a>";
|
|
133
136
|
forward ? index += value : index -= value;
|
|
134
137
|
return str;
|
|
135
138
|
}).join('');
|
|
@@ -180,7 +183,7 @@ QUORUM.formatSequenceReport = function(qseq, midline, hseq, q_from, q_to, h_from
|
|
|
180
183
|
}
|
|
181
184
|
}
|
|
182
185
|
return "<p class='small'>Alignment (Mouse over for positions):</p>" +
|
|
183
|
-
"<span class='small'><pre>" + seq + "</pre></span>";
|
|
186
|
+
"<span class='small sequence'><pre>" + seq + "</pre></span>";
|
|
184
187
|
|
|
185
188
|
};
|
|
186
189
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
class AddGapsToBlastReports < ActiveRecord::Migration
|
|
2
|
+
def change
|
|
3
|
+
add_column :quorum_blastn_job_reports, :gaps, :integer
|
|
4
|
+
add_column :quorum_blastx_job_reports, :gaps, :integer
|
|
5
|
+
add_column :quorum_tblastn_job_reports, :gaps, :integer
|
|
6
|
+
add_column :quorum_blastp_job_reports, :gaps, :integer
|
|
7
|
+
end
|
|
8
|
+
end
|
|
@@ -126,6 +126,9 @@ module Quorum
|
|
|
126
126
|
Digest::MD5.hexdigest(sequence).to_s + "-" + Time.now.to_f.to_s
|
|
127
127
|
end
|
|
128
128
|
|
|
129
|
+
#
|
|
130
|
+
# Blastn command
|
|
131
|
+
#
|
|
129
132
|
def generate_blastn_cmd
|
|
130
133
|
blastn = "blastn " <<
|
|
131
134
|
"-db \"#{@db}\" " <<
|
|
@@ -145,6 +148,9 @@ module Quorum
|
|
|
145
148
|
blastn
|
|
146
149
|
end
|
|
147
150
|
|
|
151
|
+
#
|
|
152
|
+
# Blastx command
|
|
153
|
+
#
|
|
148
154
|
def generate_blastx_cmd
|
|
149
155
|
blastx = "blastx " <<
|
|
150
156
|
"-db \"#{@db}\" " <<
|
|
@@ -164,6 +170,9 @@ module Quorum
|
|
|
164
170
|
blastx
|
|
165
171
|
end
|
|
166
172
|
|
|
173
|
+
#
|
|
174
|
+
# Tblastn command
|
|
175
|
+
#
|
|
167
176
|
def generate_tblastn_cmd
|
|
168
177
|
tblastn = "tblastn " <<
|
|
169
178
|
"-db \"#{@db}\" " <<
|
|
@@ -185,6 +194,9 @@ module Quorum
|
|
|
185
194
|
tblastn
|
|
186
195
|
end
|
|
187
196
|
|
|
197
|
+
#
|
|
198
|
+
# Blastp command
|
|
199
|
+
#
|
|
188
200
|
def generate_blastp_cmd
|
|
189
201
|
blastp = "blastp " <<
|
|
190
202
|
"-db \"#{@db}\" " <<
|
|
@@ -256,12 +268,65 @@ module Quorum
|
|
|
256
268
|
end
|
|
257
269
|
|
|
258
270
|
#
|
|
259
|
-
#
|
|
260
|
-
#
|
|
271
|
+
# Save Blast Job Report
|
|
272
|
+
#
|
|
273
|
+
# Hsps are only reported if a query hit against the Blast db.
|
|
274
|
+
# Only save the @data if bit_score exists and it's > the user
|
|
275
|
+
# defined minimum score.
|
|
276
|
+
#
|
|
277
|
+
# Set the attribute results to true for downstream processes.
|
|
278
|
+
#
|
|
279
|
+
def save_hsp_results
|
|
280
|
+
if @data[:bit_score] && (@data[:bit_score].to_i > @min_score.to_i)
|
|
281
|
+
@data[:results] = true
|
|
282
|
+
@data["#{@algorithm}_job_id".to_sym] = @job.method(@job_association).call.job_id
|
|
283
|
+
|
|
284
|
+
job_report = @job.method(@job_report_association).call.build(@data)
|
|
285
|
+
|
|
286
|
+
unless job_report.save!
|
|
287
|
+
@logger.log(
|
|
288
|
+
"ActiveRecord",
|
|
289
|
+
"Unable to save #{@algorithm} results to database.",
|
|
290
|
+
1,
|
|
291
|
+
@tmp_files
|
|
292
|
+
)
|
|
293
|
+
end
|
|
294
|
+
end
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
#
|
|
298
|
+
# Save empty Blast Job Report
|
|
299
|
+
#
|
|
300
|
+
# Set the attribute results to false for downstream processes.
|
|
301
|
+
#
|
|
302
|
+
def save_empty_results
|
|
303
|
+
job_report = @job.method(@job_report_association).call.build(
|
|
304
|
+
"#{@algorithm}_job_id" => @job.method(@job_association).call.job_id,
|
|
305
|
+
"results" => false
|
|
306
|
+
)
|
|
307
|
+
unless job_report.save!
|
|
308
|
+
@logger.log(
|
|
309
|
+
"ActiveRecord",
|
|
310
|
+
"Unable to save #{@algorithm} results to database.",
|
|
311
|
+
1,
|
|
312
|
+
@tmp_files
|
|
313
|
+
)
|
|
314
|
+
end
|
|
315
|
+
@logger.log(
|
|
316
|
+
"NCBI Blast",
|
|
317
|
+
"#{@algorithm} report empty.",
|
|
318
|
+
0,
|
|
319
|
+
@tmp_files
|
|
320
|
+
)
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
#
|
|
324
|
+
# Parse and save Blast results.
|
|
325
|
+
#
|
|
326
|
+
# Parse the Blast XML output and save results.
|
|
261
327
|
#
|
|
262
328
|
def parse_and_save_results
|
|
263
|
-
|
|
264
|
-
saved = false
|
|
329
|
+
@results = false # Did the xml contain results?
|
|
265
330
|
|
|
266
331
|
if File.size(@out) > 0
|
|
267
332
|
report = Bio::Blast::XmlIterator.new(@out)
|
|
@@ -292,28 +357,16 @@ module Quorum
|
|
|
292
357
|
@data[:hit_frame] = hsp.hit_frame
|
|
293
358
|
@data[:identity] = hsp.identity
|
|
294
359
|
@data[:positive] = hsp.positive
|
|
360
|
+
@data[:gaps] = hsp.gaps
|
|
295
361
|
@data[:align_len] = hsp.align_len
|
|
296
362
|
@data[:qseq] = hsp.qseq
|
|
297
363
|
@data[:hseq] = hsp.hseq
|
|
298
364
|
@data[:midline] = hsp.midline
|
|
299
365
|
|
|
300
|
-
# Hsps are only reported if a query hit against the Blast db.
|
|
301
|
-
# Only save the @data if bit_score exists.
|
|
302
366
|
if @data[:bit_score] &&
|
|
303
367
|
(@data[:bit_score].to_i > @min_score.to_i)
|
|
304
|
-
@
|
|
305
|
-
|
|
306
|
-
saved = true
|
|
307
|
-
# Build a new report for each Hsp.
|
|
308
|
-
job_report = @job.method(@job_report_association).call.build(@data)
|
|
309
|
-
unless job_report.save!
|
|
310
|
-
@logger.log(
|
|
311
|
-
"ActiveRecord",
|
|
312
|
-
"Unable to save #{@algorithm} results to database.",
|
|
313
|
-
1,
|
|
314
|
-
@tmp_files
|
|
315
|
-
)
|
|
316
|
-
end
|
|
368
|
+
@results = true
|
|
369
|
+
save_hsp_results
|
|
317
370
|
end
|
|
318
371
|
|
|
319
372
|
end
|
|
@@ -321,27 +374,7 @@ module Quorum
|
|
|
321
374
|
end
|
|
322
375
|
end
|
|
323
376
|
|
|
324
|
-
|
|
325
|
-
unless saved
|
|
326
|
-
job_report = @job.method(@job_report_association).call.build(
|
|
327
|
-
"#{@algorithm}_job_id" => @job.method(@job_association).call.job_id,
|
|
328
|
-
"results" => false
|
|
329
|
-
)
|
|
330
|
-
unless job_report.save!
|
|
331
|
-
@logger.log(
|
|
332
|
-
"ActiveRecord",
|
|
333
|
-
"Unable to save #{@algorithm} results to database.",
|
|
334
|
-
1,
|
|
335
|
-
@tmp_files
|
|
336
|
-
)
|
|
337
|
-
end
|
|
338
|
-
@logger.log(
|
|
339
|
-
"NCBI Blast",
|
|
340
|
-
"#{@algorithm} report empty.",
|
|
341
|
-
0,
|
|
342
|
-
@tmp_files
|
|
343
|
-
)
|
|
344
|
-
end
|
|
377
|
+
save_empty_results unless @results
|
|
345
378
|
end
|
|
346
379
|
|
|
347
380
|
#
|
|
@@ -388,6 +421,9 @@ module Quorum
|
|
|
388
421
|
end
|
|
389
422
|
end
|
|
390
423
|
|
|
424
|
+
#
|
|
425
|
+
# Remove tmp files.
|
|
426
|
+
#
|
|
391
427
|
def remove_tmp_files
|
|
392
428
|
`rm #{@tmp_files}` if @tmp_files
|
|
393
429
|
end
|
data/lib/quorum/version.rb
CHANGED
data/quorum.gemspec
CHANGED
|
@@ -18,15 +18,14 @@ Gem::Specification.new do |s|
|
|
|
18
18
|
s.add_dependency "rails", "~> 3.1"
|
|
19
19
|
s.add_dependency "jquery-rails"
|
|
20
20
|
s.add_dependency "net-ssh", "~> 2.3.0"
|
|
21
|
-
s.add_dependency "resque", "~> 1.
|
|
21
|
+
s.add_dependency "resque", "~> 1.20.0"
|
|
22
22
|
s.add_dependency "resque-result", "~> 1.0.1"
|
|
23
|
-
s.add_dependency "bio-blastxmlparser", "~> 1.0
|
|
23
|
+
s.add_dependency "bio-blastxmlparser", "~> 1.1.0"
|
|
24
24
|
|
|
25
25
|
s.add_development_dependency "mysql2", "~> 0.3.11"
|
|
26
|
-
s.add_development_dependency "rspec-rails", "~> 2.
|
|
27
|
-
s.add_development_dependency "resque_spec", "~> 0.
|
|
26
|
+
s.add_development_dependency "rspec-rails", "~> 2.11"
|
|
27
|
+
s.add_development_dependency "resque_spec", "~> 0.12"
|
|
28
28
|
s.add_development_dependency "capybara", "~> 1.1"
|
|
29
|
-
s.add_development_dependency "database_cleaner", "~> 0.
|
|
30
|
-
s.add_development_dependency "
|
|
31
|
-
s.add_development_dependency "jasmine", "~> 1.1"
|
|
29
|
+
s.add_development_dependency "database_cleaner", "~> 0.8"
|
|
30
|
+
s.add_development_dependency "jasmine", "~> 1.2"
|
|
32
31
|
end
|
|
@@ -30,7 +30,22 @@ GGCACCAGGGATCTTACAAGGCTGGATCTCCATAATAACAAGTTGACAGGGCCTATTCCTCCTCAAATTGGACGGTTGAA
|
|
|
30
30
|
GGAAATGAGCACAATGTTAAGCAGATCAAGAATTACCGCCAAAAGGTTGAGGAGGAACTCTCCAAAATTTGTGGTGACATCCTGACTATTATAGACCAGCATCTAATTCCTTCTTCCGCCTCAGCAGAAGCTAGTGTTTTCTACTATAAGATGAAAGGTGATTATTATCGGTATCTTGCTGAGTTCAAGACCGACCAAGAAAGGAAAGAGGCAGCCGAGCAGTCACTCAAGGGATATGAGGCTGCTTCAGCCACTGCCAACACCGATCTTCCATCAACACATCCAATCCGTCTTGGACTTGCTCTCAACTTCTCTGTCTTTTATTACGAGATCATGAACTCTCCTGAAAGGGCCTGCCATTTGGCTAAACAAGCTTTTGATGAGGCAATTGCAGAGTTGGACACCTTGAGTGAAGAGTCATACAAGGACAGTACTTTGATCATGCAGTTGTTGAGAGACAACCTGACTCTCTGGACATCCGATTTGCCAGAAGATGGAGGCGAGGAGAACATAAAAGCTGAAGAAGCCAAACCTACTGAGCCTGAGAATTAACTAGGTTCTTTTGGATCTTTGGCCCTGATTCAATAGTCAGATTTTTGTGGTGCTCTGCAAAGAGGGCATTTTTCAGCTTTTCTTGCAATGGATTTGGAATGGACAATATGAGCTGTCGCCACTTCATAATTACCAACCAAAGCCAAAAGATCTGAGCCTGCCTTTTCTTTATTTCTTTAAATTGTTTTTCTTTCTTACTGCCTTTATCTATTTTAAGCAAAGTGGTCGGTTGAAACAATGGATAATTCACATTTAAATCATAAGAATCTTTTTCAAGTGTTCATTACATCCGTTTTGGTTCGTTTAAAATATTGTTTCCTATGCGCTCCTAGATGGGATACAGTACAAGTATTCAACTGTTGAGCAGAGATTTTTACCTCAAAAAATTAGT
|
|
31
31
|
>TOG895871
|
|
32
32
|
AGACACAACATCATAGAAACAGATCAACAACACATTAAAATTAGCATGGATCATAGCTTACGTTGTTTTGGGTCGACACTACCCAAAACTCTTCTTCAGTTTCTGTTATCACCTTCACTCCTTCTCTTCATCTCCTTCTTCAGTTTCTCCAACGCAGCCTTCGACCTCGCCACCATACCCTTCAACGATGCCTATTCACCCCTCTTTGGGGATGGCAACCTTGTCCGCTCCGCCGATGGCAACGGTGTTCAACTCCTCCTCGATCGCTTCACCGGTTCTGGTTTCGTTTCTTCCAATATGTACCAGCATGGATTCTTCAGCGCCAATATCAAGCTACCATCGAATTACAGCGCTGGTATTTGCGTGGCCTTTTATACATCAAACAATGAGATGTTTGAGAAGACACACGATGAGTTAGACTTTGAATTCTTAGGTAATATAGCCGGAAAGCCTTGGAGGTTTCAGACAAACTTGTACGGCAATGGCAGCACCAACCGTGGCCGTGAGGAGCGGTACCGCCTCTGGTTTGATCCAACCAAGGGATTCCATAGATACAGCATTCTATGGACAGCTAAGAACATCATATTTTACATAGATGAGGTTCCAATTAGAGAAATTATAAGAAGTGAAGAAATGGGAGCTGATTACCCAGCAAAGCCAATGGCATTATACGCCACAATATGGGATGCATCAAATTGGGCCACATCGGGTGGAAA
|
|
33
|
+
>reverse translation of ADA84676.1 protein L-isoaspartyl methyltransferase 1 [Cicer arietinum] to a 687 base sequence of most likely codons.
|
|
34
|
+
atggaacagtattggagcggcagcgcgattaacgaaaacaaaggcatggtggaaaacctg
|
|
35
|
+
cagcgctatggcattattaaaagcagcaaagtggcggaaaccatggaaaaaattgatcgc
|
|
36
|
+
ggcctgtttgtgccgaacggcgtgcagccgtatattgatagcccgatgagcattggctat
|
|
37
|
+
aacgcgaccattagcgcgccgcatatgcatgcgacctgcctgcagctgctggaaaactat
|
|
38
|
+
ctgcagccgggcatgcatgcgctggatgtgggcagcggcaccggctatctgaccgcgtgc
|
|
39
|
+
tttgcgatgatggtgggcccgaacggccgcgcggtgggcgtggaacatattccggaactg
|
|
40
|
+
gtgagctttagcattaacaacattgaaaaaagcgcggcggcgccgcagctgaaagatggc
|
|
41
|
+
agcctgagcgtgcatgaaggcgatggccgccagggctggccggaatttgcgacctatgat
|
|
42
|
+
gcgattcatgtgggcgcggcggcgccggaaattccgcagccgctgattgatcagctgaaa
|
|
43
|
+
accggcggccgcatgattattccggtgggcaacgtgtttcaggatctgaaagtggtggat
|
|
44
|
+
aaaaacagcgatggcagcattagcattcgcaccgaaaccagcgtgcgctatgtgccgctg
|
|
45
|
+
accagcaaagaagcgcagctgaaagaa
|
|
33
46
|
>ADA84676.1 protein L-isoaspartyl methyltransferase 1 [Cicer arietinum]
|
|
34
47
|
MEQYWSGSAINENKGMVENLQRYGIIKSSKVAETMEKIDRGLFVPNGVQPYIDSPMSIGYNATISAPHMHATCLQLLENYLQPGMHALDVGSGTGYLTACFAMMVGPNGRAVGVEHIPELVSFSINNIEKSAAAPQLKDGSLSVHEGDGRQGWPEFATYDAIHVGAAAPEIPQPLIDQLKTGGRMIIPVGNVFQDLKVVDKNSDGSISIRTETSVRYVPLTSKEAQLKE
|
|
35
48
|
>ADA84676.2 protein L-isoaspartyl methyltransferase 1 [Cicer arietinum]
|
|
36
49
|
MEQYWSGSAGIIKSSKVAETMEKIDRGLFVPNGVQPYIDSPMSIGYNATISAPHMHATCLQLLENYLQINENKGMVENLQRYPGMHALDVGSGTGYLTACFAMMVGPNGRAVGVEHIPELVSFSINNIEKSAAAPQLKDGSLSVHEGDGRQGWPEFATYDAIHVGAAAPEIPGIIKSSKVAETMEKIDRGLFVPNGVQPYIDSPMSIGYNATISAPHMHATCLQLLENYLQPLIDQLKTGGRMIIPVGNVFQDLKVVDKNSDGSISIRTETGIIKSSKVAETMEKIDRGLFVPNGVQPYIDSPMSIGYNATISAPHMHATCLQLLENYLQSVRYVPLTSKEAQLKE
|
|
50
|
+
>VIRT10447
|
|
51
|
+
TVLPHLPHHLAAAQHQAPFQQVIAICQNSGQILYRPKARWWDPLLLPYMFRHKHELVQSFHK
|
data/spec/data/tmp/test.tgz
CHANGED
|
Binary file
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
#
|
|
3
3
|
# ==> General
|
|
4
4
|
# Quorum initializer safely substitutes %{RAILS_ROOT} with ::Rails.root.to_s.
|
|
5
|
-
#
|
|
5
|
+
#
|
|
6
6
|
# ==> NCBI BLAST+ Settings
|
|
7
7
|
# blast:
|
|
8
8
|
# remote: true to execute script on remote machine via
|
|
@@ -77,17 +77,13 @@ development:
|
|
|
77
77
|
tmp_dir: "%{RAILS_ROOT}/quorum/tmp"
|
|
78
78
|
blast_db: "%{RAILS_ROOT}/quorum/blastdb"
|
|
79
79
|
blastn:
|
|
80
|
-
"
|
|
81
|
-
"colchicum_autumnale-20101112": colchicum_autumnale-20101112
|
|
80
|
+
"tmp": test
|
|
82
81
|
blastx:
|
|
83
|
-
"
|
|
84
|
-
"colchicum_autumnale-20101112": colchicum_autumnale-20101112
|
|
82
|
+
"tmp": test
|
|
85
83
|
tblastn:
|
|
86
|
-
"
|
|
87
|
-
"colchicum_autumnale-20101112": colchicum_autumnale-20101112
|
|
84
|
+
"tmp": test
|
|
88
85
|
blastp:
|
|
89
|
-
"
|
|
90
|
-
"colchicum_autumnale-20101112": colchicum_autumnale-20101112
|
|
86
|
+
"tmp": test
|
|
91
87
|
blast_threads: 4
|
|
92
88
|
|
|
93
89
|
test:
|
data/spec/dummy/db/schema.rb
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
#
|
|
12
12
|
# It's strongly recommended to check this file into your version control system.
|
|
13
13
|
|
|
14
|
-
ActiveRecord::Schema.define(:version =>
|
|
14
|
+
ActiveRecord::Schema.define(:version => 20120807211452) do
|
|
15
15
|
|
|
16
16
|
create_table "quorum_blastn_job_reports", :force => true do |t|
|
|
17
17
|
t.string "query"
|
|
@@ -39,9 +39,10 @@ ActiveRecord::Schema.define(:version => 20120119000561) do
|
|
|
39
39
|
t.text "midline"
|
|
40
40
|
t.boolean "results"
|
|
41
41
|
t.integer "blastn_job_id"
|
|
42
|
-
t.datetime "created_at"
|
|
43
|
-
t.datetime "updated_at"
|
|
42
|
+
t.datetime "created_at", :null => false
|
|
43
|
+
t.datetime "updated_at", :null => false
|
|
44
44
|
t.string "hit_display_id"
|
|
45
|
+
t.integer "gaps"
|
|
45
46
|
end
|
|
46
47
|
|
|
47
48
|
create_table "quorum_blastn_jobs", :force => true do |t|
|
|
@@ -55,8 +56,8 @@ ActiveRecord::Schema.define(:version => 20120119000561) do
|
|
|
55
56
|
t.text "blast_dbs"
|
|
56
57
|
t.boolean "queue"
|
|
57
58
|
t.integer "job_id"
|
|
58
|
-
t.datetime "created_at"
|
|
59
|
-
t.datetime "updated_at"
|
|
59
|
+
t.datetime "created_at", :null => false
|
|
60
|
+
t.datetime "updated_at", :null => false
|
|
60
61
|
end
|
|
61
62
|
|
|
62
63
|
create_table "quorum_blastp_job_reports", :force => true do |t|
|
|
@@ -85,9 +86,10 @@ ActiveRecord::Schema.define(:version => 20120119000561) do
|
|
|
85
86
|
t.text "midline"
|
|
86
87
|
t.boolean "results"
|
|
87
88
|
t.integer "blastp_job_id"
|
|
88
|
-
t.datetime "created_at"
|
|
89
|
-
t.datetime "updated_at"
|
|
89
|
+
t.datetime "created_at", :null => false
|
|
90
|
+
t.datetime "updated_at", :null => false
|
|
90
91
|
t.string "hit_display_id"
|
|
92
|
+
t.integer "gaps"
|
|
91
93
|
end
|
|
92
94
|
|
|
93
95
|
create_table "quorum_blastp_jobs", :force => true do |t|
|
|
@@ -101,8 +103,8 @@ ActiveRecord::Schema.define(:version => 20120119000561) do
|
|
|
101
103
|
t.text "blast_dbs"
|
|
102
104
|
t.boolean "queue"
|
|
103
105
|
t.integer "job_id"
|
|
104
|
-
t.datetime "created_at"
|
|
105
|
-
t.datetime "updated_at"
|
|
106
|
+
t.datetime "created_at", :null => false
|
|
107
|
+
t.datetime "updated_at", :null => false
|
|
106
108
|
end
|
|
107
109
|
|
|
108
110
|
create_table "quorum_blastx_job_reports", :force => true do |t|
|
|
@@ -131,9 +133,10 @@ ActiveRecord::Schema.define(:version => 20120119000561) do
|
|
|
131
133
|
t.text "midline"
|
|
132
134
|
t.boolean "results"
|
|
133
135
|
t.integer "blastx_job_id"
|
|
134
|
-
t.datetime "created_at"
|
|
135
|
-
t.datetime "updated_at"
|
|
136
|
+
t.datetime "created_at", :null => false
|
|
137
|
+
t.datetime "updated_at", :null => false
|
|
136
138
|
t.string "hit_display_id"
|
|
139
|
+
t.integer "gaps"
|
|
137
140
|
end
|
|
138
141
|
|
|
139
142
|
create_table "quorum_blastx_jobs", :force => true do |t|
|
|
@@ -147,8 +150,8 @@ ActiveRecord::Schema.define(:version => 20120119000561) do
|
|
|
147
150
|
t.text "blast_dbs"
|
|
148
151
|
t.boolean "queue"
|
|
149
152
|
t.integer "job_id"
|
|
150
|
-
t.datetime "created_at"
|
|
151
|
-
t.datetime "updated_at"
|
|
153
|
+
t.datetime "created_at", :null => false
|
|
154
|
+
t.datetime "updated_at", :null => false
|
|
152
155
|
end
|
|
153
156
|
|
|
154
157
|
create_table "quorum_jobs", :force => true do |t|
|
|
@@ -156,8 +159,8 @@ ActiveRecord::Schema.define(:version => 20120119000561) do
|
|
|
156
159
|
t.text "na_sequence"
|
|
157
160
|
t.text "aa_sequence"
|
|
158
161
|
t.string "sequence_hash"
|
|
159
|
-
t.datetime "created_at"
|
|
160
|
-
t.datetime "updated_at"
|
|
162
|
+
t.datetime "created_at", :null => false
|
|
163
|
+
t.datetime "updated_at", :null => false
|
|
161
164
|
end
|
|
162
165
|
|
|
163
166
|
create_table "quorum_tblastn_job_reports", :force => true do |t|
|
|
@@ -186,9 +189,10 @@ ActiveRecord::Schema.define(:version => 20120119000561) do
|
|
|
186
189
|
t.text "midline"
|
|
187
190
|
t.boolean "results"
|
|
188
191
|
t.integer "tblastn_job_id"
|
|
189
|
-
t.datetime "created_at"
|
|
190
|
-
t.datetime "updated_at"
|
|
192
|
+
t.datetime "created_at", :null => false
|
|
193
|
+
t.datetime "updated_at", :null => false
|
|
191
194
|
t.string "hit_display_id"
|
|
195
|
+
t.integer "gaps"
|
|
192
196
|
end
|
|
193
197
|
|
|
194
198
|
create_table "quorum_tblastn_jobs", :force => true do |t|
|
|
@@ -202,8 +206,8 @@ ActiveRecord::Schema.define(:version => 20120119000561) do
|
|
|
202
206
|
t.text "blast_dbs"
|
|
203
207
|
t.boolean "queue"
|
|
204
208
|
t.integer "job_id"
|
|
205
|
-
t.datetime "created_at"
|
|
206
|
-
t.datetime "updated_at"
|
|
209
|
+
t.datetime "created_at", :null => false
|
|
210
|
+
t.datetime "updated_at", :null => false
|
|
207
211
|
end
|
|
208
212
|
|
|
209
213
|
end
|
data/spec/dummy/quorum/bin/fetch
CHANGED
|
@@ -37,7 +37,7 @@ Options:
|
|
|
37
37
|
:required => true, :short => "-l"
|
|
38
38
|
opt :tmp_directory, "Path to tmp directory", :type => :string,
|
|
39
39
|
:required => true, :short => "-m"
|
|
40
|
-
|
|
40
|
+
|
|
41
41
|
# Global settings
|
|
42
42
|
opt :fetch_database, "Path to fetch tool database", :type => :string,
|
|
43
43
|
:short => "-d"
|
|
@@ -46,7 +46,7 @@ Options:
|
|
|
46
46
|
|
|
47
47
|
# Algorithm specific opts
|
|
48
48
|
opt :blast_hit_id, "Blast hit id", :type => :string, :short => "-b"
|
|
49
|
-
opt :blast_hit_display_id, "Blast hit display id", :type => :string,
|
|
49
|
+
opt :blast_hit_display_id, "Blast hit display id", :type => :string,
|
|
50
50
|
:short => "-s"
|
|
51
51
|
opt :blast_algo, "Blast algorithm", :type => :string, :short => "-a"
|
|
52
52
|
end
|
|
@@ -110,6 +110,6 @@ Options:
|
|
|
110
110
|
end
|
|
111
111
|
|
|
112
112
|
if __FILE__ == $0
|
|
113
|
-
Quorum::Fetch.new
|
|
113
|
+
Quorum::Fetch.new
|
|
114
114
|
end
|
|
115
115
|
|