sequenceserver 3.0.1 → 3.1.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sequenceserver might be problematic. Click here for more details.

Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/bin/sequenceserver +2 -2
  3. data/lib/sequenceserver/api_errors.rb +32 -2
  4. data/lib/sequenceserver/blast/job.rb +20 -3
  5. data/lib/sequenceserver/blast/report.rb +74 -86
  6. data/lib/sequenceserver/blast/tasks.rb +38 -0
  7. data/lib/sequenceserver/config.rb +54 -20
  8. data/lib/sequenceserver/makeblastdb.rb +16 -2
  9. data/lib/sequenceserver/report.rb +0 -6
  10. data/lib/sequenceserver/routes.rb +66 -25
  11. data/lib/sequenceserver/sequence.rb +35 -7
  12. data/lib/sequenceserver/server.rb +1 -1
  13. data/lib/sequenceserver/version.rb +1 -1
  14. data/lib/sequenceserver.rb +1 -1
  15. data/public/404.html +1 -1
  16. data/public/css/app.css +121 -0
  17. data/public/css/app.min.css +1 -0
  18. data/public/css/sequenceserver.css +0 -148
  19. data/public/css/sequenceserver.min.css +3 -3
  20. data/public/js/circos.js +2 -2
  21. data/public/js/collapse_preferences.js +37 -0
  22. data/public/js/databases.js +65 -37
  23. data/public/js/databases_tree.js +2 -1
  24. data/public/js/dnd.js +37 -50
  25. data/public/js/download_fasta.js +1 -0
  26. data/public/js/form.js +79 -50
  27. data/public/js/grapher.js +23 -37
  28. data/public/js/hits_overview.js +2 -2
  29. data/public/js/kablammo.js +2 -2
  30. data/public/js/length_distribution.js +3 -3
  31. data/public/js/null_plugins/grapher/histogram.js +25 -0
  32. data/public/js/null_plugins/options.js +3 -0
  33. data/public/js/null_plugins/query_stats.js +11 -0
  34. data/public/js/null_plugins/report_plugins.js +6 -1
  35. data/public/js/null_plugins/search_header_plugin.js +4 -0
  36. data/public/js/options.js +161 -56
  37. data/public/js/query.js +85 -59
  38. data/public/js/report.js +1 -1
  39. data/public/js/search.js +2 -0
  40. data/public/js/search_button.js +67 -56
  41. data/public/js/sidebar.js +10 -1
  42. data/public/js/tests/database.spec.js +5 -5
  43. data/public/js/tests/form.spec.js +98 -0
  44. data/public/js/tests/mock_data/databases.json +5 -5
  45. data/public/js/tests/mocks/circos.js +6 -0
  46. data/public/js/tests/report.spec.js +4 -3
  47. data/public/js/tests/search_query.spec.js +16 -6
  48. data/public/sequenceserver-report.min.js +46 -24
  49. data/public/sequenceserver-search.min.js +57 -13
  50. data/public/sequenceserver_logo.webp +0 -0
  51. data/views/blastn_options.erb +66 -66
  52. data/views/blastp_options.erb +59 -59
  53. data/views/blastx_options.erb +68 -68
  54. data/views/layout.erb +61 -3
  55. data/views/search.erb +33 -38
  56. data/views/search_layout.erb +153 -0
  57. data/views/tblastn_options.erb +57 -57
  58. data/views/tblastx_options.erb +64 -64
  59. metadata +51 -22
  60. data/lib/sequenceserver/makeblastdb-modified-with-cache.rb +0 -345
  61. data/public/SequenceServer_logo.png +0 -0
  62. data/public/js/tests/advanced_parameters.spec.js +0 -36
