sequenceserver 2.0.0.beta4 → 2.0.0.rc5

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 (119) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/.travis.yml +7 -4
  4. data/AppImage/sequenceserver.sh +5 -0
  5. data/Dockerfile +14 -12
  6. data/bin/sequenceserver +37 -28
  7. data/lib/sequenceserver.rb +35 -7
  8. data/lib/sequenceserver/blast/job.rb +18 -25
  9. data/lib/sequenceserver/blast/report.rb +68 -34
  10. data/lib/sequenceserver/config.rb +1 -1
  11. data/lib/sequenceserver/database.rb +0 -129
  12. data/lib/sequenceserver/makeblastdb.rb +243 -0
  13. data/lib/sequenceserver/routes.rb +28 -2
  14. data/lib/sequenceserver/version.rb +1 -1
  15. data/public/SequenceServer_logo.png +0 -0
  16. data/public/css/grapher.css +8 -15
  17. data/public/css/sequenceserver.css +119 -55
  18. data/public/css/sequenceserver.min.css +3 -3
  19. data/public/js/circos.js +1 -1
  20. data/public/js/download_fasta.js +17 -0
  21. data/public/js/grapher.js +7 -9
  22. data/public/js/hit.js +217 -0
  23. data/public/js/hits_overview.js +12 -13
  24. data/public/js/hsp.js +104 -84
  25. data/public/js/{sequenceserver.js → jquery_world.js} +1 -18
  26. data/public/js/kablammo.js +337 -334
  27. data/public/js/length_distribution.js +1 -1
  28. data/public/js/query.js +147 -0
  29. data/public/js/report.js +216 -836
  30. data/public/js/search.js +194 -192
  31. data/public/js/sequence_modal.js +167 -0
  32. data/public/js/sidebar.js +210 -0
  33. data/public/js/utils.js +2 -19
  34. data/public/js/visualisation_helpers.js +2 -2
  35. data/public/sequenceserver-report.min.js +19 -19
  36. data/public/sequenceserver-search.min.js +11 -11
  37. data/public/vendor/github/twbs/bootstrap@3.3.5/js/bootstrap.js +2 -2
  38. data/spec/blast_versions/blast_2.2.30/import_spec_capybara_local_2.2.30.rb +15 -15
  39. data/spec/blast_versions/blast_2.2.31/import_spec_capybara_local_2.2.31.rb +15 -15
  40. data/spec/blast_versions/blast_2.3.0/import_spec_capybara_local_2.3.0.rb +15 -15
  41. data/spec/blast_versions/blast_2.4.0/import_spec_capybara_local_2.4.0.rb +15 -15
  42. data/spec/blast_versions/blast_2.5.0/import_spec_capybara_local_2.5.0.rb +15 -15
  43. data/spec/blast_versions/blast_2.6.0/import_spec_capybara_local_2.6.0.rb +15 -15
  44. data/spec/blast_versions/blast_2.7.1/import_spec_capybara_local_2.7.1.rb +15 -15
  45. data/spec/blast_versions/blast_2.8.1/import_spec_capybara_local_2.8.1.rb +15 -15
  46. data/spec/blast_versions/blast_2.9.0/import_spec_capybara_local_2.9.0.rb +15 -15
  47. data/spec/blast_versions/diamond_0.9.24/import_spec_capybara_local_0.9.24.rb +6 -6
  48. data/spec/capybara_spec.rb +14 -3
  49. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.ndb +0 -0
  50. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhr +0 -0
  51. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nin +0 -0
  52. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nos +0 -0
  53. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.not +0 -0
  54. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.ntf +0 -0
  55. data/spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nto +0 -0
  56. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pdb +0 -0
  57. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phr +0 -0
  58. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pin +0 -0
  59. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pos +0 -0
  60. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pot +0 -0
  61. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.ptf +0 -0
  62. data/spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pto +0 -0
  63. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pdb +0 -0
  64. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phr +0 -0
  65. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pin +0 -0
  66. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pos +0 -0
  67. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pot +0 -0
  68. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.ptf +0 -0
  69. data/spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pto +0 -0
  70. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.ndb +0 -0
  71. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhr +0 -0
  72. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nin +0 -0
  73. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nos +0 -0
  74. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.not +0 -0
  75. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsq +0 -0
  76. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.ntf +0 -0
  77. data/spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nto +0 -0
  78. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhd +8 -0
  79. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhi +0 -0
  80. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhr +0 -0
  81. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nin +0 -0
  82. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nog +0 -0
  83. data/spec/database/{sample → v4}/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsd +0 -0
  84. data/spec/database/{sample → v4}/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsi +0 -0
  85. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsq +0 -0
  86. data/spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.txt +8 -0
  87. data/spec/database/v4/links.rb +23 -0
  88. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta +6449 -0
  89. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phd +1189 -0
  90. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phi +0 -0
  91. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phr +0 -0
  92. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pin +0 -0
  93. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pog +0 -0
  94. data/spec/database/{sample → v4}/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psd +0 -0
  95. data/spec/database/{sample → v4}/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psi +0 -0
  96. data/spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psq +0 -0
  97. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phd +9140 -0
  98. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phi +0 -0
  99. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phr +0 -0
  100. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pin +0 -0
  101. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pog +0 -0
  102. data/spec/database/{sample → v4}/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psd +0 -0
  103. data/spec/database/{sample → v4}/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psi +0 -0
  104. data/spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psq +0 -0
  105. data/spec/database/v4/proteins/uniprot/URL +1 -0
  106. data/spec/database/v4/si_uniprot_idmap.yml +14180 -0
  107. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta +5486 -0
  108. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhd +473 -0
  109. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhi +0 -0
  110. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhr +0 -0
  111. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nin +0 -0
  112. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nog +0 -0
  113. data/spec/database/{sample → v4}/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsd +0 -0
  114. data/spec/database/{sample → v4}/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsi +0 -0
  115. data/spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsq +0 -0
  116. data/spec/database_spec.rb +0 -76
  117. data/spec/makeblastdb_spec.rb +121 -0
  118. data/views/layout.erb +5 -1
  119. metadata +75 -15
