quorum 0.5.2 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -5
- data/.travis.yml +0 -2
- data/Gemfile.lock +2 -2
- data/HISTORY.md +12 -0
- data/Rakefile +13 -48
- data/app/models/quorum/blastn_job.rb +15 -22
- data/app/models/quorum/blastp_job.rb +15 -22
- data/app/models/quorum/blastx_job.rb +15 -22
- data/app/models/quorum/tblastn_job.rb +15 -22
- data/app/views/quorum/jobs/form/_blastn_form.html.erb +4 -4
- data/app/views/quorum/jobs/form/_blastp_form.html.erb +4 -4
- data/app/views/quorum/jobs/form/_blastx_form.html.erb +4 -4
- data/app/views/quorum/jobs/form/_tblastn_form.html.erb +4 -4
- data/app/views/quorum/jobs/templates/_blast_detailed_report_template.html.erb +6 -17
- data/db/migrate/20120918205556_rename_max_score_column.rb +15 -0
- data/lib/generators/templates/blast.rb +37 -31
- data/lib/quorum/version.rb +1 -1
- data/spec/config/quorum_settings.yml +55 -0
- data/spec/javascripts/fixtures/quorum_search_form.html +8 -8
- data/spec/javascripts/jobs_spec.js +8 -8
- data/spec/lib/tasks/travis.rake +120 -0
- data/spec/models/blastn_job_spec.rb +41 -22
- data/spec/models/blastp_job_spec.rb +41 -22
- data/spec/models/blastx_job_spec.rb +41 -22
- data/spec/models/job_spec.rb +1 -1
- data/spec/models/tblastn_job_spec.rb +41 -22
- data/spec/requests/jobs_spec.rb +8 -8
- data/spec/templates/blast_db_spec.rb +1 -1
- data/spec/templates/blast_spec.rb +1 -1
- metadata +7 -32
- data/spec/dummy/config/initializers/quorum_initializer.rb +0 -36
- data/spec/dummy/config/locales/quorum.en.yml +0 -8
- data/spec/dummy/config/quorum_settings.yml +0 -141
- data/spec/dummy/db/schema.rb +0 -213
- data/spec/dummy/quorum/bin/fetch +0 -115
- data/spec/dummy/quorum/bin/search +0 -141
- data/spec/dummy/quorum/blastdb/test/contigs.fa +0 -15
- data/spec/dummy/quorum/blastdb/test/peptides.fa +0 -4
- data/spec/dummy/quorum/blastdb/test.nhd +0 -2
- 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 +0 -2
- 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 +0 -2
- 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 +0 -2
- 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 +0 -106
- data/spec/dummy/quorum/lib/logger.rb +0 -43
- data/spec/dummy/quorum/lib/search_tools/blast.rb +0 -452
- data/spec/dummy/quorum/lib/trollop.rb +0 -781
data/.gitignore
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
.bundle/
|
2
2
|
log/*.log
|
3
3
|
pkg/
|
4
|
-
spec/dummy/db
|
5
|
-
spec/dummy/db/migrate/
|
4
|
+
spec/dummy/db/*
|
6
5
|
spec/dummy/log/*.log
|
7
|
-
spec/dummy/tmp
|
6
|
+
spec/dummy/tmp/*
|
8
7
|
spec/dummy/config/database.yml
|
9
|
-
spec/dummy/quorum/
|
10
|
-
spec/dummy/quorum/tmp/*
|
8
|
+
spec/dummy/quorum/
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
quorum (0.
|
4
|
+
quorum (0.6.0)
|
5
5
|
bio-blastxmlparser (~> 1.1.0)
|
6
6
|
jquery-rails
|
7
7
|
net-ssh (~> 2.3.0)
|
@@ -136,7 +136,7 @@ GEM
|
|
136
136
|
rspec-core (2.11.1)
|
137
137
|
rspec-expectations (2.11.3)
|
138
138
|
diff-lcs (~> 1.1.3)
|
139
|
-
rspec-mocks (2.11.
|
139
|
+
rspec-mocks (2.11.3)
|
140
140
|
rspec-rails (2.11.0)
|
141
141
|
actionpack (>= 3.0)
|
142
142
|
activesupport (>= 3.0)
|
data/HISTORY.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
## 0.6.0 (2012-09-21)
|
2
|
+
|
3
|
+
* Renamed blast report max_score to max_target_seqs to match NCBI Blast
|
4
|
+
reports. Updated search interface. NOTE: requires migration install.
|
5
|
+
* Updated the default search interface:
|
6
|
+
* Enabled gapped alignments by default.
|
7
|
+
* Improved existing filter options (NCBI Blast DUST and SEG) to use NCBI Blast
|
8
|
+
default values.
|
9
|
+
* Fixed Rails 3.2 multiple select validation error.
|
10
|
+
* Refactored travis-ci rake tasks.
|
11
|
+
* Added default spec runner task.
|
12
|
+
|
1
13
|
## 0.5.2 (2012-09-14)
|
2
14
|
|
3
15
|
* Removed jQuery ajax timeout for long lasting blast jobs.
|
data/Rakefile
CHANGED
@@ -25,58 +25,23 @@ load 'rails/tasks/engine.rake'
|
|
25
25
|
|
26
26
|
require 'rspec/core/rake_task'
|
27
27
|
RSpec::Core::RakeTask.new(:spec)
|
28
|
-
task :default => :spec
|
29
28
|
|
30
29
|
Bundler::GemHelper.install_tasks
|
31
30
|
|
32
|
-
# Travis
|
33
|
-
|
34
|
-
# Specs
|
35
|
-
task :spec do
|
36
|
-
Rake::Task["travis:create_dirs"].execute
|
37
|
-
["rake spec", "rake app:jasmine:ci JASMINE_PORT=53331"].each do |cmd|
|
38
|
-
puts "Starting to run #{cmd}..."
|
39
|
-
system("export DISPLAY=:99.0 && bundle exec #{cmd}")
|
40
|
-
raise "#{cmd} failed!" unless $?.exitstatus == 0
|
41
|
-
end
|
42
|
-
Rake::Task["travis:remove_db_config"].execute
|
43
|
-
end
|
31
|
+
# Travis tasks
|
32
|
+
load 'spec/lib/tasks/travis.rake'
|
44
33
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
" username: root\n password:\n host: localhost\n encoding: utf8"
|
51
|
-
end
|
34
|
+
# Spec runner
|
35
|
+
task :spec_runner do
|
36
|
+
unless File.exists?(File.expand_path("../spec/dummy/quorum", __FILE__))
|
37
|
+
Rake::Task["travis:quorum_install"].execute
|
38
|
+
Rake::Task["travis:copy_quorum_settings"].execute
|
52
39
|
end
|
53
|
-
|
54
|
-
|
55
|
-
task :remove_db_config do
|
56
|
-
config = File.expand_path("../spec/dummy/config", __FILE__)
|
57
|
-
File.delete(File.join(config, "database.yml"))
|
58
|
-
end
|
59
|
-
|
60
|
-
# Create necessary directories for test. Mimic a real app install
|
61
|
-
# via rails g quorum:install.
|
62
|
-
#
|
63
|
-
# The directories below are not in the git repo.
|
64
|
-
task :create_dirs do
|
65
|
-
app = File.expand_path("../spec/dummy", __FILE__)
|
66
|
-
quorum = File.expand_path("../spec/dummy/quorum", __FILE__)
|
67
|
-
|
68
|
-
app_tmp = File.join(app, "tmp")
|
69
|
-
app_pids = File.join(app_tmp, "pids")
|
70
|
-
app_cache = File.join(app_tmp, "cache")
|
71
|
-
|
72
|
-
Dir.mkdir(app_tmp) unless File.directory?(app_tmp)
|
73
|
-
Dir.mkdir(app_pids) unless File.directory?(app_pids)
|
74
|
-
Dir.mkdir(app_cache) unless File.directory?(app_cache)
|
75
|
-
|
76
|
-
quorum_log = File.join(quorum, "log")
|
77
|
-
quorum_tmp = File.join(quorum, "tmp")
|
78
|
-
|
79
|
-
Dir.mkdir(quorum_log) unless File.directory?(quorum_log)
|
80
|
-
Dir.mkdir(quorum_tmp) unless File.directory?(quorum_tmp)
|
40
|
+
unless File.exists?(File.expand_path("../spec/dummy/tmp", __FILE__))
|
41
|
+
Rake::Task["travis:create_dummy_tmp"].execute
|
81
42
|
end
|
43
|
+
Rake::Task["spec"].execute
|
44
|
+
Rake::Task["app:jasmine:ci"].execute
|
82
45
|
end
|
46
|
+
|
47
|
+
task :default => :spec_runner
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module Quorum
|
2
2
|
class BlastnJob < ActiveRecord::Base
|
3
3
|
|
4
|
+
before_validation :check_blast_dbs, :if => :queue
|
5
|
+
|
4
6
|
before_save :set_optional_params, :set_blast_dbs
|
5
7
|
|
6
8
|
belongs_to :job
|
@@ -9,7 +11,7 @@ module Quorum
|
|
9
11
|
:foreign_key => :blastn_job_id,
|
10
12
|
:primary_key => :job_id
|
11
13
|
|
12
|
-
attr_accessible :expectation, :
|
14
|
+
attr_accessible :expectation, :max_target_seqs, :min_bit_score,
|
13
15
|
:filter, :gapped_alignments, :gap_opening_penalty,
|
14
16
|
:gap_extension_penalty, :gap_opening_extension, :queue,
|
15
17
|
:blast_dbs
|
@@ -18,7 +20,7 @@ module Quorum
|
|
18
20
|
:with => /^[+-]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/,
|
19
21
|
:message => " - Valid formats (12, 32.05, 43e-123)",
|
20
22
|
:allow_blank => true
|
21
|
-
validates_numericality_of :
|
23
|
+
validates_numericality_of :max_target_seqs,
|
22
24
|
:only_integer => true,
|
23
25
|
:allow_blank => true
|
24
26
|
validates_numericality_of :min_bit_score,
|
@@ -31,7 +33,6 @@ module Quorum
|
|
31
33
|
:only_integer => true,
|
32
34
|
:allow_blank => true
|
33
35
|
validates_presence_of :blast_dbs, :if => :queue
|
34
|
-
validate :gap_opening_extension_exists
|
35
36
|
|
36
37
|
#
|
37
38
|
# Gapped alignment helper.
|
@@ -79,32 +80,24 @@ module Quorum
|
|
79
80
|
|
80
81
|
private
|
81
82
|
|
82
|
-
def
|
83
|
+
def check_blast_dbs
|
83
84
|
if self.blast_dbs.present?
|
84
|
-
self.blast_dbs = self.blast_dbs.delete_if { |b| b.empty? }
|
85
|
+
self.blast_dbs = self.blast_dbs.delete_if { |b| b.empty? }
|
85
86
|
end
|
86
87
|
end
|
87
88
|
|
88
|
-
def
|
89
|
-
|
90
|
-
|
91
|
-
self.min_bit_score ||= 0
|
92
|
-
unless self.gapped_alignments
|
93
|
-
self.gap_opening_penalty = 0
|
94
|
-
self.gap_extension_penalty = 0
|
89
|
+
def set_blast_dbs
|
90
|
+
if self.blast_dbs.present?
|
91
|
+
self.blast_dbs = self.blast_dbs.join(';')
|
95
92
|
end
|
96
93
|
end
|
97
94
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
:gap_opening_extension,
|
105
|
-
" - Please select a value."
|
106
|
-
)
|
107
|
-
end
|
95
|
+
def set_optional_params
|
96
|
+
self.expectation = "5e-20" if self.expectation.blank?
|
97
|
+
self.max_target_seqs ||= 25
|
98
|
+
self.min_bit_score ||= 0
|
99
|
+
self.gap_opening_penalty ||= nil
|
100
|
+
self.gap_extension_penalty ||= nil
|
108
101
|
end
|
109
102
|
|
110
103
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module Quorum
|
2
2
|
class BlastpJob < ActiveRecord::Base
|
3
3
|
|
4
|
+
before_validation :check_blast_dbs, :if => :queue
|
5
|
+
|
4
6
|
before_save :set_optional_params, :set_blast_dbs
|
5
7
|
|
6
8
|
belongs_to :job
|
@@ -9,7 +11,7 @@ module Quorum
|
|
9
11
|
:foreign_key => :blastp_job_id,
|
10
12
|
:primary_key => :job_id
|
11
13
|
|
12
|
-
attr_accessible :expectation, :
|
14
|
+
attr_accessible :expectation, :max_target_seqs, :min_bit_score,
|
13
15
|
:filter, :gapped_alignments, :gap_opening_penalty,
|
14
16
|
:gap_extension_penalty, :gap_opening_extension, :queue,
|
15
17
|
:blast_dbs
|
@@ -18,7 +20,7 @@ module Quorum
|
|
18
20
|
:with => /^[+-]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/,
|
19
21
|
:message => " - Valid formats (12, 32.05, 43e-123)",
|
20
22
|
:allow_blank => true
|
21
|
-
validates_numericality_of :
|
23
|
+
validates_numericality_of :max_target_seqs,
|
22
24
|
:only_integer => true,
|
23
25
|
:allow_blank => true
|
24
26
|
validates_numericality_of :min_bit_score,
|
@@ -31,7 +33,6 @@ module Quorum
|
|
31
33
|
:only_integer => true,
|
32
34
|
:allow_blank => true
|
33
35
|
validates_presence_of :blast_dbs, :if => :queue
|
34
|
-
validate :gap_opening_extension_exists
|
35
36
|
|
36
37
|
#
|
37
38
|
# Gapped alignment helper.
|
@@ -79,32 +80,24 @@ module Quorum
|
|
79
80
|
|
80
81
|
private
|
81
82
|
|
82
|
-
def
|
83
|
+
def check_blast_dbs
|
83
84
|
if self.blast_dbs.present?
|
84
|
-
self.blast_dbs = self.blast_dbs.delete_if { |b| b.empty? }
|
85
|
+
self.blast_dbs = self.blast_dbs.delete_if { |b| b.empty? }
|
85
86
|
end
|
86
87
|
end
|
87
88
|
|
88
|
-
def
|
89
|
-
|
90
|
-
|
91
|
-
self.min_bit_score ||= 0
|
92
|
-
unless self.gapped_alignments
|
93
|
-
self.gap_opening_penalty = 0
|
94
|
-
self.gap_extension_penalty = 0
|
89
|
+
def set_blast_dbs
|
90
|
+
if self.blast_dbs.present?
|
91
|
+
self.blast_dbs = self.blast_dbs.join(';')
|
95
92
|
end
|
96
93
|
end
|
97
94
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
:gap_opening_extension,
|
105
|
-
" - Please select a value."
|
106
|
-
)
|
107
|
-
end
|
95
|
+
def set_optional_params
|
96
|
+
self.expectation = "5e-20" if self.expectation.blank?
|
97
|
+
self.max_target_seqs ||= 25
|
98
|
+
self.min_bit_score ||= 0
|
99
|
+
self.gap_opening_penalty ||= nil
|
100
|
+
self.gap_extension_penalty ||= nil
|
108
101
|
end
|
109
102
|
|
110
103
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module Quorum
|
2
2
|
class BlastxJob < ActiveRecord::Base
|
3
3
|
|
4
|
+
before_validation :check_blast_dbs, :if => :queue
|
5
|
+
|
4
6
|
before_save :set_optional_params, :set_blast_dbs
|
5
7
|
|
6
8
|
belongs_to :job
|
@@ -9,7 +11,7 @@ module Quorum
|
|
9
11
|
:foreign_key => :blastx_job_id,
|
10
12
|
:primary_key => :job_id
|
11
13
|
|
12
|
-
attr_accessible :expectation, :
|
14
|
+
attr_accessible :expectation, :max_target_seqs, :min_bit_score,
|
13
15
|
:filter, :gapped_alignments, :gap_opening_penalty,
|
14
16
|
:gap_extension_penalty, :gap_opening_extension, :queue,
|
15
17
|
:blast_dbs
|
@@ -18,7 +20,7 @@ module Quorum
|
|
18
20
|
:with => /^[+-]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/,
|
19
21
|
:message => " - Valid formats (12, 32.05, 43e-123)",
|
20
22
|
:allow_blank => true
|
21
|
-
validates_numericality_of :
|
23
|
+
validates_numericality_of :max_target_seqs,
|
22
24
|
:only_integer => true,
|
23
25
|
:allow_blank => true
|
24
26
|
validates_numericality_of :min_bit_score,
|
@@ -31,7 +33,6 @@ module Quorum
|
|
31
33
|
:only_integer => true,
|
32
34
|
:allow_blank => true
|
33
35
|
validates_presence_of :blast_dbs, :if => :queue
|
34
|
-
validate :gap_opening_extension_exists
|
35
36
|
|
36
37
|
#
|
37
38
|
# Gapped alignment helper.
|
@@ -79,32 +80,24 @@ module Quorum
|
|
79
80
|
|
80
81
|
private
|
81
82
|
|
82
|
-
def
|
83
|
+
def check_blast_dbs
|
83
84
|
if self.blast_dbs.present?
|
84
|
-
self.blast_dbs = self.blast_dbs.delete_if { |b| b.empty? }
|
85
|
+
self.blast_dbs = self.blast_dbs.delete_if { |b| b.empty? }
|
85
86
|
end
|
86
87
|
end
|
87
88
|
|
88
|
-
def
|
89
|
-
|
90
|
-
|
91
|
-
self.min_bit_score ||= 0
|
92
|
-
unless self.gapped_alignments
|
93
|
-
self.gap_opening_penalty = 0
|
94
|
-
self.gap_extension_penalty = 0
|
89
|
+
def set_blast_dbs
|
90
|
+
if self.blast_dbs.present?
|
91
|
+
self.blast_dbs = self.blast_dbs.join(';')
|
95
92
|
end
|
96
93
|
end
|
97
94
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
:gap_opening_extension,
|
105
|
-
" - Please select a value."
|
106
|
-
)
|
107
|
-
end
|
95
|
+
def set_optional_params
|
96
|
+
self.expectation = "5e-20" if self.expectation.blank?
|
97
|
+
self.max_target_seqs ||= 25
|
98
|
+
self.min_bit_score ||= 0
|
99
|
+
self.gap_opening_penalty ||= nil
|
100
|
+
self.gap_extension_penalty ||= nil
|
108
101
|
end
|
109
102
|
|
110
103
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module Quorum
|
2
2
|
class TblastnJob < ActiveRecord::Base
|
3
3
|
|
4
|
+
before_validation :check_blast_dbs, :if => :queue
|
5
|
+
|
4
6
|
before_save :set_optional_params, :set_blast_dbs
|
5
7
|
|
6
8
|
belongs_to :job
|
@@ -9,7 +11,7 @@ module Quorum
|
|
9
11
|
:foreign_key => :tblastn_job_id,
|
10
12
|
:primary_key => :job_id
|
11
13
|
|
12
|
-
attr_accessible :expectation, :
|
14
|
+
attr_accessible :expectation, :max_target_seqs, :min_bit_score,
|
13
15
|
:filter, :gapped_alignments, :gap_opening_penalty,
|
14
16
|
:gap_extension_penalty, :gap_opening_extension, :queue,
|
15
17
|
:blast_dbs
|
@@ -18,7 +20,7 @@ module Quorum
|
|
18
20
|
:with => /^[+-]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/,
|
19
21
|
:message => " - Valid formats (12, 32.05, 43e-123)",
|
20
22
|
:allow_blank => true
|
21
|
-
validates_numericality_of :
|
23
|
+
validates_numericality_of :max_target_seqs,
|
22
24
|
:only_integer => true,
|
23
25
|
:allow_blank => true
|
24
26
|
validates_numericality_of :min_bit_score,
|
@@ -31,7 +33,6 @@ module Quorum
|
|
31
33
|
:only_integer => true,
|
32
34
|
:allow_blank => true
|
33
35
|
validates_presence_of :blast_dbs, :if => :queue
|
34
|
-
validate :gap_opening_extension_exists
|
35
36
|
|
36
37
|
#
|
37
38
|
# Gapped alignment helper.
|
@@ -79,32 +80,24 @@ module Quorum
|
|
79
80
|
|
80
81
|
private
|
81
82
|
|
82
|
-
def
|
83
|
+
def check_blast_dbs
|
83
84
|
if self.blast_dbs.present?
|
84
|
-
self.blast_dbs = self.blast_dbs.delete_if { |b| b.empty? }
|
85
|
+
self.blast_dbs = self.blast_dbs.delete_if { |b| b.empty? }
|
85
86
|
end
|
86
87
|
end
|
87
88
|
|
88
|
-
def
|
89
|
-
|
90
|
-
|
91
|
-
self.min_bit_score ||= 0
|
92
|
-
unless self.gapped_alignments
|
93
|
-
self.gap_opening_penalty = 0
|
94
|
-
self.gap_extension_penalty = 0
|
89
|
+
def set_blast_dbs
|
90
|
+
if self.blast_dbs.present?
|
91
|
+
self.blast_dbs = self.blast_dbs.join(';')
|
95
92
|
end
|
96
93
|
end
|
97
94
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
:gap_opening_extension,
|
105
|
-
" - Please select a value."
|
106
|
-
)
|
107
|
-
end
|
95
|
+
def set_optional_params
|
96
|
+
self.expectation = "5e-20" if self.expectation.blank?
|
97
|
+
self.max_target_seqs ||= 25
|
98
|
+
self.min_bit_score ||= 0
|
99
|
+
self.gap_opening_penalty ||= nil
|
100
|
+
self.gap_extension_penalty ||= nil
|
108
101
|
end
|
109
102
|
|
110
103
|
end
|
@@ -16,7 +16,7 @@
|
|
16
16
|
<%= n.label :filter, "DUST" %>
|
17
17
|
</td>
|
18
18
|
<td>
|
19
|
-
<%= n.
|
19
|
+
<%= n.select :filter, [['Yes', true],['No', false]] %>
|
20
20
|
</td>
|
21
21
|
</tr>
|
22
22
|
<tr>
|
@@ -37,17 +37,17 @@
|
|
37
37
|
</tr>
|
38
38
|
<tr>
|
39
39
|
<td>
|
40
|
-
<%= n.label :
|
40
|
+
<%= n.label :max_target_seqs, "Max target sequences" %>
|
41
41
|
</td>
|
42
42
|
<td>
|
43
|
-
<%= n.text_field :
|
43
|
+
<%= n.text_field :max_target_seqs, :size => 15, :title => "25",
|
44
44
|
:class => "auto-hint" %>
|
45
45
|
</td>
|
46
46
|
<td>
|
47
47
|
<%= n.label :gapped_alignments %>
|
48
48
|
</td>
|
49
49
|
<td>
|
50
|
-
<%= n.select :gapped_alignments, [['
|
50
|
+
<%= n.select :gapped_alignments, [['Yes', true],['No', false]] %>
|
51
51
|
</td>
|
52
52
|
</tr>
|
53
53
|
<tr>
|
@@ -16,7 +16,7 @@
|
|
16
16
|
<%= n.label :filter, "SEG" %>
|
17
17
|
</td>
|
18
18
|
<td>
|
19
|
-
<%= n.
|
19
|
+
<%= n.select :filter, [['No', false], ['Yes', true]] %>
|
20
20
|
</td>
|
21
21
|
</tr>
|
22
22
|
<tr>
|
@@ -37,17 +37,17 @@
|
|
37
37
|
</tr>
|
38
38
|
<tr>
|
39
39
|
<td>
|
40
|
-
<%= n.label :
|
40
|
+
<%= n.label :max_target_seqs, "Max target sequences" %>
|
41
41
|
</td>
|
42
42
|
<td>
|
43
|
-
<%= n.text_field :
|
43
|
+
<%= n.text_field :max_target_seqs, :size => 15, :title => "25",
|
44
44
|
:class => "auto-hint" %>
|
45
45
|
</td>
|
46
46
|
<td>
|
47
47
|
<%= n.label :gapped_alignments %>
|
48
48
|
</td>
|
49
49
|
<td>
|
50
|
-
<%= n.select :gapped_alignments, [['
|
50
|
+
<%= n.select :gapped_alignments, [['Yes', true],['No', false]] %>
|
51
51
|
</td>
|
52
52
|
</tr>
|
53
53
|
<tr>
|
@@ -16,7 +16,7 @@
|
|
16
16
|
<%= n.label :filter, "SEG" %>
|
17
17
|
</td>
|
18
18
|
<td>
|
19
|
-
<%= n.
|
19
|
+
<%= n.select :filter, [['Yes', true],['No', false]] %>
|
20
20
|
</td>
|
21
21
|
</tr>
|
22
22
|
<tr>
|
@@ -37,17 +37,17 @@
|
|
37
37
|
</tr>
|
38
38
|
<tr>
|
39
39
|
<td>
|
40
|
-
<%= n.label :
|
40
|
+
<%= n.label :max_target_seqs, "Max target sequences" %>
|
41
41
|
</td>
|
42
42
|
<td>
|
43
|
-
<%= n.text_field :
|
43
|
+
<%= n.text_field :max_target_seqs, :size => 15, :title => "25",
|
44
44
|
:class => "auto-hint" %>
|
45
45
|
</td>
|
46
46
|
<td>
|
47
47
|
<%= n.label :gapped_alignments %>
|
48
48
|
</td>
|
49
49
|
<td>
|
50
|
-
<%= n.select :gapped_alignments, [['
|
50
|
+
<%= n.select :gapped_alignments, [['Yes', true],['No', false]] %>
|
51
51
|
</td>
|
52
52
|
</tr>
|
53
53
|
<tr>
|
@@ -16,7 +16,7 @@
|
|
16
16
|
<%= n.label :filter, "SEG" %>
|
17
17
|
</td>
|
18
18
|
<td>
|
19
|
-
<%= n.
|
19
|
+
<%= n.select :filter, [['Yes', true],['No', false]] %>
|
20
20
|
</td>
|
21
21
|
</tr>
|
22
22
|
<tr>
|
@@ -37,17 +37,17 @@
|
|
37
37
|
</tr>
|
38
38
|
<tr>
|
39
39
|
<td>
|
40
|
-
<%= n.label :
|
40
|
+
<%= n.label :max_target_seqs, "Max target sequences" %>
|
41
41
|
</td>
|
42
42
|
<td>
|
43
|
-
<%= n.text_field :
|
43
|
+
<%= n.text_field :max_target_seqs, :size => 15, :title => "25",
|
44
44
|
:class => "auto-hint" %>
|
45
45
|
</td>
|
46
46
|
<td>
|
47
47
|
<%= n.label :gapped_alignments %>
|
48
48
|
</td>
|
49
49
|
<td>
|
50
|
-
<%= n.select :gapped_alignments, [['
|
50
|
+
<%= n.select :gapped_alignments, [['Yes', true],['No', false]] %>
|
51
51
|
</td>
|
52
52
|
</tr>
|
53
53
|
<tr>
|
@@ -2,19 +2,8 @@
|
|
2
2
|
<script type="text/template" id="detailed_report_template">
|
3
3
|
<h3>Query Accession {{= query }}</h3>
|
4
4
|
{{ _.each(data, function(v) { }}
|
5
|
-
|
6
|
-
|
7
|
-
{{ var midline = v.midline }}
|
8
|
-
{{ var hseq = v.hseq }}
|
9
|
-
{{ var q_from = v.query_from }}
|
10
|
-
{{ var q_to = v.query_to }}
|
11
|
-
{{ var h_from = v.hit_from }}
|
12
|
-
{{ var h_to = v.hit_to }}
|
13
|
-
{{ var qstrand = v.query_frame }}
|
14
|
-
{{ var hstrand = v.hit_frame }}
|
15
|
-
{{ var hsp_group = v.hsp_group }}
|
16
|
-
<div id="{{= id }}">
|
17
|
-
<p class="small">{{= QUORUM.displayHspLinks(id, hsp_group, data) }}</p>
|
5
|
+
<div id="{{= v.id }}">
|
6
|
+
<p class="small">{{= QUORUM.displayHspLinks(v.id, v.hsp_group, data) }}</p>
|
18
7
|
<p class="small">Hit Accession: {{= v.hit_display_id }}</p>
|
19
8
|
<p class="small">Hit Description: {{= v.hit_def }}</p>
|
20
9
|
<table class="report_details">
|
@@ -25,7 +14,7 @@
|
|
25
14
|
</tr>
|
26
15
|
<tr>
|
27
16
|
<td>Alignment Length: {{= v.align_len }}</td>
|
28
|
-
<td>Qstrand / Hstrand: {{= QUORUM.formatStrand(
|
17
|
+
<td>Qstrand / Hstrand: {{= QUORUM.formatStrand(v.query_frame, v.hit_frame) }}</td>
|
29
18
|
<td></td>
|
30
19
|
</tr>
|
31
20
|
<tr>
|
@@ -40,12 +29,12 @@
|
|
40
29
|
</tr>
|
41
30
|
</table>
|
42
31
|
<p class="small">
|
43
|
-
<a id="download_sequence_{{= id }}"
|
44
|
-
onclick="QUORUM.downloadSequence({{= id }}, '{{= algo }}', this)">
|
32
|
+
<a id="download_sequence_{{= v.id }}"
|
33
|
+
onclick="QUORUM.downloadSequence({{= v.id }}, '{{= algo }}', this)">
|
45
34
|
Download Sequence
|
46
35
|
</a>
|
47
36
|
</p>
|
48
|
-
{{= QUORUM.formatSequenceReport(qseq, midline, hseq,
|
37
|
+
{{= QUORUM.formatSequenceReport(v.qseq, v.midline, v.hseq, v.query_from, v.query_to, v.hit_from, v.hit_to, algo) }}
|
49
38
|
</div>
|
50
39
|
<hr />
|
51
40
|
{{ }); }}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class RenameMaxScoreColumn < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
rename_column :quorum_blastn_jobs, :max_score, :max_target_seqs
|
4
|
+
rename_column :quorum_blastp_jobs, :max_score, :max_target_seqs
|
5
|
+
rename_column :quorum_blastx_jobs, :max_score, :max_target_seqs
|
6
|
+
rename_column :quorum_tblastn_jobs, :max_score, :max_target_seqs
|
7
|
+
end
|
8
|
+
|
9
|
+
def down
|
10
|
+
rename_column :quorum_blastn_jobs, :max_target_seqs, :max_score
|
11
|
+
rename_column :quorum_blastp_jobs, :max_target_seqs, :max_score
|
12
|
+
rename_column :quorum_blastx_jobs, :max_target_seqs, :max_score
|
13
|
+
rename_column :quorum_tblastn_jobs, :max_target_seqs, :max_score
|
14
|
+
end
|
15
|
+
end
|