@@ -0,0 +1,153 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <title>SequenceServer: Custom BLAST Server</title>
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">
9
+ <%= Rack::Csrf.metatag(env) %>
10
+ <link rel="stylesheet" media="screen,print" type="text/css" href="css/app.min.css"/>
11
+ <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" />
12
+ </head>
13
+
14
+ <body>
15
+ <header id="header" class="bg-gray-100 shadow-lg w-full">
16
+ <div class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
17
+ <div class="flex flex-none items-center">
18
+ <div class="py-4">
19
+ <a href="https://sequenceserver.com" target="_blank" class="flex items-end">
20
+ <img src="sequenceserver_logo.webp" alt="sequenceserver_logo" width="1620" height="213" class="h-8 w-auto pr-2">
21
+ <small>
22
+ <%= SequenceServer::VERSION %>
23
+ </small>
24
+ </a>
25
+ </div>
26
+
27
+ <div class="flex-grow"></div>
28
+ <ul class="flex space-x-2">
29
+ <li>
30
+ <a
31
+ href="https://sequenceserver.com/progress-on-BLAST-interface/"
32
+ class="underline text-seqblue"
33
+ data-update-check
34
+ data-version="<%= SequenceServer::VERSION %>"
35
+ target="_blank">
36
+ </a>
37
+ </li>
38
+ <li>
39
+ <a
40
+ class="text-seqblue flex items-center"
41
+ target="_blank"
42
+ href="https://sequenceserver.com/support">
43
+
44
+ <i class="fa-solid fa-comment w-4 h-4 mr-1 fill-current"></i>
45
+ Help &amp; Support
46
+ </a>
47
+ </li>
48
+ </ul>
49
+ </div>
50
+ </div>
51
+ </header>
52
+
53
+ <noscript>
54
+ <div class="mx-auto px-4">
55
+ <div class="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative" role="alert">
56
+ <strong class="font-bold">Our website cannot work without JavaScript.</strong>
57
+ <ul class="mt-2 list-disc list-inside">
58
+ <li>Please see if you can enable JavaScript in your browser's preferences.</li>
59
+ <li>If your browser doesn't support JavaScript, please consider upgrading to the latest version or using Firefox or Chrome.</li>
60
+ </ul>
61
+ </div>
62
+ </div>
63
+ </noscript>
64
+
65
+ <%= yield %>
66
+
67
+ <div class="mx-auto px-4">
68
+ <div class="container">
69
+ <p class="text-center">
70
+ 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>.
71
+ <a class="text-seqblue" href='https://sequenceserver.com'>
72
+ <em>
73
+ <%=
74
+ quote = [
75
+ "Visualize BLAST results.",
76
+ "Run BLAST on local computer.",
77
+ "BLAST on Mac.",
78
+ "BLAST on Windows.",
79
+ "Run blast on mac.",
80
+ "Blast analysis software.",
81
+ "Sequence Search on local computer.",
82
+ "Blast DNA sequence search.",
83
+ "Custom BLAST search.",
84
+ "Install blast on Mac.",
85
+ "Perform BLAST analyses.",
86
+ "Custom BLAST web interface.",
87
+ "SequenceServer: Local BLAST with bespoke html interface.",
88
+ "Set up custom BLAST interface with SequenceServer.",
89
+ "Easy BLASTing with SequenceServer.",
90
+ "BLAST against a custom, local database with SequenceServer.",
91
+ "Cloud BLAST custom genome.",
92
+ "NCBI BLAST alternative.",
93
+ "BLAST private transcriptome assembly in the Cloud.",
94
+ "Cloud server for comparative genomics, oligos, crisp, primers and more."
95
+ ].sample
96
+ %>
97
+ </em>
98
+ </a>
99
+ </p>
100
+ </div>
101
+
102
+ <script>
103
+ document.addEventListener('DOMContentLoaded', function() {
104
+
105
+ function suggestNewVersion(element, version) {
106
+ element.textContent = `New version v${version} is available`;
107
+ console.log(`New SequenceServer version available ${version}. Please consider updating.`)
108
+ }
109
+
110
+ const element = document.querySelector('[data-update-check]');
111
+ const currentVersion = element.getAttribute('data-version');
112
+ const cachedVersion = document.cookie.split(';').find((item) => item.trim().startsWith('newVersion='));
113
+ const upToDate = document.cookie.split(';').find((item) => item.trim().startsWith('versionIsLatest='));
114
+ if (upToDate) {
115
+ console.log('SequenceServer is up to date');
116
+ return;
117
+ }
118
+ if (cachedVersion) {
119
+ const newVersion = cachedVersion.split('=')[1];
120
+ if (newVersion !== currentVersion) {
121
+ suggestNewVersion(element, newVersion);
122
+ }
123
+ return;
124
+ }
125
+ console.log('Checking for new SequenceServer version...')
126
+ fetch(`https://updates.sequenceserver.com/?version=${currentVersion}`)
127
+ .then(response => {
128
+ if (response.ok) {
129
+ return response.json();
130
+ } else {
131
+ console.error('Failed to check for new SequenceServer version')
132
+ }
133
+ })
134
+ .then(data => {
135
+ const date = new Date();
136
+ date.setTime(date.getTime() + (24 * 60 * 60 * 1000));
137
+ const expires = "; expires=" + date.toUTCString();
138
+
139
+ if (data.update_available) {
140
+ const newVersion = data.new_version;
141
+ document.cookie = `newVersion=${newVersion}${expires}; path=/`;
142
+ suggestNewVersion(element, newVersion);
143
+ } else {
144
+ console.log('SequenceServer is up to date');
145
+ document.cookie = `versionIsLatest=true${expires}; path=/`;
146
+ }
147
+ })
148
+ .catch(() => {});
149
+ });
150
+
151
+ </script>
152
+ </body>
153
+ </html>
@@ -4,52 +4,52 @@
4
4
  characters per line to preserve formatting.
