sequenceserver 2.0.0.rc8 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/bin/sequenceserver +22 -30
  3. data/lib/sequenceserver/api_errors.rb +5 -1
  4. data/lib/sequenceserver/blast/constants.rb +1 -1
  5. data/lib/sequenceserver/blast/hit.rb +5 -16
  6. data/lib/sequenceserver/blast/job.rb +9 -18
  7. data/lib/sequenceserver/blast/report.rb +5 -3
  8. data/lib/sequenceserver/config.rb +4 -1
  9. data/lib/sequenceserver/database.rb +69 -9
  10. data/lib/sequenceserver/job.rb +1 -1
  11. data/lib/sequenceserver/makeblastdb.rb +40 -45
  12. data/lib/sequenceserver/routes.rb +4 -0
  13. data/lib/sequenceserver/version.rb +1 -1
  14. data/lib/sequenceserver.rb +15 -11
  15. data/public/config.js +143 -142
  16. data/public/css/fonts.css +23 -22
  17. data/public/css/grapher.css +598 -594
  18. data/public/css/sequenceserver.css +86 -24
  19. data/public/css/sequenceserver.min.css +2 -2
  20. data/public/js/alignment_exporter.js +14 -14
  21. data/public/js/databases_tree.js +215 -0
  22. data/public/js/download_fasta.js +1 -1
  23. data/public/js/hit.js +6 -2
  24. data/public/js/hits_overview.js +1 -1
  25. data/public/js/length_distribution.js +5 -5
  26. data/public/js/query.js +4 -7
  27. data/public/js/report.js +12 -24
  28. data/public/js/search.js +21 -2
  29. data/public/js/sidebar.js +4 -4
  30. data/public/js/svgExporter.js +12 -12
  31. data/public/js/visualisation_helpers.js +4 -5
  32. data/public/sequenceserver-report.min.js +11 -11
  33. data/public/sequenceserver-search.min.js +15 -11
  34. data/public/vendor/github/vakata/jstree@3.3.8/LICENSE-MIT +22 -0
  35. data/public/vendor/github/vakata/jstree@3.3.8/README.md +663 -0
  36. data/public/vendor/github/vakata/jstree@3.3.8/bower.json +33 -0
  37. data/public/vendor/github/vakata/jstree@3.3.8/component.json +28 -0
  38. data/public/vendor/github/vakata/jstree@3.3.8/composer.json +46 -0
  39. data/public/vendor/github/vakata/jstree@3.3.8/demo/README.md +2 -0
  40. data/public/vendor/github/vakata/jstree@3.3.8/demo/basic/index.html +146 -0
  41. data/public/vendor/github/vakata/jstree@3.3.8/demo/basic/root.json +1 -0
  42. data/public/vendor/github/vakata/jstree@3.3.8/dist/jstree.js +8612 -0
  43. data/public/vendor/github/vakata/jstree@3.3.8/dist/jstree.min.js +6 -0
  44. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/32px.png +0 -0
  45. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/40px.png +0 -0
  46. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/style.css +1102 -0
  47. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/style.min.css +1 -0
  48. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default/throbber.gif +0 -0
  49. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/32px.png +0 -0
  50. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/40px.png +0 -0
  51. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/style.css +1146 -0
  52. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/style.min.css +1 -0
  53. data/public/vendor/github/vakata/jstree@3.3.8/dist/themes/default-dark/throbber.gif +0 -0
  54. data/public/vendor/github/vakata/jstree@3.3.8/gruntfile.js +242 -0
  55. data/public/vendor/github/vakata/jstree@3.3.8/jstree.jquery.json +28 -0
  56. data/public/vendor/github/vakata/jstree@3.3.8/package.json +58 -0
  57. data/public/vendor/github/vakata/jstree@3.3.8/src/intro.js +14 -0
  58. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.changed.js +69 -0
  59. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.checkbox.js +976 -0
  60. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.conditionalselect.js +38 -0
  61. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.contextmenu.js +661 -0
  62. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.dnd.js +669 -0
  63. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.js +4931 -0
  64. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.massload.js +137 -0
  65. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.search.js +421 -0
  66. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.sort.js +74 -0
  67. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.state.js +138 -0
  68. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.types.js +372 -0
  69. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.unique.js +164 -0
  70. data/public/vendor/github/vakata/jstree@3.3.8/src/jstree.wholerow.js +122 -0
  71. data/public/vendor/github/vakata/jstree@3.3.8/src/misc.js +656 -0
  72. data/public/vendor/github/vakata/jstree@3.3.8/src/outro.js +1 -0
  73. data/public/vendor/github/vakata/jstree@3.3.8/src/sample.js +93 -0
  74. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/base.less +93 -0
  75. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/32px.png +0 -0
  76. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/40px.png +0 -0
  77. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/style.css +1102 -0
  78. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/style.less +22 -0
  79. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default/throbber.gif +0 -0
  80. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/32px.png +0 -0
  81. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/40px.png +0 -0
  82. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/style.css +1146 -0
  83. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/style.less +50 -0
  84. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/default-dark/throbber.gif +0 -0
  85. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/main.less +77 -0
  86. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/mixins.less +104 -0
  87. data/public/vendor/github/vakata/jstree@3.3.8/src/themes/responsive.less +67 -0
  88. data/public/vendor/github/vakata/jstree@3.3.8/src/vakata-jstree.js +38 -0
  89. data/public/vendor/github/vakata/jstree@3.3.8/test/unit/index.html +16 -0
  90. data/public/vendor/github/vakata/jstree@3.3.8/test/unit/libs/qunit.css +244 -0
  91. data/public/vendor/github/vakata/jstree@3.3.8/test/unit/libs/qunit.js +2212 -0
  92. data/public/vendor/github/vakata/jstree@3.3.8/test/unit/test.js +11 -0
  93. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/desktop/index.html +44 -0
  94. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/mobile/index.html +42 -0
  95. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/screenshots/desktop/desktop.png +0 -0
  96. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/screenshots/desktop/home.png +0 -0
  97. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/screenshots/mobile/home.png +0 -0
  98. data/public/vendor/github/vakata/jstree@3.3.8/test/visual/screenshots/mobile/mobile.png +0 -0
  99. data/public/vendor/github/vakata/jstree@3.3.8.js +3 -0
  100. data/public/vendor/system-csp-production.js +3 -3
  101. data/public/vendor/system-csp-production.js.map +1 -1
  102. data/public/vendor/system-csp-production.src.js +146 -140
  103. data/public/vendor/system-polyfills.js.map +1 -1
  104. data/public/vendor/system-polyfills.src.js +1 -0
  105. data/public/vendor/system.js +3 -3
  106. data/public/vendor/system.js.map +1 -1
  107. data/public/vendor/system.src.js +4771 -2383
  108. data/views/_options.erb +21 -0
  109. data/views/layout.erb +17 -18
  110. metadata +102 -43
  111. data/bin/chromedriver +0 -0
  112. data/bin/geckodriver +0 -0
  113. data/public/shims/form-core.js +0 -3
  114. data/public/shims/form-validation.js +0 -3
  115. data/public/shims/plugins/jquery.ui.position.js +0 -13
  116. data/public/shims/styles/shim.css +0 -1