@@ -16,44 +16,6 @@ module SequenceServer
16
16
  File.join(database_dir, 'sample')
17
17
  end
18
18
 
19
- let 'database_dir_unformatted' do
20
- File.join(database_dir, 'unformatted')
21
- end
22
-
23
- let 'fasta_file_prot_seqs' do
24
- File.join(database_dir_sample, 'proteins', 'Solenopsis_invicta',
25
- 'Sinvicta2-2-3.prot.subset.fasta')
26
- end
27
-
28
- let 'fasta_file_nucl_seqs' do
29
- File.join(database_dir_sample, 'transcripts', 'Solenopsis_invicta',
30
- 'Sinvicta2-2-3.cdna.subset.fasta')
31
- end
32
-
33
- let 'text_file' do
34
- File.join(database_dir_sample, 'links.rb')
35
- end
36
-
37
- let 'binary_file' do
38
- File.join(database_dir_sample, 'proteins', 'Solenopsis_invicta',
39
- 'Sinvicta2-2-3.prot.subset.fasta.phr')
40
- end
41
-
42
- let 'data_for_makeblastdb' do
43
- [
44
- File.join(database_dir_unformatted, 'Cardiocondyla_obscurior',
45
- 'Cobs1.4.proteins.fa'),
46
- :protein,
47
- 'Cobs 1.4 proteins',
48
- true
49
- ]
50
- end
51
-
52
- let 'makeblastdb_result_pattern' do
53
- File.join(database_dir_unformatted, 'Cardiocondyla_obscurior',
54
- 'Cobs1.4.proteins.fa.*')
55
- end
56
-
57
19
  before do
58
20
  SequenceServer.init
59
21
  end
@@ -64,20 +26,6 @@ module SequenceServer
64
26
  Database.clear
65
27
  end
66
28
 
