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.
Files changed (43) hide show
  1. data/Gemfile.lock +42 -48
  2. data/HISTORY.md +11 -0
  3. data/app/assets/javascripts/quorum/quorum.js +8 -5
  4. data/db/migrate/20120807202555_add_gaps_to_blast_reports.rb +8 -0
  5. data/lib/generators/templates/blast.rb +76 -40
  6. data/lib/quorum/version.rb +1 -1
  7. data/quorum.gemspec +6 -7
  8. data/spec/data/fake_seq.txt +2 -0
  9. data/spec/data/nucl_prot_seqs.txt +15 -0
  10. data/spec/data/tmp/test.tgz +0 -0
  11. data/spec/dummy/config/initializers/quorum_initializer.rb +1 -1
  12. data/spec/dummy/config/quorum_settings.yml +5 -9
  13. data/spec/dummy/db/schema.rb +23 -19
  14. data/spec/dummy/quorum/bin/fetch +3 -3
  15. data/spec/dummy/quorum/bin/search +8 -8
  16. data/spec/dummy/quorum/blastdb/test/contigs.fa +13 -0
  17. data/spec/dummy/quorum/blastdb/test/peptides.fa +2 -0
  18. data/spec/dummy/quorum/blastdb/test.nhd +1 -0
  19. data/spec/dummy/quorum/blastdb/test.nhi +0 -0
  20. data/spec/dummy/quorum/blastdb/test.nhr +0 -0
  21. data/spec/dummy/quorum/blastdb/test.nin +0 -0
  22. data/spec/dummy/quorum/blastdb/test.nog +0 -0
  23. data/spec/dummy/quorum/blastdb/test.nsd +1 -0
  24. data/spec/dummy/quorum/blastdb/test.nsi +0 -0
  25. data/spec/dummy/quorum/blastdb/test.nsq +0 -0
  26. data/spec/dummy/quorum/blastdb/test.phd +1 -0
  27. data/spec/dummy/quorum/blastdb/test.phi +0 -0
  28. data/spec/dummy/quorum/blastdb/test.phr +0 -0
  29. data/spec/dummy/quorum/blastdb/test.pin +0 -0
  30. data/spec/dummy/quorum/blastdb/test.pog +0 -0
  31. data/spec/dummy/quorum/blastdb/test.psd +1 -0
  32. data/spec/dummy/quorum/blastdb/test.psi +0 -0
  33. data/spec/dummy/quorum/blastdb/test.psq +0 -0
  34. data/spec/dummy/quorum/lib/fetch_tools/blast_db.rb +6 -6
  35. data/spec/dummy/quorum/lib/logger.rb +4 -4
  36. data/spec/dummy/quorum/lib/search_tools/blast.rb +76 -40
  37. data/spec/dummy/quorum/lib/trollop.rb +4 -4
  38. data/spec/javascripts/fixtures/formatted_sequence.html +1 -1
  39. data/spec/javascripts/quorum_spec.js +8 -6
  40. data/spec/requests/jobs_spec.rb +13 -3
  41. data/spec/spec_helper.rb +0 -4
  42. data/spec/templates/blast_spec.rb +53 -3
  43. metadata +17 -31
data/Gemfile.lock CHANGED
@@ -1,47 +1,47 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- quorum (0.3.3)
5
- bio-blastxmlparser (~> 1.0.1)
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.19.0)
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.6)
16
- actionpack (= 3.2.6)
15
+ actionmailer (3.2.8)
16
+ actionpack (= 3.2.8)
17
17
  mail (~> 2.4.4)
18
- actionpack (3.2.6)
19
- activemodel (= 3.2.6)
20
- activesupport (= 3.2.6)
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.1)
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.6)
29
- activesupport (= 3.2.6)
28
+ activemodel (3.2.8)
29
+ activesupport (= 3.2.8)
30
30
  builder (~> 3.0.0)
31
- activerecord (3.2.6)
32
- activemodel (= 3.2.6)
33
- activesupport (= 3.2.6)
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.6)
37
- activemodel (= 3.2.6)
38
- activesupport (= 3.2.6)
39
- activesupport (3.2.6)
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.8)
42
+ addressable (2.3.2)
43
43
  arel (3.0.2)
44
- bio-blastxmlparser (1.0.1)
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.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
- factory_girl (2.6.4)
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.3)
81
- libwebsocket (0.1.4)
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.6)
104
- actionmailer (= 3.2.6)
105
- actionpack (= 3.2.6)
106
- activerecord (= 3.2.6)
107
- activeresource (= 3.2.6)
108
- activesupport (= 3.2.6)
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.6)
111
- railties (3.2.6)
112
- actionpack (= 3.2.6)
113
- activesupport (= 3.2.6)
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.19.0)
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.2)
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.1)
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.6)
181
- factory_girl_rails (~> 1.2)
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.8)
187
- rspec-rails (~> 2.6)
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 the sequence data.
94
- $('a[rel=quorum-tipsy]').tipsy({ gravity: 's' });
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
- var str = "<a rel='quorum-tipsy' title=" + index + ">" + c + "</a>";
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
- # Parse and save Blast results using bio-blastxmlparser.
260
- # Only save Blast results if results.bit_score > @min_score.
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
- # Helper to avoid having to perform a query.
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
- @data[:results] = true
305
- @data["#{@algorithm}_job_id".to_sym] = @job.method(@job_association).call.job_id
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
- # Save the record and set results to false.
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
@@ -1,3 +1,3 @@
1
1
  module Quorum
2
- VERSION = "0.3.3"
2
+ VERSION = "0.4.0"
3
3
  end
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.19.0"
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.1"
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.6"
27
- s.add_development_dependency "resque_spec", "~> 0.8"
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.6"
30
- s.add_development_dependency "factory_girl_rails", "~> 1.2"
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
@@ -0,0 +1,2 @@
1
+ >fakeseq
2
+ NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
@@ -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
Binary file
@@ -10,7 +10,7 @@ settings = YAML.load_file(
10
10
 
11
11
  ## Sub %{RAILS_ROOT} ##
12
12
  settings.keys.each do |k|
13
- settings[k.to_s].each_value do |v|
13
+ settings[k.to_s].each_value do |v|
14
14
  if v.kind_of?(String)
15
15
  v.to_s.gsub!('%{RAILS_ROOT}', ::Rails.root.to_s)
16
16
  end
@@ -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
- "camptotheca_acuminata-20101112": camptotheca_acuminata-20101112
81
- "colchicum_autumnale-20101112": colchicum_autumnale-20101112
80
+ "tmp": test
82
81
  blastx:
83
- "camptotheca_acuminata-20101112": camptotheca_acuminata-20101112
84
- "colchicum_autumnale-20101112": colchicum_autumnale-20101112
82
+ "tmp": test
85
83
  tblastn:
86
- "camptotheca_acuminata-20101112": camptotheca_acuminata-20101112
87
- "colchicum_autumnale-20101112": colchicum_autumnale-20101112
84
+ "tmp": test
88
85
  blastp:
89
- "camptotheca_acuminata-20101112": camptotheca_acuminata-20101112
90
- "colchicum_autumnale-20101112": colchicum_autumnale-20101112
86
+ "tmp": test
91
87
  blast_threads: 4
92
88
 
93
89
  test:
@@ -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 => 20120119000561) do
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
@@ -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