@@ -5,6 +5,7 @@
5
5
  @import url('../vendor/github/nicgirault/circosJs@1.7.0/dist/colorBrewer.css');
6
6
  @import url('../vendor/github/twbs/bootstrap@3.3.5/css/bootstrap.min.css');
7
7
  @import url('../vendor/npm/font-awesome@4.4.0/css/font-awesome.min.css');
8
+ @import url('../vendor/github/vakata/jstree@3.3.8/dist/themes/default/style.min.css');
8
9
  @import url('grapher.css');
9
10
  @import url('fonts.css');
10
11
 
@@ -12,7 +13,7 @@
12
13
  * For scrollspy, etc.
13
14
  */
14
15
  body {
15
- font-family: "Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;
16
+ font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
16
17
  position: relative;
17
18
  color: black;
18
19
  }
@@ -20,7 +21,8 @@ body {
20
21
  /**
21
22
  * No underlines on links, ever
22
23
  */
23
- a:hover, .btn-link:hover {
24
+ a:hover,
25
+ .btn-link:hover {
24
26
  text-decoration: none;
25
27
  color: #c74f14;
26
28
  }
@@ -34,7 +36,7 @@ label:hover {
34
36
  }
35
37
 
36
38
  .yellow-background {
37
- background-color: #E2D382;
39
+ background-color: #e2d382;
38
40
  }
39
41
 
40
42
  /**
@@ -67,18 +69,23 @@ small {
67
69
  h3 {
68
70
  font-size: 16px;
69
71
  }
72
+
70
73
  h4 {
71
74
  font-size: 14px;
72
75
  }
73
- h3 > .fa, h4 > .fa {
76
+
77
+ h3 > .fa,
78
+ h4 > .fa {
74
79
  vertical-align: bottom;
75
80
  }
81
+
76
82
  /**
77
83
  * Without this .disabled elements hardly look disabled.
78
84
  */
79
85
  .disabled {
80
86
  color: #ccc !important;
81
87
  }
88
+
82
89
  a.disabled:hover,
83
90
  .btn-link[disabled]:hover {
84
91
  color: #ccc;
@@ -93,12 +100,14 @@ a.disabled:hover,
93
100
  border-radius: 0;
94
101
  border-bottom: 1px solid #c74f14;
95
102
  }
103
+
96
104
  .navbar-brand {
97
105
  height: auto;
98
106
  padding: 10px 7.5px;
99
107
  font-size: 32px;
100
108
  color: rgb(51, 51, 51);
101
109
  }
110
+
102
111
  .navbar-brand > small {
103
112
  font-size: 50%;
104
113
  vertical-align: text-bottom;
@@ -109,6 +118,7 @@ a.disabled:hover,
109
118
  font-size: 14px;
110
119
  color: #174465;
111
120
  }
121
+
112
122
  /* logo */
113
123
  .navbar-brand > img {
114
124
  display: inline-block;
@@ -118,6 +128,7 @@ a.disabled:hover,
118
128
  * Like BS' .page-header but without extra margin and the ability to display a
119
129
  * sub-text on right.
120
130
  */
131
+
121
132
  /* Hit header styling */
122
133
  .section-header {
123
134
  border-bottom: 1px solid #c74f14;
@@ -125,24 +136,30 @@ a.disabled:hover,
125
136
  display: table;
126
137
  width: 100%;
127
138
  }
139
+
128
140
  .section-header-sidebar {
129
141
  padding-left: 1px;
130
142
  display: table;
131
143
  width: 100%;
132
144
  }
145
+
133
146
  .section-header-sidebar > h4 {
134
147
  font-weight: bold;
135
- margin-bottom: 0px;
148
+ margin-bottom: 0;
136
149
  }
150
+
137
151
  .section-header > * {
138
152
  display: table-cell;
139
153
  }
154
+
140
155
  .section-header > *:first-child {
141
156
  width: 100%;
142
157
  }
158
+
143
159
  .section-content {
144
160
  padding: 0 0 0 1px;
145
161
  }
162
+
146
163
  /**
147
164
  * Take out border, cut down margin and padding, and remove background color
148
165
  * from panel.
@@ -153,11 +170,13 @@ a.disabled:hover,
153
170
  -moz-box-shadow: none;
154
171
  box-shadow: none;
155
172
  }
173
+
156
174
  .panel .panel-heading {
157
175
  padding: 0;
158
176
  background-color: inherit;
159
177
  border-bottom: 1px solid #c74f14;
160
178
  }
179
+
161
180
  .panel .panel-heading h4 {
162
181
  margin: 0;
163
182
  font-size: 16px;
@@ -169,11 +188,12 @@ a.disabled:hover,
169
188
  * Works better when browser is resized to smaller width.
170
189
  */
171
190
  .control-label[class*="col-"] {
172
- padding-right: 0;
191
+ padding-right: 0;
173
192
  }
193
+
174
194
  .input-group[class*="col-"] {
175
- padding-left: 15px;
176
- padding-right: 15px;
195
+ padding-left: 15px;
196
+ padding-right: 15px;
177
197
  }
178
198
 
179
199
  /**
@@ -182,13 +202,19 @@ a.disabled:hover,
182
202
  .table {
183
203
  margin-bottom: 0;
184
204
  }
185
- .table>thead>tr>th, .table>tbody>tr>th, .table>tfoot>tr>th, .table>thead>tr>td,
186
- .table>tbody>tr>td, .table>tfoot>tr>td {
205
+
206
+ .table > thead > tr > th,
207
+ .table > tbody > tr > th,
208
+ .table > tfoot > tr > th,
209
+ .table > thead > tr > td,
210
+ .table > tbody > tr > td,
211
+ .table > tfoot > tr > td {
187
212
  border-top: none;
188
213
  font-weight: normal;
189
214
  padding: 0 0 0 4px;
190
215
  }
191
- .table>thead>tr>th {
216
+
217
+ .table > thead > tr > th {
192
218
  border-bottom: none;
193
219
  color: #5f5f5f;
194
220
  }
@@ -198,7 +224,7 @@ a.disabled:hover,
198
224
  */
199
225
  .tooltip-inner {
200
226
  max-width: 350px;
201
- font-family: "Source sans pro","Helvetica Neue",Helvetica,Arial,sans-serif;
227
+ font-family: "Source sans pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
202
228
  }
203
229
 
204
230
  /********************
@@ -261,15 +287,17 @@ td.nowrap-ellipsis {
261
287
  /**
262
288
  * Helpers to override :hover and .active on .nav elements.
263
289
  */
264
- .nav.hover-reset>li>a:hover {
290
+ .nav.hover-reset > li > a:hover {
265
291
  background-color: inherit;
266
292
  color: #c74f14;
267
293
  }
268
- .nav.focus-reset>li>a:focus {
294
+
295
+ .nav.focus-reset > li > a:focus {
269
296
  background-color: inherit;
270
297
  color: #c74f14;
271
298
  }
272
- .nav.active-bold>.active>a {
299
+
300
+ .nav.active-bold > .active > a {
273
301
  font-weight: bold;
274
302
  color: #c74f14;
275
303
  }
@@ -283,9 +311,11 @@ td.nowrap-ellipsis {
283
311
  font-weight: normal;
284
312
  font-size: inherit;
285
313
  }
314
+
286
315
  .pos-label {
287
316
  padding: 0 0 0 0.6em;
288
317
  }
318
+
289
319
  /**
290
320
  * Reset Bootstrap's CSS for pre tags.
291
321
  */
@@ -330,6 +360,7 @@ td.nowrap-ellipsis {
330
360
  .notifications {
331
361
  position: relative;
332
362
  height: 32px;
363
+
333
364
  /**
334
365
  * Notifications should appear over the bottom border of the textarea, high
335
366
  * enough that they do not interfere with the database listing below and
@@ -338,10 +369,13 @@ td.nowrap-ellipsis {
338
369
  margin-right: 35px;
339
370
  margin-left: 35px;
340
371
  }
372
+
341
373
  .notification {
342
374
  height: 32px !important;
343
375
  }
344
- .notification .alert-info, .notification .alert-danger {
376
+
377
+ .notification .alert-info,
378
+ .notification .alert-danger {
345
379
  -webkit-border-radius: 6px;
346
380
  -moz-border-radius: 6px;
347
381
  border-radius: 6px;
@@ -360,7 +394,7 @@ td.nowrap-ellipsis {
360
394
  }
361
395
 
362
396
  #help pre:hover {
363
- background-color: #FFC;
397
+ background-color: #ffc;
364
398
  }
365
399
 
366
400
  label[for="advanced"] {
@@ -371,6 +405,7 @@ label[for="advanced"] {
371
405
  vertical-align: middle;
372
406
  padding: 5px 12px 5px 0;
373
407
  }
408
+
374
409
  input[name="advanced"] {
375
410
  border-top-left-radius: 4px !important;
376
411
  border-bottom-left-radius: 4px !important;
@@ -405,23 +440,31 @@ input[type=checkbox] {
405
440
  **********************/
406
441
  .sidebar > div {
407
442
  /* To line up with the results on the right */
408
- margin-top: 0px;
443
+ margin-top: 0;
409
444
  }
410
445
 
411
446
  .sidebar li a {
412
447
  padding: 3px 2px;
413
448
  }
414
449
 
450
+ .sidebar .nowrap-ellipsis {
451
+ text-overflow: ellipsis;
452
+ overflow: hidden;
453
+ white-space: nowrap;
454
+ }
455
+
415
456
  .sidebar.affix {
416
457
  margin-top: 0;
417
458
  top: 0;
418
459
  }
460
+
419
461
  @media (min-width: 992px) {
420
462
  /* MacBook Pro etc. */
421
463
  .sidebar.affix {
422
464
  width: 212.5px;
423
465
  }
424
466
  }
467
+
425
468
  @media (min-width: 1200px) {
426
469
  /* iMac etc. */
427
470
  .sidebar.affix {
@@ -434,9 +477,11 @@ input[type=checkbox] {
434
477
  /* To line up with the sidebar on the left */
435
478
  margin: 10px 0 6px 0;
436
479
  }
480
+
437
481
  .overview p {
438
482
  margin: 0;
439
483
  }
484
+
440
485
  .resultn {
441
486
  margin-top: 6px;
442
487
  }
@@ -445,6 +490,7 @@ input[type=checkbox] {
445
490
  font-size: 12px;
446
491
  text-align: center;
447
492
  }
493
+
448
494
  .graphical-overview .btn {
449
495
  padding-top: 0;
450
496
  padding-bottom: 0;
@@ -453,14 +499,17 @@ input[type=checkbox] {
453
499
  .hit {
454
500
  margin-top: 4px;
455
501
  }
502
+
456
503
  .hit .section-header h4 {
457
504
  cursor: pointer;
458
505
  padding-left: 1px;
459
506
  }
507
+
460
508
  .hit .section-header h4 span,
461
509
  .hit .section-header h4 strong {
462
510
  cursor: text;
463
511
  }
512
+
464
513
  .hit-links {
465
514
  height: 16px;
466
515
  }
@@ -468,28 +517,32 @@ input[type=checkbox] {
468
517
  .hsp {
469
518
  padding: 1px 0 1px 2px;
470
519
  }
520
+
471
521
  .hsp-stats {
472
522
  font-size: 12px;
473
- color:#5f5f5f;
523
+ color: #5f5f5f;
474
524
  }
525
+
475
526
  .hsp-lines {
476
527
  margin-top: 5px;
477
528
  font-size: 11px;
478
529
  letter-spacing: 1.2px;
479
530
  }
531
+
480
532
  .hsp-coords {
481
533
  color: #5f5f5f;
482
534
  }
483
535
 
484
536
  .btn-link {
485
537
  border: none;
486
- padding: 0px;
538
+ padding: 0;
487
539
  color: #1b557a;
488
540
  }
489
541
 
490
542
  .fastan > .section-header {
491
543
  padding-bottom: 8px;
492
544
  }
545
+
493
546
  .fastan > .section-content {
494
547
  padding-top: 8px;
495
548
  padding-left: 0;
@@ -520,6 +573,7 @@ input[type=checkbox] {
520
573
  .dnd-overlay-container p {
521
574
  font-size: 48px;
522
575
  }
576
+
523
577
  /* higlight when hit is selected */
524
578
  .glow {
525
579
  border-left: 2px solid #c74f14;
@@ -528,33 +582,41 @@ input[type=checkbox] {
528
582
  .downloads a {
529
583
  cursor: pointer;
530
584
  }
585
+
531
586
  /* CSS class for logo */
532
587
  .logo {
533
588
  width: 205.05px;
534
589
  max-height: 35px;
535
590
  }
591
+
536
592
  /* CSS class for vertical line separating the hit links */
537
593
  .line {
538
594
  color: #c74f14;
539
595
  margin: 0 5px 0 5px;
540
596
  }
597
+
541
598
  /* override bootstrap focus color in the text field of the search page */
542
599
  .form-control:focus {
543
600
  border-color: #1b557a;
544
601
  }
545
- /* override bootstrap btn-color for the search "BlAST" button on the search page.*/
602
+
603
+ /* override bootstrap btn-color for the search "BlAST" button on the search page. */
546
604
  .btn-primary {
547
605
  background-color: #1b557a;
548
606
  border-color: #174465;
549
607
  }
608
+
550
609
  .btn-primary:hover {
551
610
  background-color: #174465;
552
611
  border-color: #174465;
553
612
  }
554
- .btn-primary:disabled, .btn-primary[disabled]:hover {
555
- background-color: #881C14;
556
- border-color: #881C14;
613
+
614
+ .btn-primary:disabled,
615
+ .btn-primary[disabled]:hover {
616
+ background-color: #881c14;
617
+ border-color: #881c14;
557
618
  }
619
+
558
620
  /* CSS class to facilitate the hit header wrapping */
559
621
  .hit-header {
560
622
  display: table-cell;