sequenceserver 3.1.2 → 3.2.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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sequenceserver/api_errors.rb +18 -0
  3. data/lib/sequenceserver/blast/hit.rb +1 -2
  4. data/lib/sequenceserver/blast/job.rb +15 -5
  5. data/lib/sequenceserver/blast/report.rb +5 -1
  6. data/lib/sequenceserver/blast/tasks.rb +1 -1
  7. data/lib/sequenceserver/database.rb +5 -1
  8. data/lib/sequenceserver/job.rb +26 -10
  9. data/lib/sequenceserver/makeblastdb.rb +2 -1
  10. data/lib/sequenceserver/routes.rb +38 -13
  11. data/lib/sequenceserver/version.rb +1 -1
  12. data/lib/sequenceserver/zip_file_generator.rb +1 -1
  13. data/lib/sequenceserver.rb +1 -1
  14. data/public/404.html +8 -16
  15. data/public/css/app.css +794 -111
  16. data/public/css/app.min.css +1 -1
  17. data/public/css/sequenceserver.min.css +1 -8
  18. data/public/js/alignment_exporter.js +16 -28
  19. data/public/js/circos.js +103 -96
  20. data/public/{packages/circosJS@1.7.0.js → js/circosjs.js} +156 -778
  21. data/public/js/cloud_share_modal.js +95 -98
  22. data/public/js/collapse_preferences.js +13 -15
  23. data/public/js/databases.js +4 -3
  24. data/public/js/databases_tree.js +51 -30
  25. data/public/js/error_modal.js +35 -22
  26. data/public/js/exporter.js +2 -0
  27. data/public/js/form.js +55 -17
  28. data/public/js/grapher.js +94 -92
  29. data/public/js/hit.js +24 -22
  30. data/public/js/hits.js +283 -0
  31. data/public/js/hits_overview.js +8 -27
  32. data/public/js/hsp.js +140 -144
  33. data/public/js/jquery_world.js +25 -16
  34. data/public/js/kablammo.js +14 -10
  35. data/public/js/length_distribution.js +23 -37
  36. data/public/js/mailto.js +1 -3
  37. data/public/js/null_plugins/report_plugins.js +4 -5
  38. data/public/js/options.js +19 -25
  39. data/public/js/query.js +36 -35
  40. data/public/js/report/alignment_results.js +18 -0
  41. data/public/js/report/graphical_overview.js +38 -0
  42. data/public/js/report/report_header.js +28 -0
  43. data/public/js/report/run_summary.js +43 -0
  44. data/public/js/report.js +124 -348
  45. data/public/js/report_root.js +10 -8
  46. data/public/js/search.js +31 -11
  47. data/public/js/search_button.js +85 -78
  48. data/public/js/sequence.js +169 -180
  49. data/public/js/sequence_modal.js +58 -65
  50. data/public/js/share_url.js +5 -5
  51. data/public/js/sidebar.js +152 -89
  52. data/public/js/svgExporter.js +8 -3
  53. data/public/js/tests/alignment_exporter.spec.js +38 -0
  54. data/public/js/tests/cloud_share_modal.spec.js +75 -0
  55. data/public/js/tests/form.spec.js +1 -1
  56. data/public/js/tests/report.spec.js +37 -15
  57. data/public/js/tests/visualisation_helpers.spec.js +28 -0
  58. data/public/js/visualisation_helpers.js +24 -27
  59. data/public/packages/jquery-ui@1.13.3.js +19070 -0
  60. data/public/sequenceserver-report.min.js +3 -2481
  61. data/public/sequenceserver-report.min.js.LICENSE.txt +213 -0
  62. data/public/sequenceserver-report.min.js.map +1 -0
  63. data/public/sequenceserver-search.min.js +3 -2382
  64. data/public/sequenceserver-search.min.js.LICENSE.txt +262 -0
  65. data/public/sequenceserver-search.min.js.map +1 -0
  66. data/views/error.erb +1 -1
  67. data/views/layout.erb +122 -133
  68. data/views/report.erb +3 -2
  69. data/views/search.erb +10 -14
  70. metadata +21 -28
  71. data/public/config.js +0 -147
  72. data/public/css/fonts.css +0 -31
  73. data/public/css/grapher.css +0 -670
  74. data/public/css/sequenceserver.css +0 -527
  75. data/public/packages/jquery-ui@1.11.4.js +0 -16624
  76. data/public/vendor/github/mbostock/d3@3.5.6/d3.js +0 -9506
  77. data/public/vendor/github/mbostock/d3@3.5.6.js +0 -1
  78. data/views/search_layout.erb +0 -153