5
5
  %>
6
6
 
7
- <h5>General Search Options</h5>
8
- <ul class="list-unstyled">
7
+ <h5 class="text-lg py-4 font-medium">General Search Options</h5>
8
+ <ul class="list-unstyled space-y-2">
9
9
  <li>
10
- <pre><%= ERB::Util.h %q|-task <String, Permissible values: 'tblastn' 'tblastn-fast'>
10
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-task <String, Permissible values: 'tblastn' 'tblastn-fast'>
11
11
  Task to execute
12
12
  Default = 'tblastn'|%></pre>
13
13
  </li>
14
14
  <li>
15
- <pre><%= ERB::Util.h %q|-evalue <Real>
15
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-evalue <Real>
16
16
  Expectation value (E) threshold for saving hits
17
17
  Default = '10'| %></pre>
18
18
  </li>
19
19
  <li>
20
- <pre><%= ERB::Util.h %q|-word_size <Integer, >=2>
20
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-word_size <Integer, >=2>
21
21
  Word size for wordfinder algorithm| %></pre>
22
22
  </li>
23
23
  <li>
24
- <pre><%= ERB::Util.h %q|-gapopen <Integer>
24
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-gapopen <Integer>
25
25
  Cost to open a gap| %></pre>
26
26
  </li>
27
27
  <li>
28
- <pre><%= ERB::Util.h %q|-gapextend <Integer>
28
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-gapextend <Integer>
29
29
  Cost to extend a gap| %></pre>
30
30
  </li>
31
31
  <li>
32
- <pre><%= ERB::Util.h %q|-db_gencode <Integer, values between: 1-6, 9-16, 21-31, 33>
32
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-db_gencode <Integer, values between: 1-6, 9-16, 21-31, 33>
33
33
  Genetic code to use to translate database/subjects (see user manual for details)
34
34
  Default = '1' | %></pre>
35
35
  </li>
36
36
  <li>
37
- <pre><%= ERB::Util.h %q|-max_intron_length <Integer, >=0>
38
- Length of the largest intron allowed in a translated nucleotide sequence when
39
- linking multiple distinct alignments
37
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-max_intron_length <Integer, >=0>
38
+ Length of the largest intron allowed in a translated nucleotide sequence when
39
+ linking multiple distinct alignments
40
40
  Default = '0'| %></pre>
41
41
  </li>
42
42
  <li>
43
- <pre><%= ERB::Util.h %q|-matrix <String>
43
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-matrix <String>
44
44
  Scoring matrix name (normally BLOSUM62)| %></pre>
45
45
  </li>
46
46
  <li>
47
- <pre><%= ERB::Util.h %q|-threshold <Real, >=0>
47
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-threshold <Real, >=0>
48
48
  Minimum word score such that the word is added to the BLAST lookup
49
49
  table| %></pre>
50
50
  </li>
51
51
  <li>
