sequenceserver 3.0.1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/bin/sequenceserver +2 -2
  3. data/lib/sequenceserver/api_errors.rb +1 -1
  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 +32 -21
  11. data/lib/sequenceserver/version.rb +1 -1
  12. data/lib/sequenceserver.rb +1 -1
  13. data/public/css/app.css +121 -0
  14. data/public/css/app.min.css +1 -0
  15. data/public/css/sequenceserver.css +0 -148
  16. data/public/css/sequenceserver.min.css +3 -3
  17. data/public/js/circos.js +2 -2
  18. data/public/js/collapse_preferences.js +37 -0
  19. data/public/js/databases.js +65 -37
  20. data/public/js/databases_tree.js +2 -1
  21. data/public/js/dnd.js +37 -50
  22. data/public/js/form.js +78 -50
  23. data/public/js/grapher.js +23 -37
  24. data/public/js/hits_overview.js +2 -2
  25. data/public/js/kablammo.js +2 -2
  26. data/public/js/length_distribution.js +3 -3
  27. data/public/js/null_plugins/grapher/histogram.js +25 -0
  28. data/public/js/null_plugins/options.js +3 -0
  29. data/public/js/null_plugins/query_stats.js +11 -0
  30. data/public/js/null_plugins/report_plugins.js +6 -1
  31. data/public/js/null_plugins/search_header_plugin.js +4 -0
  32. data/public/js/options.js +161 -56
  33. data/public/js/query.js +85 -59
  34. data/public/js/report.js +1 -1
  35. data/public/js/search.js +2 -0
  36. data/public/js/search_button.js +67 -56
  37. data/public/js/sidebar.js +1 -1
  38. data/public/js/tests/database.spec.js +5 -5
  39. data/public/js/tests/{advanced_parameters.spec.js → form.spec.js} +35 -1
  40. data/public/js/tests/mock_data/databases.json +5 -5
  41. data/public/js/tests/mocks/circos.js +6 -0
  42. data/public/js/tests/report.spec.js +4 -3
  43. data/public/js/tests/search_query.spec.js +5 -6
  44. data/public/sequenceserver-report.min.js +45 -23
  45. data/public/sequenceserver-search.min.js +57 -13
  46. data/public/sequenceserver_logo.webp +0 -0
  47. data/views/blastn_options.erb +66 -66
  48. data/views/blastp_options.erb +59 -59
  49. data/views/blastx_options.erb +68 -68
  50. data/views/layout.erb +60 -3
  51. data/views/search.erb +33 -38
  52. data/views/search_layout.erb +152 -0
  53. data/views/tblastn_options.erb +57 -57
  54. data/views/tblastx_options.erb +64 -64
  55. metadata +31 -22
  56. data/lib/sequenceserver/makeblastdb-modified-with-cache.rb +0 -345
  57. data/public/SequenceServer_logo.png +0 -0