data/views/error.erb CHANGED
@@ -1,5 +1,5 @@
1
1
  <div class="container">
2
- <h1>An error has occured</h1>
2
+ <h1>An error has occurred</h1>
3
3
  <h1><%= error_data[:title] %></h1>
4
4
 
5
5
  <p><%= error_data[:message] %></p>
data/views/layout.erb CHANGED
@@ -1,164 +1,153 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
- <meta name="viewport" content="width=device-width, initial-scale=1">
7
3
 
4
+ <head>
8
5
  <title>SequenceServer: Custom BLAST Server</title>
9
- <meta name="author" content="Pragmatic Genomics Ltd">
6
+ <meta name="author" content="Pragmatic Genomics Limited"/>
7
+ <meta charset="UTF-8">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
9
  <meta name="description" content="Custom BLAST server provided by SequenceServer (https://sequenceserver.com)"/>
11
-
12
10
  <%= Rack::Csrf.metatag(env) %>
13
- <!-- CSS -->
14
- <% if settings.production? || settings.test? %>
15
- <link rel="stylesheet" media="screen,print" type="text/css" href="css/sequenceserver.min.css?ver=<%= SequenceServer::VERSION %>"/>
16
- <% else %>
17
- <link rel="stylesheet" media="screen,print" type="text/css" href="css/sequenceserver.css"/>
18
- <% end %>
11
+ <link rel="stylesheet" media="screen,print" type="text/css" href="<%= css_asset_path %>"/>
12
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" integrity="sha512-SnH5WK+bZxgPHs44uWIX+LLJAJ9/2PkPKZ5QiAj6Ta86w+fsb2TkcmfRyVX3pBnMFcV7oQPJkl9QevSCWr3W6A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
19
13
  </head>
20
14
 
21
- <body>
22
- <div
23
- class="navbar">
24
- <div class="container">
25
- <a
26
- class="navbar-brand"
27
- href="https://sequenceserver.com" target="_blank">
28
- <img class="logo" src="sequenceserver_logo.webp" alt="sequenceserver_logo">
29
- <small>
30
- <%= SequenceServer::VERSION %>
31
- </small>
32
- </a>
33
- <ul class="nav navbar-nav navbar-right hover-reset focus-reset">
34
- <li>
35
- <a
36
- href="https://sequenceserver.com/progress-on-BLAST-interface/"
37
- class="update-check"
38
- data-version="<%= SequenceServer::VERSION %>"
39
- target="_blank">
40
- </a>
41
- </li>
42
- <li>
43
- <a
44
- target="_blank"
45
- href="https://sequenceserver.com/support">
46
- <i class="fa fa-comment-o"></i>
47
- &nbsp;Help &amp; Support
15
+ <body class="text-black relative">
16
+ <header id="header" class="border-b border-seqorange print:hidden">
17
+ <div class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
18
+ <div class="flex flex-none items-center">
19
+ <div class="pr-8 md:pr-0 py-4">
20
+ <a href="https://sequenceserver.com" target="_blank" class="flex items-end">
21
+ <img src="<%= asset_path('sequenceserver_logo.webp') %>" alt="SequenceServer logo" width="1620" height="213" class="h-8 w-auto pr-2">
22
+ <span class="text-sm md:text-base">
23
+ <%= SequenceServer::VERSION %>
24
+ </span>
48
25
  </a>
49
- </li>
50
- </ul>
26
+ </div>
27
+
28
+ <div class="flex-grow"></div>
29
+ <ul class="flex space-x-2">
30
+ <li>
31
+ <a
32
+ href="https://sequenceserver.com/progress-on-BLAST-interface/"
33
+ class="underline text-seqblue"
34
+ data-update-check
35
+ data-version="<%= SequenceServer::VERSION %>"
36
+ target="_blank">
37
+ </a>
38
+ </li>
39
+ <li>
40
+ <a
41
+ class="text-seqblue flex items-center text-sm md:text-base hover:text-seqorange"
42
+ target="_blank"
43
+ href="https://sequenceserver.com/support">
44
+
45
+ <i class="fa-regular fa-comment w-4 h-4 mr-1 fill-current"></i>
46
+ Help &amp; Support
47
+ </a>
48
+ </li>
49
+ </ul>
50
+ </div>
51
51
  </div>