52
- <pre><%= ERB::Util.h %q|-comp_based_stats <String>
52
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-comp_based_stats <String>
53
53
  Use composition-based statistics for blastp / tblastn:
54
54
  D or d: default (equivalent to 2)
55
55
  0 or F or f: no composition-based statistics
@@ -66,21 +66,21 @@
66
66
  </ul>
67
67
  <br />
68
68
 
69
- <h5>Formatting Options</h5>
70
- <ul class="list-unstyled">
69
+ <h5 class="text-lg py-4 font-medium">Formatting Options</h5>
70
+ <ul class="list-unstyled space-y-2">
71
71
  <li>
72
- <pre><%= ERB::Util.h %q|-show_gis
72
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-show_gis
73
73
  Show NCBI GIs in deflines?| %></pre>
74
74
  </li>
75
75
  <li>
76
- <pre><%= ERB::Util.h %q|-num_descriptions <Integer, >=0>
76
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-num_descriptions <Integer, >=0>
77
77
  Number of database sequences to show one-line descriptions for
78
78
  Not applicable for outfmt > 4
79
79
  Default = '500'
80
80
  * Incompatible with: max_target_seqs| %></pre>
81
81
  </li>
82
82
  <li>
83
- <pre><%= ERB::Util.h %q| -num_alignments <Integer, >=0>
83
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q| -num_alignments <Integer, >=0>
84
84
  Number of database sequences to show alignments for
85
85
  Default = '250'
86
86
  * Incompatible with: max_target_seqs| %></pre>
@@ -89,52 +89,52 @@
89
89
 
90
90
  <br/>
91
91
 
92
- <h5>Query filtering options</h5>
93
- <ul class="list-unstyled">
92
+ <h5 class="text-lg py-4 font-medium">Query filtering options</h5>
93
+ <ul class="list-unstyled space-y-2">
94
94
  <li>
95
- <pre><%= ERB::Util.h %q|-seg <String>
95
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-seg <String>
96
96
  Filter query sequence with SEG (Format: 'yes', 'window locut hicut',
97
97
  or 'no' to disable)
98
98
  Default = '12 2.2 2.5'| %></pre>
99
99
  </li>
100
100
  <li>
101
- <pre><%= ERB::Util.h %q|-soft_masking <Boolean>
101
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-soft_masking <Boolean>
102
102
  Apply filtering locations as soft masks
103
103
  Default ='false'| %></pre>
104
104
  </li>
105
105
  <li>
106
- <pre><%= ERB::Util.h %q|-lcase_masking
106
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-lcase_masking
107
107
  Use lower case filtering in query and subject sequence(s)?| %></pre>
108
108
  </li>
109
109
  </ul>
110
110
 
111
111
  <br/>
112
112
 
113
- <h5>Restrict search or results</h5>
114
- <ul class="list-unstyled">
113
+ <h5 class="text-lg py-4 font-medium">Restrict search or results</h5>
114
+ <ul class="list-unstyled space-y-2">
115
115
  <li>
116
- <pre><%= ERB::Util.h %q|-gilist <String>
116
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-gilist <String>
117
117
  Restrict search of database to list of GIs
118
118
  * Incompatible with: seqidlist, taxids, taxidlist, negative_gilist,
119
119
  negative_seqidlist, negative_taxids, negative_taxidlist, remote, subject,
120
120
  subject_loc| %></pre>
121
121
  </li>
122
122
  <li>
123
- <pre><%= ERB::Util.h %q|-seqidlist <String>
123
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-seqidlist <String>
124
124
  Restrict search of database to list of SeqIDs
125
125
  * Incompatible with: gilist, taxids, taxidlist, negative_gilist,
126
126
  negative_seqidlist, negative_taxids, negative_taxidlist, remote, subject,
127
127
  subject_loc| %></pre>
128
128
  </li>
129
129
  <li>
130
- <pre><%= ERB::Util.h %q|-negative_gilist <String>
130
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-negative_gilist <String>
131
131
  Restrict search of database to everything except the specified GIs
132
132
  * Incompatible with: gilist, seqidlist, taxids, taxidlist,
