quorum 0.3.3 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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