52
- </div>
52
+ </header>
53
53
 
54
- <div
55
- class="container">
56
- <noscript>
57
- <div
58
- class="nojs-error">
59
- <h3>SequenceServer can't work without JavaScript.</h3>
60
- <ul>
54
+ <noscript>
55
+ <div class="mx-auto px-4">
56
+ <div class="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative" role="alert">
57
+ <strong class="font-bold">Our website cannot work without JavaScript.</strong>
58
+ <ul class="mt-2 list-disc list-inside">
61
59
  <li>Please see if you can enable JavaScript in your browser's preferences.</li>
62
60
  <li>If your browser doesn't support JavaScript, please consider upgrading to the latest version or using Firefox or Chrome.</li>
63
61
  </ul>
64
62
  </div>
65
- </noscript>
66
- </div>
63
+ </div>
64
+ </noscript>
67
65
 
68
66
  <%= yield %>
69
67
 
70
- <div
71
- class="footer" id="footer">
72
- <hr>
73
- <div
74
- class="container">
75
- <p
76
- class="text-center">
77
- Please cite data sources and <a style='vertical-align: baseline' href="https://doi.org/10.1093/molbev/msz185">the paper</a> describing <a href="https://wurmlab.com">our</a> <a href="https://sequenceserver.com">SequenceServer BLAST interface</a>.
78
- <a style='vertical-align: baseline'
79
- href='https://sequenceserver.com'><em>
80
- <%=
81
- quote = [
82
- "Visualize BLAST results.",
83
- "Run BLAST on local computer.",
84
- "BLAST on Mac.",
85
- "BLAST on Windows.",
86
- "Run blast on mac.",
87
- "Blast analysis software.",
88
- "Sequence Search on local computer.",
89
- "Blast DNA sequence search.",
90
- "Custom BLAST search.",
91
- "Install blast on Mac.",
92
- "Perform BLAST analyses.",
93
- "Custom BLAST web interface.",
94
- "SequenceServer: Local BLAST with bespoke html interface.",
95
- "Set up custom BLAST interface with SequenceServer.",
96
- "Easy BLASTing with SequenceServer.",
97
- "BLAST against a custom, local database with SequenceServer.",
98
- "Cloud BLAST custom genome.",
99
- "NCBI BLAST alternative.",
100
- "BLAST private transcriptome assembly in the Cloud.",
101
- "Cloud server for comparative genomics, oligos, crisp, primers and more."
102
- ][rand(19)]
103
- %>
104
- </em></a>
68
+ <div class="mx-auto px-4">
69
+ <div class="container mx-auto max-w-screen-xl">
70
+ <p class="text-center text-sm print:hidden">
71
+ Please cite data sources and <a class="text-seqblue" href="https://doi.org/10.1093/molbev/msz185">the paper</a> describing <a class="text-seqblue" href="https://wurmlab.com">our</a> <a class="text-seqblue" href="https://sequenceserver.com">SequenceServer BLAST interface</a>.
72
+ <a class="text-seqblue" href='https://sequenceserver.com'>
73
+ <em>
74
+ <%=
75
+ quote = [
76
+ "Visualize BLAST results.",
77
+ "Run BLAST on local computer.",
78
+ "BLAST on Mac.",
79
+ "BLAST on Windows.",
80
+ "Run blast on mac.",
81
+ "Blast analysis software.",
82
+ "Sequence Search on local computer.",
83
+ "Blast DNA sequence search.",
84
+ "Custom BLAST search.",
85
+ "Install blast on Mac.",
86
+ "Perform BLAST analyses.",
87
+ "Custom BLAST web interface.",
88
+ "SequenceServer: Local BLAST with bespoke html interface.",
89
+ "Set up custom BLAST interface with SequenceServer.",
90
+ "Easy BLASTing with SequenceServer.",
91
+ "BLAST against a custom, local database with SequenceServer.",
92
+ "Cloud BLAST custom genome.",
93
+ "NCBI BLAST alternative.",
94
+ "BLAST private transcriptome assembly in the Cloud.",
95
+ "Cloud server for comparative genomics, oligos, crisp, primers and more."
96
+ ].sample
97
+ %>
98
+ </em>
99
+ </a>
105
100
  </p>