67
- it 'can tell FASTA file' do
68
- Database.probably_fasta?(text_file).should be_falsey
69
- Database.probably_fasta?(binary_file).should be_falsey
70
- Database.probably_fasta?(fasta_file_prot_seqs).should be_truthy
71
- Database.probably_fasta?(fasta_file_nucl_seqs).should be_truthy
72
- end
73
-
74
- it 'can tell type of sequences in FASTA file' do
75
- Database.guess_sequence_type_in_fasta(fasta_file_prot_seqs)
76
- .should eq :protein
77
- Database.guess_sequence_type_in_fasta(fasta_file_nucl_seqs)
78
- .should eq :nucleotide
79
- end
80
-
81
29
  it 'can tell NCBI multipart database name' do
82
30
  sample_name1 = '/home/ben/pd.ben/sequenceserver/db/nr'
83
31
  sample_name2 = '/home/ben/pd.ben/sequenceserver/db/nr.00'
@@ -87,30 +35,6 @@ module SequenceServer
87
35
  Database.multipart_database_name?(sample_name3).should be_truthy
88
36
  end
89
37
 
90
- it 'can tell FASTA files that are yet to be made into a BLAST+ database' do
91
- SequenceServer.config[:database_dir] = database_dir_unformatted
92
- # rubocop:disable Style/RescueModifier
93
- Database.scan_databases_dir rescue NO_BLAST_DATABASE_FOUND
94
- # rubocop:enable Style/RescueModifier
95
- Database.unformatted_fastas.should_not be_empty
96
- end
97
-
98
- # it 'can make BLAST+ database from a FASTA file' do
99
- # Database._make_blast_database(*data_for_makeblastdb).should be_truthy
100
- # system "rm #{makeblastdb_result_pattern}"
101
- # end
102
-
103
- it 'can make intelligent database name suggestions' do
104
- db_name_pairs = [['Si_gnf.fasta', 'Si gnf'],
105
- ['Aech.3.8.cds.fasta', 'Aech 3.8 cds'],
106
- ['Cobs1.4.proteins.fasta', 'Cobs 1.4 proteins'],
107
- ['S_inv.x.small.2.5.nucl.fa', 'S inv x small 2.5 nucl'],
108
- ['Sinvicta2-2-3.prot.fasta', 'Sinvicta 2-2-3 prot']]
109
- db_name_pairs.each do |db|
110
- Database.make_db_title(db[0]).should eql(db[1])
111
- end
112
- end
113
-
114
38
  let 'solenopsis_protein_database' do
115
39
  path = 'spec/database/sample/proteins/Solenopsis_invicta/'\
116
40
  'Sinvicta2-2-3.prot.subset.fasta'