@@ -0,0 +1,152 @@
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
+ <link rel="stylesheet" media="screen,print" type="text/css" href="css/app.min.css"/>
10
+ <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" />
11
+ </head>
12
+
13
+ <body>
14
+ <header id="header" class="bg-gray-100 shadow-lg w-full">
15
+ <div class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
16
+ <div class="flex flex-none items-center">
17
+ <div class="py-4">
18
+ <a href="https://sequenceserver.com" target="_blank" class="flex items-end">
19
+ <img src="sequenceserver_logo.webp" alt="sequenceserver_logo" width="1620" height="213" class="h-8 w-auto pr-2">
20
+ <small>
21
+ <%= SequenceServer::VERSION %>
22
+ </small>
23
+ </a>
24
+ </div>
25
+
26
+ <div class="flex-grow"></div>
27
+ <ul class="flex space-x-2">
28
+ <li>
29
+ <a
30
+ href="https://sequenceserver.com/progress-on-BLAST-interface/"
31
+ class="underline text-seqblue"
32
+ data-update-check
33
+ data-version="<%= SequenceServer::VERSION %>"
34
+ target="_blank">
35
+ </a>
36
+ </li>
37
+ <li>
38
+ <a
39
+ class="text-seqblue flex items-center"
40
+ target="_blank"
41
+ href="https://sequenceserver.com/support">
42
+
43
+ <i class="fa-solid fa-comment w-4 h-4 mr-1 fill-current"></i>
44
+ Help &amp; Support
45
+ </a>
46
+ </li>
47
+ </ul>
48
+ </div>
49
+ </div>
50
+ </header>
51
+
52
+ <noscript>
53
+ <div class="mx-auto px-4">
54
+ <div class="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative" role="alert">
55
+ <strong class="font-bold">Our website cannot work without JavaScript.</strong>
56
+ <ul class="mt-2 list-disc list-inside">
57
+ <li>Please see if you can enable JavaScript in your browser's preferences.</li>
58
+ <li>If your browser doesn't support JavaScript, please consider upgrading to the latest version or using Firefox or Chrome.</li>
59
+ </ul>
60
+ </div>
61
+ </div>
62
+ </noscript>
63
+
64
+ <%= yield %>
65
+
66
+ <div class="mx-auto px-4">
67
+ <div class="container">
68
+ <p class="text-center">
69
+ 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>.
70
+ <a class="text-seqblue" href='https://sequenceserver.com'>
71
+ <em>
72
+ <%=
73
+ quote = [
74
+ "Visualize BLAST results.",
75
+ "Run BLAST on local computer.",
76
+ "BLAST on Mac.",
77
+ "BLAST on Windows.",
78
+ "Run blast on mac.",
79
+ "Blast analysis software.",
80
+ "Sequence Search on local computer.",
81
+ "Blast DNA sequence search.",
82
+ "Custom BLAST search.",
83
+ "Install blast on Mac.",
84
+ "Perform BLAST analyses.",
85
+ "Custom BLAST web interface.",
86
+ "SequenceServer: Local BLAST with bespoke html interface.",
87
+ "Set up custom BLAST interface with SequenceServer.",
88
+ "Easy BLASTing with SequenceServer.",
89
+ "BLAST against a custom, local database with SequenceServer.",
90
+ "Cloud BLAST custom genome.",
91
+ "NCBI BLAST alternative.",
92
+ "BLAST private transcriptome assembly in the Cloud.",
93
+ "Cloud server for comparative genomics, oligos, crisp, primers and more."
94
+ ].sample
95
+ %>
96
+ </em>
97
+ </a>
98
+ </p>
99
+ </div>
100
+
101
+ <script>
102
+ document.addEventListener('DOMContentLoaded', function() {
103
+
104
+ function suggestNewVersion(element, version) {
105
+ element.textContent = `New version v${version} is available`;
106
+ console.log(`New SequenceServer version available ${version}. Please consider updating.`)
107
+ }
108
+
109
+ const element = document.querySelector('[data-update-check]');
110
+ const currentVersion = element.getAttribute('data-version');
111
+ const cachedVersion = document.cookie.split(';').find((item) => item.trim().startsWith('newVersion='));
112
+ const upToDate = document.cookie.split(';').find((item) => item.trim().startsWith('versionIsLatest='));
113
+ if (upToDate) {
114
+ console.log('SequenceServer is up to date');
115
+ return;
116
+ }
117
+ if (cachedVersion) {
118
+ const newVersion = cachedVersion.split('=')[1];
119
+ if (newVersion !== currentVersion) {
120
+ suggestNewVersion(element, newVersion);
121
+ }
122
+ return;
123
+ }
124
+ console.log('Checking for new SequenceServer version...')
125
+ fetch(`https://updates.sequenceserver.com/?version=${currentVersion}`)
126
+ .then(response => {
127
+ if (response.ok) {
128
+ return response.json();
129
+ } else {
130
+ console.error('Failed to check for new SequenceServer version')
131
+ }
132
+ })
133
+ .then(data => {
134
+ const date = new Date();
135
+ date.setTime(date.getTime() + (24 * 60 * 60 * 1000));
136
+ const expires = "; expires=" + date.toUTCString();
137
+
138
+ if (data.update_available) {
139
+ const newVersion = data.new_version;
140
+ document.cookie = `newVersion=${newVersion}${expires}; path=/`;
141
+ suggestNewVersion(element, newVersion);
142
+ } else {
143
+ console.log('SequenceServer is up to date');
144
+ document.cookie = `versionIsLatest=true${expires}; path=/`;
145
+ }
146
+ })
147
+ .catch(() => {});
148
+ });
149
+
150
+ </script>
151
+ </body>
152
+ </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>