106
- <% footer_path = File.join(settings.root, '../website-extras/footer.html.erb') %>
107
- <%= erb :'../../website-extras/footer.html', locals: { path_prefix: root_path_prefix } if File.exist?(footer_path) %>
108
- </div> <!-- /container -->
109
101
  </div>
110
102
 
111
103
  <script>
112
104
  document.addEventListener('DOMContentLoaded', function() {
113
105
 
114
- function suggestNewVersion(element, version) {
115
- element.textContent = `New version v${version} is available`;
116
- console.log(`New SequenceServer version available ${version}. Please consider updating.`)
117
- }
106
+ function suggestNewVersion(element, version) {
107
+ element.textContent = `New version v${version} is available`;
108
+ console.log(`New SequenceServer version available ${version}. Please consider updating.`)
109
+ }
118
110
 
119
- const element = document.querySelector('.update-check');
120
- const currentVersion = element.getAttribute('data-version');
121
- const cachedVersion = document.cookie.split(';').find((item) => item.trim().startsWith('newVersion='));
122
- const upToDate = document.cookie.split(';').find((item) => item.trim().startsWith('versionIsLatest='));
123
- if (upToDate) {
124
- console.log('SequenceServer is up to date');
125
- return;
126
- }
127
- if (cachedVersion) {
128
- const newVersion = cachedVersion.split('=')[1];
129
- if (newVersion !== currentVersion) {
130
- suggestNewVersion(element, newVersion);
131
- }
132
- return;
111
+ const element = document.querySelector('[data-update-check]');
112
+ const currentVersion = element.getAttribute('data-version');
113
+ const cachedVersion = document.cookie.split(';').find((item) => item.trim().startsWith('newVersion='));
114
+ const upToDate = document.cookie.split(';').find((item) => item.trim().startsWith('versionIsLatest='));
115
+ if (upToDate) {
116
+ console.log('SequenceServer is up to date');
117
+ return;
118
+ }
119
+ if (cachedVersion) {
120
+ const newVersion = cachedVersion.split('=')[1];
121
+ if (newVersion !== currentVersion) {
122
+ suggestNewVersion(element, newVersion);
133
123
  }
134
- console.log('Checking for new SequenceServer version...')
135
- fetch(`https://updates.sequenceserver.com/?version=${currentVersion}`)
136
- .then(response => {
137
- if (response.ok) {
138
- return response.json();
139
- } else {
140
- console.error('Failed to check for new SequenceServer version')
141
- }
142
- })
143
- .then(data => {
144
- const date = new Date();
145
- date.setTime(date.getTime() + (24 * 60 * 60 * 1000));
146
- const expires = "; expires=" + date.toUTCString();
124
+ return;
125
+ }
126
+ console.log('Checking for new SequenceServer version...')
127
+ fetch(`https://updates.sequenceserver.com/?version=${currentVersion}`)
128
+ .then(response => {
129
+ if (response.ok) {
130
+ return response.json();
131
+ } else {
132
+ console.error('Failed to check for new SequenceServer version')
133
+ }
134
+ })
135
+ .then(data => {
136
+ const date = new Date();
137
+ date.setTime(date.getTime() + (24 * 60 * 60 * 1000));
138
+ const expires = "; expires=" + date.toUTCString();
147
139
 
148
- if (data.update_available) {
149
- const newVersion = data.new_version;
150
- document.cookie = `newVersion=${newVersion}${expires}; path=/`;
151
- suggestNewVersion(element, newVersion);
152
- } else {
153
- console.log('SequenceServer is up to date');
154
- document.cookie = `versionIsLatest=true${expires}; path=/`;
155
- }
156
- })
157
- .catch(() => {});
140
+ if (data.update_available) {
141
+ const newVersion = data.new_version;
142
+ document.cookie = `newVersion=${newVersion}${expires}; path=/`;
143
+ suggestNewVersion(element, newVersion);
144
+ } else {
145
+ console.log('SequenceServer is up to date');
146
+ document.cookie = `versionIsLatest=true${expires}; path=/`;
147
+ }
148
+ })
149
+ .catch(() => {});
158
150
  });
159
-
160
151
  </script>
161
- <!-- twitter -->
162
- <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
163
152
  </body>
164
153
  </html>
data/views/report.erb CHANGED
@@ -1,5 +1,6 @@
1
1
  <!-- We will initialise React on this div -->
2
- <div id="view"></div>
2
+ <div id="view" class="mb-6 pt-2 container mx-auto max-w-7xl px-4 sm:px-6 lg:px-8"></div>
3
3
 
4
4
  <!-- JS -->
5
- <script src="sequenceserver-report.min.js?ver=<%= SequenceServer::VERSION %>"></script>
5
+ <script src="sequenceserver-report.min.js?ver=<%= SequenceServer::VERSION %>"></script>
6
+ <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.3/themes/base/jquery-ui.css">
data/views/search.erb CHANGED
@@ -8,17 +8,14 @@
8
8
  <script src="sequenceserver-search.min.js?ver=<%= SequenceServer::VERSION %>"></script>
9
9
 
10
10
  <!-- Markup for advanced options modal -->
11
- <div class="hidden fixed z-10 inset-0 overflow-y-auto" aria-labelledby="modal-title" role="dialog" aria-modal="true" data-help-modal>
12
- <div class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0">
13
- <div class="fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity" aria-hidden="true"></div>
14
-
15
- <span class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true">&#8203;</span>
16
-
17
- <div class="inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-screen-md sm:w-full">
18
- <div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 border-b">
19
- <h3 class="text-xl leading-6 font-medium text-gray-900">Advanced Options</h3>
11
+ <div class="relative">
12
+ <dialog class="advanced-modal fixed p-4 w-full max-w-7xl bg-transparent focus:outline-none overflow-visible">
13
+ <div class="relative flex flex-col rounded-lg bg-white shadow">
14
+ <div class="flex items-start justify-between rounded-t border-b p-5">
15
+ <h3 class="text-xl font-medium text-gray-900">
16
+ Options
17
+ </h3>
20
18
  </div>
21
-
22
19
  <div class="overflow-y-scroll max-h-96 bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4">
23
20
  <div id="tblastn">
24
21
  <%= erb :tblastn_options %>
@@ -36,12 +33,11 @@
36
33
  <%= erb :blastp_options %>
37
34
  </div>
38
35
  </div>
39
-
40
36
  <div class="bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse border-t">
41
- <button type="button" class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-seqblue text-base font-medium text-white hover:bg-seqorange focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-seqorange sm:ml-3 sm:w-auto sm:text-sm" onclick="document.querySelector('[data-help-modal]').classList.add('hidden')">
37
+ <button type="button" class="advanced-modal-close w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-seqblue text-xl font-medium text-white hover:bg-seqorange focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-seqorange sm:ml-3 sm:w-auto sm:text-sm">
42
38
  Close
43
39
  </button>
44
40
  </div>
45
41
  </div>
46
- </div>
47
- </div>
42
+ </dialog>
43
+ </div>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequenceserver
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.2
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Queen Mary University of London
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-07-04 00:00:00.000000000 Z
12
+ date: 2026-10-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json_pure
@@ -111,20 +111,14 @@ dependencies:
111
111
  requirements:
112
112
  - - "~>"
113
113
  - !ruby/object:Gem::Version
114
- version: '2.3'
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: 2.3.2
114
+ version: '3.4'
118
115
  type: :runtime
119
116
  prerelease: false
120
117
  version_requirements: !ruby/object:Gem::Requirement
121
118
  requirements:
122
119
  - - "~>"
123
120
  - !ruby/object:Gem::Version
124
- version: '2.3'
125
- - - ">="
126
- - !ruby/object:Gem::Version
127
- version: 2.3.2
121
+ version: '3.4'
128
122
  - !ruby/object:Gem::Dependency
129
123
  name: sinatra
130
124
  requirement: !ruby/object:Gem::Requirement
@@ -293,20 +287,14 @@ dependencies:
293
287
  requirements:
294
288
  - - "~>"
295
289
  - !ruby/object:Gem::Version
296
- version: 4.18.0
297
- - - ">="
298
- - !ruby/object:Gem::Version
299
- version: 4.18.1
290
+ version: 4.35.0
300
291
  type: :development
301
292
  prerelease: false
302
293
  version_requirements: !ruby/object:Gem::Requirement
303
294
  requirements:
304
295
  - - "~>"
305
296
  - !ruby/object:Gem::Version
306
- version: 4.18.0
307
- - - ">="
308
- - !ruby/object:Gem::Version
309
- version: 4.18.1
297
+ version: 4.35.0
310
298
  - !ruby/object:Gem::Dependency
311
299
  name: simplecov
312
300
  requirement: !ruby/object:Gem::Requirement
@@ -371,12 +359,8 @@ files:
371
359
  - lib/sequenceserver/version.rb
372
360
  - lib/sequenceserver/zip_file_generator.rb
373
361
  - public/404.html
374
- - public/config.js
375
362
  - public/css/app.css
376
363
  - public/css/app.min.css
377
- - public/css/fonts.css
378
- - public/css/grapher.css
379
- - public/css/sequenceserver.css
380
364
  - public/css/sequenceserver.min.css
381
365
  - public/fonts/FontAwesome.otf
382
366
  - public/fonts/Source_Sans_Pro_400.eot
@@ -396,6 +380,7 @@ files:
396
380
  - public/fonts/fontawesome-webfont.woff2
397
381
  - public/js/alignment_exporter.js
398
382
  - public/js/circos.js
383
+ - public/js/circosjs.js
399
384
  - public/js/cloud_share_modal.js
400
385
  - public/js/collapse_preferences.js
401
386
  - public/js/databases.js
@@ -408,6 +393,7 @@ files:
408
393
  - public/js/form.js
409
394
  - public/js/grapher.js
410
395
  - public/js/hit.js
396
+ - public/js/hits.js
411
397
  - public/js/hits_overview.js
412
398
  - public/js/hsp.js
413
399
  - public/js/jquery_world.js
@@ -425,6 +411,10 @@ files:
425
411
  - public/js/options.js
426
412
  - public/js/query.js
427
413
  - public/js/report.js
414
+ - public/js/report/alignment_results.js
415
+ - public/js/report/graphical_overview.js
416
+ - public/js/report/report_header.js
417
+ - public/js/report/run_summary.js
428
418
  - public/js/report_root.js
429
419
  - public/js/search.js
430
420
  - public/js/search_button.js
@@ -433,6 +423,8 @@ files:
433
423
  - public/js/share_url.js
434
424
  - public/js/sidebar.js
435
425
  - public/js/svgExporter.js
426
+ - public/js/tests/alignment_exporter.spec.js
427
+ - public/js/tests/cloud_share_modal.spec.js
436
428
  - public/js/tests/database.spec.js
437
429
  - public/js/tests/form.spec.js
438
430
  - public/js/tests/mock_data/databases.json
@@ -443,12 +435,16 @@ files:
443
435
  - public/js/tests/report.spec.js
444
436
  - public/js/tests/search_button.spec.js
445
437
  - public/js/tests/search_query.spec.js
438
+ - public/js/tests/visualisation_helpers.spec.js
446
439
  - public/js/utils.js
447
440
  - public/js/visualisation_helpers.js
448
- - public/packages/circosJS@1.7.0.js
449
- - public/packages/jquery-ui@1.11.4.js
441
+ - public/packages/jquery-ui@1.13.3.js
450
442
  - public/sequenceserver-report.min.js
443
+ - public/sequenceserver-report.min.js.LICENSE.txt
444
+ - public/sequenceserver-report.min.js.map
451
445
  - public/sequenceserver-search.min.js
446
+ - public/sequenceserver-search.min.js.LICENSE.txt
447
+ - public/sequenceserver-search.min.js.map
452
448
  - public/sequenceserver_logo.webp
453
449
  - public/vendor/github/components/jquery@2.1.4.js
454
450
  - public/vendor/github/components/jquery@2.1.4/README.md
@@ -1198,8 +1194,6 @@ files:
1198
1194
  - public/vendor/github/jspm/nodelibs-vm@0.1.0.js
1199
1195
  - public/vendor/github/jspm/nodelibs-vm@0.1.0/index.js
1200
1196
  - public/vendor/github/jspm/nodelibs-vm@0.1.0/package.json
1201
- - public/vendor/github/mbostock/d3@3.5.6.js
1202
- - public/vendor/github/mbostock/d3@3.5.6/d3.js
1203
1197
  - public/vendor/github/nicgirault/circosJs@1.7.0.js
1204
1198
  - public/vendor/github/nicgirault/circosJs@1.7.0/LICENSE.txt
1205
1199
  - public/vendor/github/nicgirault/circosJs@1.7.0/bower.json
@@ -3524,7 +3518,6 @@ files:
3524
3518
  - views/layout.erb
3525
3519
  - views/report.erb
3526
3520
  - views/search.erb
3527
- - views/search_layout.erb
3528
3521
  - views/tblastn_options.erb
3529
3522
  - views/tblastx_options.erb
3530
3523
  homepage: https://sequenceserver.com
@@ -3559,7 +3552,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
3559
3552
  - !ruby/object:Gem::Version
3560
3553
  version: '0'
3561
3554
  requirements: []
3562
- rubygems_version: 3.5.14
3555
+ rubygems_version: 3.5.22
3563
3556
  signing_key:
3564
3557
  specification_version: 4
3565
3558
  summary: BLAST search made easy!
data/public/config.js DELETED
@@ -1,147 +0,0 @@
1
- System.config({
2
- defaultJSExtensions: true,
3
- transpiler: "babel",
4
- babelOptions: {
5
- "optional": [
6
- "runtime",
7
- "optimisation.modules.system"
8
- ],
9
- "blacklist": [
10
- "strict"
11
- ]
12
- },
13
- paths: {
14
- "github:*": "vendor/github/*",
15
- "npm:*": "vendor/npm/*"
16
- },
17
-
18
- map: {
19
- "babel": "npm:babel-core@5.8.23",
20
- "babel-runtime": "npm:babel-runtime@5.8.20",
21
- "bootstrap": "github:twbs/bootstrap@3.3.5",
22
- "core-js": "npm:core-js@1.1.2",
23
- "d3": "github:mbostock/d3@3.5.6",
24
- "font-awesome": "npm:font-awesome@4.4.0",
25
- "jquery": "github:components/jquery@2.1.4",
26
- "jquery-ui": "github:components/jqueryui@1.11.4",
27
- "nicgirault/circosJs": "github:nicgirault/circosJs@1.7.0",
28
- "react": "npm:react@18.0.0",
29
- "react-dom": "npm:react-dom@18.0.0",
30
- "underscore": "npm:underscore@1.8.3",
31
- "vakata/jstree": "github:vakata/jstree@3.3.8",
32
- "github:components/jqueryui@1.11.4": {
33
- "jquery": "github:components/jquery@2.1.4"
34
- },
35
- "github:jspm/nodelibs-assert@0.1.0": {
36
- "assert": "npm:assert@1.5.0"
37
- },
38
- "github:jspm/nodelibs-buffer@0.1.1": {
39
- "buffer": "npm:buffer@5.7.1"
40
- },
41
- "github:jspm/nodelibs-events@0.1.1": {
42
- "events": "npm:events@1.0.2"
43
- },
44
- "github:jspm/nodelibs-path@0.1.0": {
45
- "path-browserify": "npm:path-browserify@0.0.0"
46
- },
47
- "github:jspm/nodelibs-process@0.1.2": {
48
- "process": "npm:process@0.11.10"
49
- },
50
- "github:jspm/nodelibs-stream@0.1.0": {
51
- "stream-browserify": "npm:stream-browserify@1.0.0"
52
- },
53
- "github:jspm/nodelibs-util@0.1.0": {
54
- "util": "npm:util@0.10.3"
55
- },
56
- "github:jspm/nodelibs-vm@0.1.0": {
57
- "vm-browserify": "npm:vm-browserify@0.0.4"
58
- },
59
- "github:twbs/bootstrap@3.3.5": {
60
- "jquery": "github:components/jquery@2.1.4"
61
- },
62
- "npm:assert@1.5.0": {
63
- "assert": "github:jspm/nodelibs-assert@0.1.0",
64
- "buffer": "github:jspm/nodelibs-buffer@0.1.1",
65
- "object-assign": "npm:object-assign@4.1.1",
66
- "process": "github:jspm/nodelibs-process@0.1.2",
67
- "util": "npm:util@0.10.3"
68
- },
69
- "npm:babel-runtime@5.8.20": {
70
- "process": "github:jspm/nodelibs-process@0.1.2"
71
- },
72
- "npm:buffer@5.7.1": {
73
- "base64-js": "npm:base64-js@1.5.1",
74
- "ieee754": "npm:ieee754@1.2.1"
75
- },
76
- "npm:core-js@1.1.2": {
77
- "fs": "github:jspm/nodelibs-fs@0.1.2",
78
- "process": "github:jspm/nodelibs-process@0.1.2",
79
- "systemjs-json": "github:systemjs/plugin-json@0.1.0"
80
- },
81
- "npm:core-util-is@1.0.3": {
82
- "buffer": "github:jspm/nodelibs-buffer@0.1.1"
83
- },
84
- "npm:font-awesome@4.4.0": {
85
- "css": "github:systemjs/plugin-css@0.1.15"
86
- },
87
- "npm:inherits@2.0.1": {
88
- "util": "github:jspm/nodelibs-util@0.1.0"
89
- },
90
- "npm:loose-envify@1.4.0": {
91
- "fs": "github:jspm/nodelibs-fs@0.1.2",
92
- "js-tokens": "npm:js-tokens@4.0.0",
93
- "process": "github:jspm/nodelibs-process@0.1.2",
94
- "stream": "github:jspm/nodelibs-stream@0.1.0",
95
- "util": "github:jspm/nodelibs-util@0.1.0"
96
- },
97
- "npm:path-browserify@0.0.0": {
98
- "process": "github:jspm/nodelibs-process@0.1.2"
99
- },
100
- "npm:process@0.11.10": {
101
- "assert": "github:jspm/nodelibs-assert@0.1.0",
102
- "fs": "github:jspm/nodelibs-fs@0.1.2",
103
- "vm": "github:jspm/nodelibs-vm@0.1.0"
104
- },
105
- "npm:react-dom@18.0.0": {
106
- "buffer": "github:jspm/nodelibs-buffer@0.1.1",
107
- "loose-envify": "npm:loose-envify@1.4.0",
108
- "process": "github:jspm/nodelibs-process@0.1.2",
109
- "react": "npm:react@18.0.0",
110
- "scheduler": "npm:scheduler@0.21.0",
111
- "stream": "github:jspm/nodelibs-stream@0.1.0"
112
- },
113
- "npm:react@18.0.0": {
114
- "loose-envify": "npm:loose-envify@1.4.0",
115
- "process": "github:jspm/nodelibs-process@0.1.2"
116
- },
117
- "npm:readable-stream@1.1.14": {
118
- "buffer": "github:jspm/nodelibs-buffer@0.1.1",
119
- "core-util-is": "npm:core-util-is@1.0.3",
120
- "events": "github:jspm/nodelibs-events@0.1.1",
121
- "inherits": "npm:inherits@2.0.1",
122
- "isarray": "npm:isarray@0.0.1",
123
- "process": "github:jspm/nodelibs-process@0.1.2",
124
- "stream-browserify": "npm:stream-browserify@1.0.0",
125
- "string_decoder": "npm:string_decoder@0.10.31"
126
- },
127
- "npm:scheduler@0.21.0": {
128
- "loose-envify": "npm:loose-envify@1.4.0",
129
- "process": "github:jspm/nodelibs-process@0.1.2"
130
- },
131
- "npm:stream-browserify@1.0.0": {
132
- "events": "github:jspm/nodelibs-events@0.1.1",
133
- "inherits": "npm:inherits@2.0.1",
134
- "readable-stream": "npm:readable-stream@1.1.14"
135
- },
136
- "npm:string_decoder@0.10.31": {
137
- "buffer": "github:jspm/nodelibs-buffer@0.1.1"
138
- },
139
- "npm:util@0.10.3": {
140
- "inherits": "npm:inherits@2.0.1",
141
- "process": "github:jspm/nodelibs-process@0.1.2"
142
- },
143
- "npm:vm-browserify@0.0.4": {
144
- "indexof": "npm:indexof@0.0.1"
145
- }
146
- }
147
- });