@@ -0,0 +1,121 @@
1
+ require 'spec_helper'
2
+ require 'sequenceserver/database'
3
+
4
+ # Test Database class.
5
+ module SequenceServer
6
+ describe 'Database' do
7
+ let 'root' do
8
+ __dir__
9
+ end
10
+
11
+ let 'makeblastdb' do
12
+ SequenceServer.makeblastdb
13
+ end
14
+
15
+ let 'database_dir' do
16
+ File.join(root, 'database')
17
+ end
18
+
19
+ let 'database_dir_sample' do
20
+ File.join(database_dir, 'sample')
21
+ end
22
+
23
+ let 'database_dir_v4' do
24
+ File.join(database_dir, 'v4')
25
+ end
26
+
27
+ let 'database_dir_unformatted' do
28
+ File.join(database_dir, 'unformatted')
29
+ end
30
+
31
+ let 'database_dir_without_parse_seqids' do
32
+ File.join(database_dir, 'without_parse_seqids')
33
+ end
34
+
35
+ let 'fasta_file_prot_seqs' do
36
+ File.join(database_dir_sample, 'proteins', 'Solenopsis_invicta',
37
+ 'Sinvicta2-2-3.prot.subset.fasta')
38
+ end
39
+
40
+ let 'fasta_file_nucl_seqs' do
41
+ File.join(database_dir_sample, 'transcripts', 'Solenopsis_invicta',
42
+ 'Sinvicta2-2-3.cdna.subset.fasta')
43
+ end
44
+
45
+ let 'text_file' do
46
+ File.join(database_dir_sample, 'links.rb')
47
+ end
48
+
49
+ let 'binary_file' do
50
+ File.join(database_dir_sample, 'proteins', 'Solenopsis_invicta',
51
+ 'Sinvicta2-2-3.prot.subset.fasta.phr')
52
+ end
53
+
54
+ let 'data_for_makeblastdb' do
55
+ [
56
+ File.join(database_dir_unformatted, 'Cardiocondyla_obscurior',
57
+ 'Cobs1.4.proteins.fa'),
58
+ :protein,
59
+ 'Cobs 1.4 proteins',
60
+ true
61
+ ]
62
+ end
63
+
64
+ let 'makeblastdb_result_pattern' do
65
+ File.join(database_dir_unformatted, 'Cardiocondyla_obscurior',
66
+ 'Cobs1.4.proteins.fa.*')
67
+ end
68
+
69
+ before do
70
+ SequenceServer.init
71
+ end
72
+
73
+ it 'can tell FASTA file' do
74
+ makeblastdb.send(:probably_fasta?, text_file).should be_falsey
75
+ makeblastdb.send(:probably_fasta?, binary_file).should be_falsey
76
+ makeblastdb.send(:probably_fasta?, fasta_file_prot_seqs).should be_truthy
77
+ makeblastdb.send(:probably_fasta?, fasta_file_nucl_seqs).should be_truthy
78
+ end
79
+
80
+ it 'can tell type of sequences in FASTA file' do
81
+ makeblastdb.send(:guess_sequence_type_in_fasta, fasta_file_prot_seqs).should eq :protein
82
+ makeblastdb.send(:guess_sequence_type_in_fasta, fasta_file_nucl_seqs).should eq :nucleotide
83
+ end
84
+
85
+ it 'can tell FASTA files that are yet to be made into a BLAST+ database' do
86
+ makeblastdb.instance_variable_set(:@database_dir, database_dir_unformatted)
87
+ makeblastdb.scan.should be_truthy
88
+ end
89
+
90
+ it 'can tell databases that require reformatting' do
91
+ # Control: shouldn't report sample v5 databases created using -parse_seqids
92
+ # as requiring reformatting.
93
+ makeblastdb.instance_variable_set(:@database_dir, database_dir_sample)
94
+ makeblastdb.scan.should be_falsey
95
+
96
+ # v4 databases require reformatting.
97
+ makeblastdb.instance_variable_set(:@database_dir, database_dir_v4)
98
+ makeblastdb.scan.should be_truthy
99
+
100
+ # non -parse_seqids databases require reformatting.
101
+ makeblastdb.instance_variable_set(:@database_dir, database_dir_without_parse_seqids)
102
+ makeblastdb.scan.should be_truthy
103
+ end
104
+
105
+ # it 'can make BLAST+ database from a FASTA file' do
106
+ # Database._make_blast_database(*data_for_makeblastdb).should be_truthy
107
+ # system "rm #{makeblastdb_result_pattern}"
108
+ # end
109
+
110
+ it 'can make intelligent database name suggestions' do
111
+ db_name_pairs = [['Si_gnf.fasta', 'Si gnf'],
112
+ ['Aech.3.8.cds.fasta', 'Aech 3.8 cds'],
113
+ ['Cobs1.4.proteins.fasta', 'Cobs 1.4 proteins'],
114
+ ['S_inv.x.small.2.5.nucl.fa', 'S inv x small 2.5 nucl'],
115
+ ['Sinvicta2-2-3.prot.fasta', 'Sinvicta 2-2-3 prot']]
116
+ db_name_pairs.each do |db|
117
+ makeblastdb.send(:make_db_title, db[0]).should eql(db[1])
118
+ end
119
+ end
120
+ end
121
+ end
@@ -29,7 +29,7 @@
29
29
  <a
30
30
  class="navbar-brand"
31
31
  href="http://sequenceserver.com" target="_blank">
32
- SequenceServer
32
+ <img class="logo" src="SequenceServer_logo.png" alt="sequenceserver_logo">
33
33
  <small>
34
34
  <%= SequenceServer::VERSION %>
35
35
  </small>
@@ -74,6 +74,10 @@
74
74
  href='http://www.sequenceserver.com'>