133
133
  negative_seqidlist, negative_taxids, negative_taxidlist, remote, subject,
134
134
  subject_loc| %></pre>
135
135
  </li>
136
136
  <li>
137
- <pre><%= ERB::Util.h %q|-negative_seqidlist <String>
137
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-negative_seqidlist <String>
138
138
  Restrict search of database to everything except the specified SeqIDs
139
139
  * Incompatible with: gilist, seqidlist, taxids, taxidlist,
140
140
  negative_gilist, negative_taxids, negative_taxidlist, remote, subject,
@@ -142,78 +142,78 @@
142
142
  </li>
143
143
  <li>
144
144
  <li>
145
- <pre><%= ERB::Util.h %q|-taxids <String>
145
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-taxids <String>
146
146
  Restrict search of database to include only the specified taxonomy IDs (multiple IDs delimited by ',')
147
147
  * Incompatible with: gilist, seqidlist, taxidlist, negative_gilist,
148
148
  negative_seqidlist, negative_taxids, negative_taxidlist, remote, subject,
149
149
  subject_loc| %></pre>
150
150
  </li>
151
151
  <li>
152
- <pre><%= ERB::Util.h %q|-negative_taxids <String>
152
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-negative_taxids <String>
153
153
  Restrict search of database to everything except the specified taxonomy IDs (multiple IDs delimited by ',')
154
154
  * Incompatible with: gilist, seqidlist, taxids, taxidlist,
155
155
  negative_gilist, negative_seqidlist, negative_taxidlist, remote, subject,
156
156
  subject_loc| %></pre>
157
157
  </li>
158
158
  <li>
159
- <pre><%= ERB::Util.h %q|-taxidlist <String>
159
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-taxidlist <String>
160
160
  Restrict search of database to include only the specified taxonomy IDs
161
161
  * Incompatible with: gilist, seqidlist, taxids, negative_gilist,
162
162
  negative_seqidlist, negative_taxids, negative_taxidlist, remote, subject,
163
163
  subject_loc| %></pre>
164
164
  </li>
165
165
  <li>
166
- <pre><%= ERB::Util.h %q|-negative_taxidlist <String>
166
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-negative_taxidlist <String>
167
167
  Restrict search of database to everything except the specified taxonomy IDs
168
168
  * Incompatible with: gilist, seqidlist, taxids, taxidlist,
169
169
  negative_gilist, negative_seqidlist, negative_taxids, remote, subject,
170
170
  subject_loc| %></pre>
171
171
  </li>
172
172
  <li>
173
- <pre><%= ERB::Util.h %q|-entrez_query <String>
173
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-entrez_query <String>
174
174
  Restrict search with the given Entrez query
175
175
  * Requires: remote| %></pre>
176
176
  </li>
177
177
  <li>
178
- <pre><%= ERB::Util.h %q|-db_soft_mask <String>
178
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-db_soft_mask <String>
179
179
  Filtering algorithm ID to apply to the BLAST database as soft masking
180
180
  * Incompatible with: db_hard_mask, subject, subject_loc| %></pre>
181
181
  </li>
182
182
  <li>
183
- <pre><%= ERB::Util.h %q|-db_hard_mask <String>
183
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-db_hard_mask <String>
184
184
  Filtering algorithm ID to apply to the BLAST database as hard masking
185
185
  * Incompatible with: db_soft_mask, subject, subject_loc| %></pre>
186
186
  </li>
187
187
  <li>
188
- <pre><%= ERB::Util.h %q|-qcov_hsp_perc <Real, 0..100>
188
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-qcov_hsp_perc <Real, 0..100>
189
189
  Percent query coverage per hsp| %></pre>
190
190
  </li>
191
191
  <li>
192
- <pre><%= ERB::Util.h %q|-max_hsps <Integer, >=1>
192
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-max_hsps <Integer, >=1>
193
193
  Set maximum number of HSPs per subject sequence to save for each query| %></pre>
194
194
  </li>
195
195
  <li>
196
- <pre><%= ERB::Util.h %q|-culling_limit <Integer, >=0>
196
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-culling_limit <Integer, >=0>
197
197
  If the query range of a hit is enveloped by that of at least this
198
198
  many higher-scoring hits, delete the hit