75
75
  <%=
76
76
  quote = [
77
+ "Run BLAST on local computer.",
78
+ "Custom BLAST search.",
79
+ "Install blast on Mac.",
80
+ "Perform BLAST analyses with SequenceServer.",
77
81
  "Custom BLAST web interface by SequenceServer.",
78
82
  "SequenceServer: Local BLAST with bespoke html interface.",
79
83
  "Set up custom BLAST interface with SequenceServer.",
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequenceserver
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta4
4
+ version: 2.0.0.rc5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anurag Priyam
8
8
  - Ben J Woodcroft
9
9
  - Vivek Rai
10
10
  - Yannick Wurm
11
- autorequire:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2019-12-13 00:00:00.000000000 Z
14
+ date: 2020-06-23 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: json_pure
@@ -247,6 +247,7 @@ files:
247
247
  - ".bootstrap/config.json"
248
248
  - ".codeclimate.yml"
249
249
  - ".csslintrc"
250
+ - ".dockerignore"
250
251
  - ".eslintignore"
251
252
  - ".eslintrc.json"
252
253
  - ".gitignore"
@@ -284,6 +285,7 @@ files:
284
285
  - lib/sequenceserver/job_remover.rb
285
286
  - lib/sequenceserver/links.rb
286
287
  - lib/sequenceserver/logger.rb
288
+ - lib/sequenceserver/makeblastdb.rb
287
289
  - lib/sequenceserver/pool.rb
288
290
  - lib/sequenceserver/report.rb
289
291
  - lib/sequenceserver/routes.rb
@@ -292,6 +294,7 @@ files:
292
294
  - lib/sequenceserver/sys.rb
293
295
  - lib/sequenceserver/version.rb
294
296
  - package.json
297
+ - public/SequenceServer_logo.png
295
298
  - public/config.js
296
299
  - public/css/fonts.css
297
300
  - public/css/grapher.css
@@ -315,18 +318,23 @@ files:
315
318
  - public/fonts/fontawesome-webfont.woff2
316
319
  - public/js/alignment_exporter.js
317
320
  - public/js/circos.js
321
+ - public/js/download_fasta.js
318
322
  - public/js/error_modal.js
319
323
  - public/js/exporter.js
320
324
  - public/js/grapher.js
325
+ - public/js/hit.js
321
326
  - public/js/hits_overview.js
322
327
  - public/js/hsp.js
328
+ - public/js/jquery_world.js
323
329
  - public/js/kablammo.js
324
330
  - public/js/kablammo/alignment_viewer.js
325
331
  - public/js/length_distribution.js
332
+ - public/js/query.js
326
333
  - public/js/report.js
327
334
  - public/js/search.js
328
335
  - public/js/sequence.js
329
- - public/js/sequenceserver.js
336
+ - public/js/sequence_modal.js
337
+ - public/js/sidebar.js
330
338
  - public/js/svgExporter.js
331
339
  - public/js/utils.js
332
340
  - public/js/visualisation_helpers.js
@@ -3772,45 +3780,95 @@ files:
3772
3780
  - spec/database/pipe_in_seqid/pipe_in_seqid.fa.nsd
3773
3781
  - spec/database/pipe_in_seqid/pipe_in_seqid.fa.nsi
3774
3782
  - spec/database/pipe_in_seqid/pipe_in_seqid.fa.nsq
3783
+ - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.ndb
3775
3784
  - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhd
3776
3785
  - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhi
3777
3786
  - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhr
3778
3787
  - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nin
3779
3788
  - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nog
3780
- - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsd
3781
- - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsi
3789
+ - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nos
3790
+ - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.not
3782
3791
  - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsq
3792
+ - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.ntf
3793
+ - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nto
3783
3794
  - spec/database/sample/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.txt
3784
3795
  - spec/database/sample/links.rb
3785
3796
  - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta
3797
+ - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pdb
3786
3798
  - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phd
3787
3799
  - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phi
3788
3800
  - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phr
3789
3801
  - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pin
3790
3802
  - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pog
3791
- - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psd
3792
- - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psi
3803
+ - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pos
3804
+ - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pot
3793
3805
  - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psq
3806
+ - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.ptf
3807
+ - spec/database/sample/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pto
3808
+ - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pdb
3794
3809
  - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phd
3795
3810
  - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phi
3796
3811
  - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phr
3797
3812
  - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pin
3798
3813
  - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pog
3799
- - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psd
3800
- - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psi
3814
+ - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pos
3815
+ - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pot
3801
3816
  - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psq
3817
+ - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.ptf
3818
+ - spec/database/sample/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pto
3802
3819
  - spec/database/sample/proteins/uniprot/URL
3803
3820
  - spec/database/sample/si_uniprot_idmap.yml
3804
3821
  - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta
3822
+ - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.ndb
3805
3823
  - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhd
3806
3824
  - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhi
3807
3825
  - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhr
3808
3826
  - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nin
3809
3827
  - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nog
3810
- - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsd
3811
- - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsi
3828
+ - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nos
3829
+ - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.not
3812
3830
  - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsq
3831
+ - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.ntf
3832
+ - spec/database/sample/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nto
3813
3833
  - spec/database/unformatted/Cardiocondyla_obscurior/Cobs1.4.proteins.fa
3834
+ - spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhd
3835
+ - spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhi
3836
+ - spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nhr
3837
+ - spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nin
3838
+ - spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nog
3839
+ - spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsd
3840
+ - spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsi
3841
+ - spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.fasta.nsq
3842
+ - spec/database/v4/genome/Solenopsis_invicta/Solenopsis_invicta_gnG_subset.txt
3843
+ - spec/database/v4/links.rb
3844
+ - spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta
3845
+ - spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phd
3846
+ - spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phi
3847
+ - spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.phr
3848
+ - spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pin
3849
+ - spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.pog
3850
+ - spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psd
3851
+ - spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psi
3852
+ - spec/database/v4/proteins/Solenopsis_invicta/Sinvicta2-2-3.prot.subset.fasta.psq
3853
+ - spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phd
3854
+ - spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phi
3855
+ - spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.phr
3856
+ - spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pin
3857
+ - spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.pog
3858
+ - spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psd
3859
+ - spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psi
3860
+ - spec/database/v4/proteins/uniprot/2018-04-Swiss-Prot_insecta.fasta.psq
3861
+ - spec/database/v4/proteins/uniprot/URL
3862
+ - spec/database/v4/si_uniprot_idmap.yml
3863
+ - spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta
3864
+ - spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhd
3865
+ - spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhi
3866
+ - spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nhr
3867
+ - spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nin
3868
+ - spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nog
3869
+ - spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsd
3870
+ - spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsi
3871
+ - spec/database/v4/transcripts/Solenopsis_invicta/Sinvicta2-2-3.cdna.subset.fasta.nsq
3814
3872
  - spec/database/without_parse_seqids/without_parse_seqids.fa
3815
3873
  - spec/database/without_parse_seqids/without_parse_seqids.fa.phr
3816
3874
  - spec/database/without_parse_seqids/without_parse_seqids.fa.pin
@@ -3937,6 +3995,7 @@ files:
3937
3995
  - spec/dotdir/diamond_0.9.24/blastx_nohits/job.yaml
3938
3996
  - spec/download_helper.rb
3939
3997
  - spec/empty_config.yml
3998
+ - spec/makeblastdb_spec.rb
3940
3999
  - spec/routes_spec.rb
3941
4000
  - spec/sample.conf
3942
4001
  - spec/sequence_spec.rb
@@ -4016,9 +4075,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
4016
4075
  - !ruby/object:Gem::Version
4017
4076
  version: 1.3.1
4018
4077
  requirements: []
4019
- rubyforge_project:
4020
- rubygems_version: 2.5.2.3
4021
- signing_key:
4078
+ rubyforge_project:
4079
+ rubygems_version: 2.7.6.2
4080
+ signing_key:
4022
4081
  specification_version: 4
4023
4082
  summary: BLAST search made easy!
4024
4083
  test_files: []
4084
+ ...