199
199
  * Incompatible with: best_hit_overhang, best_hit_score_edge| %></pre>
200
200
  </li>
201
201
  <li>
202
- <pre><%= ERB::Util.h %q|-best_hit_overhang <Real, (>0 and <0.5)>
202
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-best_hit_overhang <Real, (>0 and <0.5)>
203
203
  Best Hit algorithm overhang value (recommended value: 0.1)
204
204
  * Incompatible with: culling_limit| %></pre>
205
205
  </li>
206
206
  <li>
207
- <pre><%= ERB::Util.h %q|-best_hit_score_edge <Real, (>0 and <0.5)>
207
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-best_hit_score_edge <Real, (>0 and <0.5)>
208
208
  Best Hit algorithm score edge value (recommended value: 0.1)
209
209
  * Incompatible with: culling_limit| %></pre>
210
210
  </li>
211
211
  <li>
212
- <pre><%= ERB::Util.h %q|-subject_besthit
212
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-subject_besthit
213
213
  Turn on best hit per subject sequence| %></pre>
214
214
  </li>
215
215
  <li>
216
- <pre><%= ERB::Util.h %q|-max_target_seqs <Integer, >=1>
216
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-max_target_seqs <Integer, >=1>
217
217
  Maximum number of aligned sequences to keep (value of 5 or more is recommended)
218
218
  Default = '500'
219
219
  * Incompatible with: num_descriptions, num_alignments| %></pre>
@@ -222,45 +222,45 @@
222
222
 
223
223
  <br/>
224
224
 
225
- <h5>Statistical options</h5>
226
- <ul class="list-unstyled">
225
+ <h5 class="text-lg py-4 font-medium">Statistical options</h5>
226
+ <ul class="list-unstyled space-y-2">
227
227
  <li>
228
- <pre><%= ERB::Util.h %q|-dbsize <Int8>
228
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-dbsize <Int8>
229
229
  Effective length of the database| %></pre>
230
230
  </li>
231
231
  <li>
232
- <pre><%= ERB::Util.h %q|-searchsp <Int8, >=0>
232
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-searchsp <Int8, >=0>
233
233
  Effective length of the search space| %></pre>
234
234
  </li>
235
235
  <li>
236
- <pre><%= ERB::Util.h %q|-sum_stats <Boolean>
236
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-sum_stats <Boolean>
237
237
  Use sum statistics| %></pre>
238
238
  </li>
239
239
  </ul>
240
240
 
241
241
  <br/>
242
242
 
243
- <h5>Extension options</h5>
244
- <ul class="list-unstyled">
243
+ <h5 class="text-lg py-4 font-medium">Extension options</h5>
244
+ <ul class="list-unstyled space-y-2">
245
245
  <li>
246
- <pre><%= ERB::Util.h %q|-xdrop_ungap <Real>
246
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-xdrop_ungap <Real>
247
247
  X-dropoff value (in bits) for ungapped extensions| %></pre>
248
248
  </li>
249
249
  <li>
250
- <pre><%= ERB::Util.h %q|-xdrop_gap <Real>
250
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-xdrop_gap <Real>
251
251
  X-dropoff value (in bits) for preliminary gapped extensions| %></pre>
252
252
  </li>
253
253
  <li>
254
- <pre><%= ERB::Util.h %q|-xdrop_gap_final <Real>
254
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-xdrop_gap_final <Real>
255
255
  X-dropoff value (in bits) for final gapped alignment| %></pre>
256
256
  </li>
257
257
  <li>
258
- <pre><%= ERB::Util.h %q|-ungapped
258
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-ungapped
259
259
  Perform ungapped alignment only?| %></pre>
260
260
  </li>
261
261
  <li>
262
- <pre><%= ERB::Util.h %q|-window_size <Integer, >=0>
262
+ <pre class="bg-gray-100 border rounded overflow-x-auto p-2 font-mono hover:bg-yellow-100"><%= ERB::Util.h %q|-window_size <Integer, >=0>
263
263
  Multiple hits window size, use 0 to specify 1-hit algorithm| %></pre>
264
264
  </li>
265
-
265
+
266
266
  </ul>