Go to the documentation of this file.Go to the SVN repository for this file.
1 "<!DOCTYPE HTML><html>\n"
3 " <title>PubSeq Gateway - Help Page</title>\n"
6 " border: 1px solid;\n"
10 " border-collapse: collapse;\n"
13 " background-color: #D8D8D8;\n"
14 " font-size: larger;\n"
15 " font-weight: bold;\n"
17 " table.first-column > tbody > tr > td:nth-of-type(1) {\n"
18 " font-size: larger;\n"
19 " font-weight: bold;\n"
20 " background-color: #F5F5F5;\n"
22 " table.nested td {\n"
23 " border-color: silver;\n"
29 " <h1>PubSeq Gateway</h1>\n"
30 " <p>Accession resolution and retrieval of bio-sequences. Retrieval of named annotations.</p>\n"
37 " <td>build-date</td>\n"
38 " <td>Jan 30 2024 11:51:23</td>\n"
40 " </table><br><hr><br><br><h2>Commands</h2>\n"
42 " <li><a href=\"#ID_getblob\">ID/getblob</a></li>\n"
43 " <li><a href=\"#ID_get\">ID/get</a></li>\n"
44 " <li><a href=\"#ID_get_tse_chunk\">ID/get_tse_chunk</a></li>\n"
45 " <li><a href=\"#ID_resolve\">ID/resolve</a></li>\n"
46 " <li><a href=\"#ID_get_na\">ID/get_na</a></li>\n"
47 " <li><a href=\"#ID_get_acc_ver_history\">ID/get_acc_ver_history</a></li>\n"
48 " <li><a href=\"#IPG_resolve\">IPG/resolve</a></li>\n"
49 " <li><a href=\"#ADMIN_config\">ADMIN/config</a></li>\n"
50 " <li><a href=\"#ADMIN_info\">ADMIN/info</a></li>\n"
51 " <li><a href=\"#ADMIN_status\">ADMIN/status</a></li>\n"
52 " <li><a href=\"#ADMIN_shutdown\">ADMIN/shutdown</a></li>\n"
53 " <li><a href=\"#ADMIN_get_alerts\">ADMIN/get_alerts</a></li>\n"
54 " <li><a href=\"#ADMIN_ack_alerts\">ADMIN/ack_alerts</a></li>\n"
55 " <li><a href=\"#ADMIN_statistics\">ADMIN/statistics</a></li>\n"
56 " <li><a href=\"#TEST_io\">TEST/io</a></li>\n"
57 " <li><a href=\"#health\">health</a></li>\n"
58 " <li><a href=\"#deep-health\">deep-health</a></li>\n"
59 " <li><a href=\"#favicon.ico\">favicon.ico</a></li>\n"
60 " <li><a href=\"#unknown\">unknown</a></li>\n"
61 " </ul><a id=\"ID_getblob\"></a><h2>ID/getblob</h2>\n"
62 " <p>Retrieves blob chunks basing on the blob identifier</p>\n"
63 " <table class=\"first-column\">\n"
65 " <th>Parameter</th>\n"
66 " <th>Optional</th>\n"
68 " <th>Description</th>\n"
69 " <th>Allowed Values</th>\n"
74 " <td>mandatory</td>\n"
76 " <td class=\"description\"><sat>.<sat_key>. The blob sat and sat key. Both must be positive integers.</td>\n"
77 " <td>Non empty string. The interpretation of the blob id depends on a processor. Cassandra\n"
78 " processor expects the following format: <sat>.<sat key> where boath are integers</td>\n"
83 " <td>optional</td>\n"
85 " <td class=\"description\">TSE option controls what blob is provided:<br><br><table class=\"nested\">\n"
88 " <td>ID2 split available</td>\n"
89 " <td>ID2 split not available</td>\n"
98 " <td>Split INFO blob only</td>\n"
103 " <td>Split INFO blob only</td>\n"
104 " <td>All Cassandra data chunks of the blob itself</td>\n"
108 " <td>All split blobs</td>\n"
109 " <td>All Cassandra data chunks of the blob itself</td>\n"
113 " <td>All Cassandra data chunks of the blob itself</td>\n"
114 " <td>All Cassandra data chunks of the blob itself</td>\n"
118 " <td>none, whole, orig, smart and slim</td>\n"
122 " <td>last_modified</td>\n"
123 " <td>optional</td>\n"
124 " <td>Integer</td>\n"
125 " <td class=\"description\">The blob last modification. If provided then the exact match will be requested with\n"
126 " the Cassandra storage corresponding field value.</td>\n"
127 " <td>Positive integer. Not provided means that the most recent match will be selected.</td>\n"
131 " <td>use_cache</td>\n"
132 " <td>optional</td>\n"
134 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
135 " affects the seq id resolution step and the blob properties lookup step. The following\n"
136 " options are available:<br><br><table class=\"nested\">\n"
139 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
140 " Cassandra database for the lookups.</td>\n"
144 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
145 " only the LMDB cache.</td>\n"
149 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
153 " <td>yes, no and not provided</td>\n"
157 " <td>include_hup</td>\n"
158 " <td>optional</td>\n"
160 " <td class=\"description\">Explicitly tells the server if it should try to retrieve data from HUP keyspaces.\n"
161 " If data are coming from a secure keyspace then the following logic is used. If the\n"
162 " include_hup option is provided then the decision is made basing on the provided value.\n"
163 " Otherwise a decision is made basing on the presence of the WebCubbyUser cookie. If\n"
164 " it was decided that HUP data needs to be provided then the server uses the WebCubbyUser\n"
165 " cookie value to perform an authorization check.</td>\n"
166 " <td>yes and no</td>\n"
170 " <td>client_id</td>\n"
171 " <td>optional</td>\n"
173 " <td class=\"description\">The client identifier. If provided then the exclude blob feature takes place.</td>\n"
174 " <td>A string identifier</td>\n"
178 " <td>send_blob_if_small</td>\n"
179 " <td>optional</td>\n"
180 " <td>Integer</td>\n"
181 " <td class=\"description\"></td>\n"
182 " <td>An integer greater or equal 0</td>\n"
187 " <td>optional</td>\n"
189 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
190 " <td>yes and no</td>\n"
195 " <td>optional</td>\n"
196 " <td>Integer</td>\n"
197 " <td class=\"description\">A numbers of hops before the request reached the server</td>\n"
198 " <td>An integer greater or equal 0</td>\n"
202 " <td>enable_processor</td>\n"
203 " <td>optional</td>\n"
205 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
206 " repeated as many times as needed.</td>\n"
207 " <td>A string</td>\n"
211 " <td>disable_processor</td>\n"
212 " <td>optional</td>\n"
214 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
215 " be repeated as many times as needed.</td>\n"
216 " <td>A string</td>\n"
220 " <td>processor_events</td>\n"
221 " <td>optional</td>\n"
223 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
224 " <td>yes and no</td>\n"
229 " <p>The PSG protocol is used in the HTTP body. The blob properties and chunks are provided.</p>\n"
230 " <hr><br><br><a id=\"ID_get\"></a><h2>ID/get</h2>\n"
231 " <p>Retrieves blob chunks basing on the seq_id and seq_id_type</p>\n"
232 " <table class=\"first-column\">\n"
234 " <th>Parameter</th>\n"
235 " <th>Optional</th>\n"
237 " <th>Description</th>\n"
238 " <th>Allowed Values</th>\n"
239 " <th>Default</th>\n"
243 " <td>mandatory</td>\n"
245 " <td class=\"description\">Sequence identifier</td>\n"
246 " <td>A string identifier</td>\n"
250 " <td>seq_id_type</td>\n"
251 " <td>optional</td>\n"
252 " <td>Integer</td>\n"
253 " <td class=\"description\">Sequence identifier type</td>\n"
254 " <td>Integer type greater than 0</td>\n"
258 " <td>use_cache</td>\n"
259 " <td>optional</td>\n"
261 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
262 " affects the seq id resolution step and the blob properties lookup step. The following\n"
263 " options are available:<br><br><table class=\"nested\">\n"
266 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
267 " Cassandra database for the lookups.</td>\n"
271 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
272 " only the LMDB cache.</td>\n"
276 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
280 " <td>yes, no and not provided</td>\n"
285 " <td>optional</td>\n"
287 " <td class=\"description\">TSE option controls what blob is provided:<br><br><table class=\"nested\">\n"
290 " <td>ID2 split available</td>\n"
291 " <td>ID2 split not available</td>\n"
295 " <td>Nothing</td>\n"
296 " <td>Nothing</td>\n"
300 " <td>Split INFO blob only</td>\n"
301 " <td>Nothing</td>\n"
305 " <td>Split INFO blob only</td>\n"
306 " <td>All Cassandra data chunks of the blob itself</td>\n"
310 " <td>All split blobs</td>\n"
311 " <td>All Cassandra data chunks of the blob itself</td>\n"
315 " <td>All Cassandra data chunks of the blob itself</td>\n"
316 " <td>All Cassandra data chunks of the blob itself</td>\n"
320 " <td>none, whole, orig, smart and slim</td>\n"
324 " <td>exclude_blobs</td>\n"
325 " <td>optional</td>\n"
327 " <td class=\"description\">A comma separated list of blob identifiers which client already has. If provided then\n"
328 " if the resolution of sequence identifier/sequence identifier type matches one of the\n"
329 " blob identifiers in the list then the blob will not be sent. The format of the blob\n"
330 " identifier depends on a processor. For example, a Cassandra processor expects the\n"
331 " format as <sat>.<sat key> where both of them are integers. Note: it works in conjunction\n"
332 " with the client_id parameter.</td>\n"
333 " <td>A list of blob indentifiers</td>\n"
337 " <td>client_id</td>\n"
338 " <td>optional</td>\n"
340 " <td class=\"description\">The client identifier. If provided then the exclude blob feature takes place.</td>\n"
341 " <td>A string identifier</td>\n"
345 " <td>acc_substitution</td>\n"
346 " <td>optional</td>\n"
348 " <td class=\"description\">The option controls how the bioseq info accession substitution is done. If the substitution\n"
349 " is needed then the seq_ids list is analyzed. If there is one with Gi then it is taken\n"
350 " for substitution. Otherwise an arbitrary one is picked. The supported policy values\n"
351 " are:<br><br><table class=\"nested\">\n"
353 " <td>default</td>\n"
354 " <td>substitute if version value (version <= 0) or seq_id_type is Gi(12)</td>\n"
357 " <td>limited</td>\n"
358 " <td>substitute only if the resolved record's seq_id_type is GI(12)</td>\n"
362 " <td>the accession substitution is never done</td>\n"
366 " <td>limited, never or default</td>\n"
367 " <td>default</td>\n"
370 " <td>send_blob_if_small</td>\n"
371 " <td>optional</td>\n"
372 " <td>Integer</td>\n"
373 " <td class=\"description\"></td>\n"
374 " <td>An integer greater or equal 0</td>\n"
378 " <td>resend_timeout</td>\n"
379 " <td>optional</td>\n"
381 " <td class=\"description\">If the blob has already been sent to the client more than this time ago then the blob\n"
382 " will be sent anyway. If less then the 'already sent' reply will have an additional\n"
383 " field 'sent_seconds_ago' with the corresponding value. The special value 0 means that\n"
384 " the blob will be sent regardless when it was already sent.</td>\n"
385 " <td>Floating point value greater or equal 0.0</td>\n"
386 " <td>Taken from [SERVER]/resend_timeout configuration setting</td>\n"
389 " <td>seq_id_resolve</td>\n"
390 " <td>optional</td>\n"
392 " <td class=\"description\">If yes then use the full resolution procedure using all provided sequence identifiers.\n"
393 " Otherwise use only bioseq info table and GI sequence identifiers.</td>\n"
394 " <td>yes and no</td>\n"
398 " <td>include_hup</td>\n"
399 " <td>optional</td>\n"
401 " <td class=\"description\">Explicitly tells the server if it should try to retrieve data from HUP keyspaces.\n"
402 " If data are coming from a secure keyspace then the following logic is used. If the\n"
403 " include_hup option is provided then the decision is made basing on the provided value.\n"
404 " Otherwise a decision is made basing on the presence of the WebCubbyUser cookie. If\n"
405 " it was decided that HUP data needs to be provided then the server uses the WebCubbyUser\n"
406 " cookie value to perform an authorization check.</td>\n"
407 " <td>yes and no</td>\n"
412 " <td>optional</td>\n"
414 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
415 " <td>yes and no</td>\n"
420 " <td>optional</td>\n"
421 " <td>Integer</td>\n"
422 " <td class=\"description\">A numbers of hops before the request reached the server</td>\n"
423 " <td>An integer greater or equal 0</td>\n"
427 " <td>enable_processor</td>\n"
428 " <td>optional</td>\n"
430 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
431 " repeated as many times as needed.</td>\n"
432 " <td>A string</td>\n"
436 " <td>disable_processor</td>\n"
437 " <td>optional</td>\n"
439 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
440 " be repeated as many times as needed.</td>\n"
441 " <td>A string</td>\n"
445 " <td>processor_events</td>\n"
446 " <td>optional</td>\n"
448 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
449 " <td>yes and no</td>\n"
454 " <p>The PSG protocol is used in the HTTP body. The bioseq info, blob properties and chunks\n"
455 " are provided.</p>\n"
456 " <hr><br><br><a id=\"ID_get_tse_chunk\"></a><h2>ID/get_tse_chunk</h2>\n"
457 " <p>Retrieves a TSE blob chunk</p>\n"
458 " <table class=\"first-column\">\n"
460 " <th>Parameter</th>\n"
461 " <th>Optional</th>\n"
463 " <th>Description</th>\n"
464 " <th>Allowed Values</th>\n"
465 " <th>Default</th>\n"
468 " <td>id2_chunk</td>\n"
469 " <td>mandatory</td>\n"
470 " <td>Integer</td>\n"
471 " <td class=\"description\">The tse blob chunk number. The Cassandra processor recognizes a special value of 999999999\n"
472 " for the parameter. In this case the effective chunk number will be taken from the\n"
473 " id2_info parameter</td>\n"
474 " <td>Integer greater or equal 0. Some processors may introduce more strict rules. For example,\n"
475 " Cassandra processor requires the chunk number to be greater than 0.</td>\n"
479 " <td>id2_info</td>\n"
480 " <td>mandatory</td>\n"
482 " <td class=\"description\">The following formats are recognized:<br><br><table class=\"nested\">\n"
484 " <td>Cassandra processor, option 1</td>\n"
485 " <td>3 or 4 integers separated by '.': <sat>.<info>.<chunks>[.<split version>]</td>\n"
488 " <td>Cassandra processor, option 2</td>\n"
489 " <td>psg~~tse_id-<sat>.<sat key>[~~tse_last_modified-<int>[~~tse_split_version-<int>]</td>\n"
492 " <td>Other processors</td>\n"
493 " <td>id2~~tse_id-<string>~~tse_last_modified-<int>~~tse_split_version-<int></td>\n"
497 " <td>A string in a format recognisable by one of the processors</td>\n"
501 " <td>use_cache</td>\n"
502 " <td>optional</td>\n"
504 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
505 " affects the seq id resolution step and the blob properties lookup step. The following\n"
506 " options are available:<br><br><table class=\"nested\">\n"
509 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
510 " Cassandra database for the lookups.</td>\n"
514 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
515 " only the LMDB cache.</td>\n"
519 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
523 " <td>yes, no and not provided</td>\n"
527 " <td>include_hup</td>\n"
528 " <td>optional</td>\n"
530 " <td class=\"description\">Explicitly tells the server if it should try to retrieve data from HUP keyspaces.\n"
531 " If data are coming from a secure keyspace then the following logic is used. If the\n"
532 " include_hup option is provided then the decision is made basing on the provided value.\n"
533 " Otherwise a decision is made basing on the presence of the WebCubbyUser cookie. If\n"
534 " it was decided that HUP data needs to be provided then the server uses the WebCubbyUser\n"
535 " cookie value to perform an authorization check.</td>\n"
536 " <td>yes and no</td>\n"
541 " <td>optional</td>\n"
543 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
544 " <td>yes and no</td>\n"
549 " <td>optional</td>\n"
550 " <td>Integer</td>\n"
551 " <td class=\"description\">A numbers of hops before the request reached the server</td>\n"
552 " <td>An integer greater or equal 0</td>\n"
556 " <td>enable_processor</td>\n"
557 " <td>optional</td>\n"
559 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
560 " repeated as many times as needed.</td>\n"
561 " <td>A string</td>\n"
565 " <td>disable_processor</td>\n"
566 " <td>optional</td>\n"
568 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
569 " be repeated as many times as needed.</td>\n"
570 " <td>A string</td>\n"
574 " <td>processor_events</td>\n"
575 " <td>optional</td>\n"
577 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
578 " <td>yes and no</td>\n"
583 " <p>The PSG protocol is used in the HTTP body. The blob properties and chunks are provided.</p>\n"
584 " <hr><br><br><a id=\"ID_resolve\"></a><h2>ID/resolve</h2>\n"
585 " <p>Resolve seq_id and provide bioseq info</p>\n"
586 " <table class=\"first-column\">\n"
588 " <th>Parameter</th>\n"
589 " <th>Optional</th>\n"
591 " <th>Description</th>\n"
592 " <th>Allowed Values</th>\n"
593 " <th>Default</th>\n"
597 " <td>mandatory</td>\n"
599 " <td class=\"description\">Sequence identifier</td>\n"
600 " <td>A string identifier</td>\n"
604 " <td>seq_id_type</td>\n"
605 " <td>optional</td>\n"
606 " <td>Integer</td>\n"
607 " <td class=\"description\">Sequence identifier type</td>\n"
608 " <td>Integer type greater than 0</td>\n"
612 " <td>use_cache</td>\n"
613 " <td>optional</td>\n"
615 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
616 " affects the seq id resolution step and the blob properties lookup step. The following\n"
617 " options are available:<br><br><table class=\"nested\">\n"
620 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
621 " Cassandra database for the lookups.</td>\n"
625 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
626 " only the LMDB cache.</td>\n"
630 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
634 " <td>yes, no and not provided</td>\n"
639 " <td>optional</td>\n"
641 " <td class=\"description\">The format of the data sent to the client. Available options:<br><br><table class=\"nested\">\n"
643 " <td>protobuf</td>\n"
644 " <td>bioseq info will be sent as a protobuf binary data</td>\n"
648 " <td>bioseq info will be sent as a serialized JSON dictionary</td>\n"
652 " <td>the server decides what format to use: protobuf or json</td>\n"
656 " <td>protobuf, json or native</td>\n"
660 " <td>all_info</td>\n"
661 " <td>optional</td>\n"
663 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
665 " <td>yes and no</td>\n"
669 " <td>canon_id</td>\n"
670 " <td>optional</td>\n"
672 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
674 " <td>yes and no</td>\n"
678 " <td>seq_ids</td>\n"
679 " <td>optional</td>\n"
681 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
683 " <td>yes and no</td>\n"
687 " <td>mol_type</td>\n"
688 " <td>optional</td>\n"
690 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
692 " <td>yes and no</td>\n"
697 " <td>optional</td>\n"
699 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
701 " <td>yes and no</td>\n"
706 " <td>optional</td>\n"
708 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
710 " <td>yes and no</td>\n"
714 " <td>blob_id</td>\n"
715 " <td>optional</td>\n"
717 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
719 " <td>yes and no</td>\n"
724 " <td>optional</td>\n"
726 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
728 " <td>yes and no</td>\n"
733 " <td>optional</td>\n"
735 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
737 " <td>yes and no</td>\n"
741 " <td>date_changed</td>\n"
742 " <td>optional</td>\n"
744 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
746 " <td>yes and no</td>\n"
751 " <td>optional</td>\n"
753 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
755 " <td>yes and no</td>\n"
760 " <td>optional</td>\n"
762 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
764 " <td>yes and no</td>\n"
768 " <td>seq_state</td>\n"
769 " <td>optional</td>\n"
771 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
773 " <td>yes and no</td>\n"
777 " <td>acc_substitution</td>\n"
778 " <td>optional</td>\n"
780 " <td class=\"description\">The option controls how the bioseq info accession substitution is done. If the substitution\n"
781 " is needed then the seq_ids list is analyzed. If there is one with Gi then it is taken\n"
782 " for substitution. Otherwise an arbitrary one is picked. The supported policy values\n"
783 " are:<br><br><table class=\"nested\">\n"
785 " <td>default</td>\n"
786 " <td>substitute if version value (version <= 0) or seq_id_type is Gi(12)</td>\n"
789 " <td>limited</td>\n"
790 " <td>substitute only if the resolved record's seq_id_type is GI(12)</td>\n"
794 " <td>the accession substitution is never done</td>\n"
798 " <td>limited, never or default</td>\n"
799 " <td>default</td>\n"
802 " <td>seq_id_resolve</td>\n"
803 " <td>optional</td>\n"
805 " <td class=\"description\">If yes then use the full resolution procedure using all provided sequence identifiers.\n"
806 " Otherwise use only bioseq info table and GI sequence identifiers.</td>\n"
807 " <td>yes and no</td>\n"
812 " <td>optional</td>\n"
814 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
815 " <td>yes and no</td>\n"
820 " <td>optional</td>\n"
821 " <td>Integer</td>\n"
822 " <td class=\"description\">A numbers of hops before the request reached the server</td>\n"
823 " <td>An integer greater or equal 0</td>\n"
827 " <td>enable_processor</td>\n"
828 " <td>optional</td>\n"
830 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
831 " repeated as many times as needed.</td>\n"
832 " <td>A string</td>\n"
836 " <td>disable_processor</td>\n"
837 " <td>optional</td>\n"
839 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
840 " be repeated as many times as needed.</td>\n"
841 " <td>A string</td>\n"
845 " <td>processor_events</td>\n"
846 " <td>optional</td>\n"
848 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
849 " <td>yes and no</td>\n"
854 " <p>The bioseq info is sent back in the HTTP body as binary protobuf or as PSG protocol\n"
855 " chunks depending on the protocol choice</p>\n"
856 " <hr><br><br><a id=\"ID_get_na\"></a><h2>ID/get_na</h2>\n"
857 " <p>Retrieves named annotations</p>\n"
858 " <table class=\"first-column\">\n"
860 " <th>Parameter</th>\n"
861 " <th>Optional</th>\n"
863 " <th>Description</th>\n"
864 " <th>Allowed Values</th>\n"
865 " <th>Default</th>\n"
869 " <td>optional</td>\n"
871 " <td class=\"description\">Sequence identifier. This or seq_ids parameter value must be provided for the request.</td>\n"
872 " <td>A string identifier</td>\n"
876 " <td>seq_ids</td>\n"
877 " <td>optional</td>\n"
879 " <td class=\"description\">A space separated list of the sequence identifier synonims. This or seq_id parameter\n"
880 " value must be provided for the request.</td>\n"
881 " <td>A list of space separated string identifiers</td>\n"
885 " <td>seq_id_type</td>\n"
886 " <td>optional</td>\n"
887 " <td>Integer</td>\n"
888 " <td class=\"description\">Sequence identifier type</td>\n"
889 " <td>Integer type greater than 0</td>\n"
894 " <td>mandatory</td>\n"
896 " <td class=\"description\">A comma separated list of named annotations to be retrieved.</td>\n"
897 " <td>A string</td>\n"
901 " <td>use_cache</td>\n"
902 " <td>optional</td>\n"
904 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
905 " affects the seq id resolution step and the blob properties lookup step. The following\n"
906 " options are available:<br><br><table class=\"nested\">\n"
909 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
910 " Cassandra database for the lookups.</td>\n"
914 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
915 " only the LMDB cache.</td>\n"
919 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
923 " <td>yes, no and not provided</td>\n"
928 " <td>optional</td>\n"
930 " <td class=\"description\">The format of the data sent to the client. Available options:<br><br><table class=\"nested\">\n"
932 " <td>protobuf</td>\n"
933 " <td>bioseq info will be sent as a protobuf binary data</td>\n"
937 " <td>bioseq info will be sent as a serialized JSON dictionary</td>\n"
941 " <td>the server decides what format to use: protobuf or json</td>\n"
945 " <td>protobuf, json or native</td>\n"
950 " <td>optional</td>\n"
952 " <td class=\"description\">TSE option controls what blob is provided:<br><br><table class=\"nested\">\n"
955 " <td>ID2 split available</td>\n"
956 " <td>ID2 split not available</td>\n"
960 " <td>Nothing</td>\n"
961 " <td>Nothing</td>\n"
965 " <td>Split INFO blob only</td>\n"
966 " <td>Nothing</td>\n"
970 " <td>Split INFO blob only</td>\n"
971 " <td>All Cassandra data chunks of the blob itself</td>\n"
975 " <td>All split blobs</td>\n"
976 " <td>All Cassandra data chunks of the blob itself</td>\n"
980 " <td>All Cassandra data chunks of the blob itself</td>\n"
981 " <td>All Cassandra data chunks of the blob itself</td>\n"
985 " <td>none, whole, orig, smart and slim</td>\n"
989 " <td>client_id</td>\n"
990 " <td>optional</td>\n"
992 " <td class=\"description\">The client identifier. If provided then the exclude blob feature takes place.</td>\n"
993 " <td>A string identifier</td>\n"
997 " <td>send_blob_if_small</td>\n"
998 " <td>optional</td>\n"
999 " <td>Integer</td>\n"
1000 " <td class=\"description\"></td>\n"
1001 " <td>An integer greater or equal 0</td>\n"
1005 " <td>seq_id_resolve</td>\n"
1006 " <td>optional</td>\n"
1007 " <td>String</td>\n"
1008 " <td class=\"description\">If yes then use the full resolution procedure using all provided sequence identifiers.\n"
1009 " Otherwise use only bioseq info table and GI sequence identifiers.</td>\n"
1010 " <td>yes and no</td>\n"
1014 " <td>resend_timeout</td>\n"
1015 " <td>optional</td>\n"
1017 " <td class=\"description\">If the blob has already been sent to the client more than this time ago then the blob\n"
1018 " will be sent anyway. If less then the 'already sent' reply will have an additional\n"
1019 " field 'sent_seconds_ago' with the corresponding value. The special value 0 means that\n"
1020 " the blob will be sent regardless when it was already sent.</td>\n"
1021 " <td>Floating point value greater or equal 0.0</td>\n"
1022 " <td>Taken from [SERVER]/resend_timeout configuration setting</td>\n"
1025 " <td>snp_scale_limit</td>\n"
1026 " <td>optional</td>\n"
1027 " <td>String</td>\n"
1028 " <td class=\"description\">GenBank ID2 SNP reader parameter</td>\n"
1029 " <td>chromosome, contig, supercontig, unit and not provided</td>\n"
1034 " <td>optional</td>\n"
1035 " <td>String</td>\n"
1036 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
1037 " <td>yes and no</td>\n"
1042 " <td>optional</td>\n"
1043 " <td>Integer</td>\n"
1044 " <td class=\"description\">A numbers of hops before the request reached the server</td>\n"
1045 " <td>An integer greater or equal 0</td>\n"
1049 " <td>enable_processor</td>\n"
1050 " <td>optional</td>\n"
1051 " <td>String</td>\n"
1052 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
1053 " repeated as many times as needed.</td>\n"
1054 " <td>A string</td>\n"
1058 " <td>disable_processor</td>\n"
1059 " <td>optional</td>\n"
1060 " <td>String</td>\n"
1061 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
1062 " be repeated as many times as needed.</td>\n"
1063 " <td>A string</td>\n"
1067 " <td>processor_events</td>\n"
1068 " <td>optional</td>\n"
1069 " <td>String</td>\n"
1070 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
1071 " <td>yes and no</td>\n"
1076 " <p>The PSG protocol is used in the HTTP body. The bioseq info and named annotation chunks\n"
1077 " are provided.</p>\n"
1078 " <hr><br><br><a id=\"ID_get_acc_ver_history\"></a><h2>ID/get_acc_ver_history</h2>\n"
1079 " <p>Retrieves accession version history</p>\n"
1080 " <table class=\"first-column\">\n"
1082 " <th>Parameter</th>\n"
1083 " <th>Optional</th>\n"
1085 " <th>Description</th>\n"
1086 " <th>Allowed Values</th>\n"
1087 " <th>Default</th>\n"
1090 " <td>seq_id</td>\n"
1091 " <td>mandatory</td>\n"
1092 " <td>String</td>\n"
1093 " <td class=\"description\">Sequence identifier</td>\n"
1094 " <td>A string identifier</td>\n"
1098 " <td>seq_id_type</td>\n"
1099 " <td>optional</td>\n"
1100 " <td>Integer</td>\n"
1101 " <td class=\"description\">Sequence identifier type</td>\n"
1102 " <td>Integer type greater than 0</td>\n"
1106 " <td>use_cache</td>\n"
1107 " <td>optional</td>\n"
1108 " <td>String</td>\n"
1109 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
1110 " affects the seq id resolution step and the blob properties lookup step. The following\n"
1111 " options are available:<br><br><table class=\"nested\">\n"
1114 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
1115 " Cassandra database for the lookups.</td>\n"
1119 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
1120 " only the LMDB cache.</td>\n"
1124 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
1128 " <td>yes, no and not provided</td>\n"
1133 " <td>optional</td>\n"
1134 " <td>String</td>\n"
1135 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
1136 " <td>yes and no</td>\n"
1141 " <td>optional</td>\n"
1142 " <td>Integer</td>\n"
1143 " <td class=\"description\">A numbers of hops before the request reached the server</td>\n"
1144 " <td>An integer greater or equal 0</td>\n"
1148 " <td>enable_processor</td>\n"
1149 " <td>optional</td>\n"
1150 " <td>String</td>\n"
1151 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
1152 " repeated as many times as needed.</td>\n"
1153 " <td>A string</td>\n"
1157 " <td>disable_processor</td>\n"
1158 " <td>optional</td>\n"
1159 " <td>String</td>\n"
1160 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
1161 " be repeated as many times as needed.</td>\n"
1162 " <td>A string</td>\n"
1166 " <td>processor_events</td>\n"
1167 " <td>optional</td>\n"
1168 " <td>String</td>\n"
1169 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
1170 " <td>yes and no</td>\n"
1175 " <p>The PSG protocol is used in the HTTP body. The bioseq info and accession version history\n"
1176 " chunks are provided.</p>\n"
1177 " <hr><br><br><a id=\"IPG_resolve\"></a><h2>IPG/resolve</h2>\n"
1178 " <p>Resolve nucleotide/protein/ipg and provide ipg info</p>\n"
1179 " <table class=\"first-column\">\n"
1181 " <th>Parameter</th>\n"
1182 " <th>Optional</th>\n"
1184 " <th>Description</th>\n"
1185 " <th>Allowed Values</th>\n"
1186 " <th>Default</th>\n"
1189 " <td>protein</td>\n"
1190 " <td>mandatory</td>\n"
1191 " <td>String</td>\n"
1192 " <td class=\"description\">The protein to be resolved. It may be ommitted if ipg is provided.</td>\n"
1193 " <td>A string identifier</td>\n"
1197 " <td>nucleotide</td>\n"
1198 " <td>optional</td>\n"
1199 " <td>String</td>\n"
1200 " <td class=\"description\">The nucleotide to be resolved.</td>\n"
1201 " <td>A string identifier</td>\n"
1206 " <td>mandatory</td>\n"
1207 " <td>Integer</td>\n"
1208 " <td class=\"description\">The ipg to be resolved. It may be ommitted if protein is provided.</td>\n"
1209 " <td>An integer greater than 0</td>\n"
1213 " <td>use_cache</td>\n"
1214 " <td>optional</td>\n"
1215 " <td>String</td>\n"
1216 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
1217 " affects the seq id resolution step and the blob properties lookup step. The following\n"
1218 " options are available:<br><br><table class=\"nested\">\n"
1221 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
1222 " Cassandra database for the lookups.</td>\n"
1226 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
1227 " only the LMDB cache.</td>\n"
1231 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
1235 " <td>yes, no and not provided</td>\n"
1239 " <td>seq_id_resolve</td>\n"
1240 " <td>optional</td>\n"
1241 " <td>String</td>\n"
1242 " <td class=\"description\">If yes then use the full resolution procedure using all provided sequence identifiers.\n"
1243 " Otherwise use only bioseq info table and GI sequence identifiers.</td>\n"
1244 " <td>yes and no</td>\n"
1249 " <td>optional</td>\n"
1250 " <td>String</td>\n"
1251 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
1252 " <td>yes and no</td>\n"
1256 " <td>enable_processor</td>\n"
1257 " <td>optional</td>\n"
1258 " <td>String</td>\n"
1259 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
1260 " repeated as many times as needed.</td>\n"
1261 " <td>A string</td>\n"
1265 " <td>disable_processor</td>\n"
1266 " <td>optional</td>\n"
1267 " <td>String</td>\n"
1268 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
1269 " be repeated as many times as needed.</td>\n"
1270 " <td>A string</td>\n"
1274 " <td>processor_events</td>\n"
1275 " <td>optional</td>\n"
1276 " <td>String</td>\n"
1277 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
1278 " <td>yes and no</td>\n"
1283 " <p>The ipg record(s) is sent baback in the HTTP body as PSG protocol chunks</p>\n"
1284 " <hr><br><br><a id=\"ADMIN_config\"></a><h2>ADMIN/config</h2>\n"
1285 " <p>Provides the server configuration information</p>\n"
1287 " <p>The HTTP body is a JSON dictionary with the configuration information. The request\n"
1288 " may be configured as protected in the server settings. If so then the server will\n"
1289 " use the value of the AdminAuthToken cookie to check permissions.</p>\n"
1290 " <hr><br><br><a id=\"ADMIN_info\"></a><h2>ADMIN/info</h2>\n"
1291 " <p>Provides the server run-time information</p>\n"
1293 " <p>The HTTP body is a JSON dictionary with the run-time information like resource consumption.\n"
1294 " The request may be configured as protected in the server settings. If so then the\n"
1295 " server will use the value of the AdminAuthToken cookie to check permissions.</p>\n"
1296 " <hr><br><br><a id=\"ADMIN_status\"></a><h2>ADMIN/status</h2>\n"
1297 " <p>Provides the server event counters</p>\n"
1299 " <p>The HTTP body is a JSON dictionary with various event counters. The request may be\n"
1300 " configured as protected in the server settings. If so then the server will use the\n"
1301 " value of the AdminAuthToken cookie to check permissions.</p>\n"
1302 " <hr><br><br><a id=\"ADMIN_shutdown\"></a><h2>ADMIN/shutdown</h2>\n"
1303 " <p>Performs the server shutdown</p>\n"
1304 " <table class=\"first-column\">\n"
1306 " <th>Parameter</th>\n"
1307 " <th>Optional</th>\n"
1309 " <th>Description</th>\n"
1310 " <th>Allowed Values</th>\n"
1311 " <th>Default</th>\n"
1314 " <td>username</td>\n"
1315 " <td>optional</td>\n"
1316 " <td>String</td>\n"
1317 " <td class=\"description\">The user name who requested the shutdown</td>\n"
1318 " <td>A string identifier</td>\n"
1322 " <td>auth_token</td>\n"
1323 " <td>optional</td>\n"
1324 " <td>String</td>\n"
1325 " <td class=\"description\">Authorization token. If the configuration [ADMIN]/auth_token value is configured then\n"
1326 " the request must have the token value matching the configured to be granted.</td>\n"
1327 " <td>A string identifier</td>\n"
1331 " <td>timeout</td>\n"
1332 " <td>optional</td>\n"
1333 " <td>Integer</td>\n"
1334 " <td class=\"description\">The timeout in seconds within which the shutdown must be performed. If 0 then it leads\n"
1335 " to an immediate shutdown. If 1 or more seconds then the server will reject all new\n"
1336 " requests and wait till the timeout is over or all the pending requests are completed\n"
1337 " and then do the shutdown.</td>\n"
1338 " <td>An integer greater or equal 0</td>\n"
1343 " <p>The standard HTTP protocol is used. The request may be configured as protected in\n"
1344 " the server settings. If so then the server will use the value of the AdminAuthToken\n"
1345 " cookie to check permissions.</p>\n"
1346 " <hr><br><br><a id=\"ADMIN_get_alerts\"></a><h2>ADMIN/get_alerts</h2>\n"
1347 " <p>Provides the server alerts</p>\n"
1349 " <p>The HTTP body is a JSON dictionary with the current server alerts. The request may\n"
1350 " be configured as protected in the server settings. If so then the server will use\n"
1351 " the value of the AdminAuthToken cookie to check permissions.</p>\n"
1352 " <hr><br><br><a id=\"ADMIN_ack_alerts\"></a><h2>ADMIN/ack_alerts</h2>\n"
1353 " <p>Acknowledge an alert</p>\n"
1354 " <table class=\"first-column\">\n"
1356 " <th>Parameter</th>\n"
1357 " <th>Optional</th>\n"
1359 " <th>Description</th>\n"
1360 " <th>Allowed Values</th>\n"
1361 " <th>Default</th>\n"
1365 " <td>mandatory</td>\n"
1366 " <td>String</td>\n"
1367 " <td class=\"description\">The alert identifier to acknowledge</td>\n"
1368 " <td>A string identifier</td>\n"
1372 " <td>username</td>\n"
1373 " <td>mandatory</td>\n"
1374 " <td>String</td>\n"
1375 " <td class=\"description\">The user name who acknowledges the alert</td>\n"
1376 " <td>A string identifier</td>\n"
1381 " <p>The standard HTTP protocol is used. The request may be configured as protected in\n"
1382 " the server settings. If so then the server will use the value of the AdminAuthToken\n"
1383 " cookie to check permissions.</p>\n"
1384 " <hr><br><br><a id=\"ADMIN_statistics\"></a><h2>ADMIN/statistics</h2>\n"
1385 " <p>Provides the server collected statistics</p>\n"
1386 " <table class=\"first-column\">\n"
1388 " <th>Parameter</th>\n"
1389 " <th>Optional</th>\n"
1391 " <th>Description</th>\n"
1392 " <th>Allowed Values</th>\n"
1393 " <th>Default</th>\n"
1397 " <td>optional</td>\n"
1398 " <td>String</td>\n"
1399 " <td class=\"description\">If provided then the collected statistics is rest. Otherwise the collected statistics\n"
1400 " is sent to the client.</td>\n"
1401 " <td>yes and no</td>\n"
1405 " <td>most_recent_time</td>\n"
1406 " <td>optional</td>\n"
1407 " <td>Integer</td>\n"
1408 " <td class=\"description\">Number of seconds in the past for the most recent time range limit</td>\n"
1409 " <td>An integer greater or equal 0</td>\n"
1413 " <td>most_ancient_time</td>\n"
1414 " <td>optional</td>\n"
1415 " <td>Integer</td>\n"
1416 " <td class=\"description\">Number of seconds in the past for the most ancient time range limit</td>\n"
1417 " <td>An integer greater or equal 0</td>\n"
1418 " <td>Effectively infinity, max integer</td>\n"
1421 " <td>histogram_names</td>\n"
1422 " <td>optional</td>\n"
1423 " <td>String</td>\n"
1424 " <td class=\"description\">Comma separated list of the histogram names. If provided then the server returns all\n"
1425 " existing histograms (listed in histogram_names) which intersect with the specified\n"
1426 " time period.</td>\n"
1427 " <td>A comma separated list of string identifiers</td>\n"
1431 " <td>time_series</td>\n"
1432 " <td>optional</td>\n"
1433 " <td>String</td>\n"
1434 " <td class=\"description\">Describes the aggregation of the per-minute data collected by the server. Format:\n"
1435 " <int>:<int>[ <int:<int>]* <int>:\n"
1436 " There are pairs of integers divided by ':'. The pairs are divided by spaces. The first\n"
1437 " integer is how many minutes to be aggregated, the second integer is the last index\n"
1438 " of the data sequence to be aggregated. For each aggregation the server calculates\n"
1439 " the average number of requests per second. The last pair must not have the second\n"
1440 " integer - this is an item which describes the aggregation till the end of the available\n"
1441 " data. A special value is also supported: no. This value means that the server will\n"
1442 " not send time series data at all.</td>\n"
1443 " <td>no or aggregation description string</td>\n"
1444 " <td>1:59 5:1439 60:</td>\n"
1448 " <p>The HTTP body is a JSON dictionary with the collected statistics information. The\n"
1449 " request may be configured as protected in the server settings. If so then the server\n"
1450 " will use the value of the AdminAuthToken cookie to check permissions.</p>\n"
1451 " <hr><br><br><a id=\"TEST_io\"></a><h2>TEST/io</h2>\n"
1452 " <p>Sends back random binary data to test the I/O performance. It works only if the server\n"
1453 " configuration file has the [DEBUG]/psg_allow_io_test value set to true</p>\n"
1454 " <table class=\"first-column\">\n"
1456 " <th>Parameter</th>\n"
1457 " <th>Optional</th>\n"
1459 " <th>Description</th>\n"
1460 " <th>Allowed Values</th>\n"
1461 " <th>Default</th>\n"
1464 " <td>return_data_size</td>\n"
1465 " <td>mandatory</td>\n"
1466 " <td>Integer</td>\n"
1467 " <td class=\"description\">Size in bytes (positive integer up to 1000000000) which should be sent to the client.\n"
1468 " The data are random.</td>\n"
1469 " <td>An integer in the range 0 ... 1000000000</td>\n"
1474 " <td>optional</td>\n"
1475 " <td>String</td>\n"
1476 " <td class=\"description\">It tells if the logging of the request should be done or not</td>\n"
1477 " <td>yes and no</td>\n"
1482 " <p>The HTTP body is a random data of the requested length</p>\n"
1483 " <hr><br><br><a id=\"health\"></a><h2>health</h2>\n"
1484 " <p>Performs a basic functionality check. It can be used by monitoring facilities.</p>\n"
1486 " <p>HTTP status is set to 200 if the functionality check succeeded. Otherwise the HTTP\n"
1487 " status is set to 500 and the HTTP body may have a detailed message.</p>\n"
1488 " <hr><br><br><a id=\"deep-health\"></a><h2>deep-health</h2>\n"
1489 " <p>At the moment the implementation matches the 'health' command.</p>\n"
1491 " <p>HTTP status is set to 200 if the functionality check succeeded. Otherwise the HTTP\n"
1492 " status is set to 500 and the HTTP body may have a detailed message.</p>\n"
1493 " <hr><br><br><a id=\"favicon.ico\"></a><h2>favicon.ico</h2>\n"
1494 " <p>Always replies 'not found'</p>\n"
1496 " <p>The standard HTTP protocol is used</p>\n"
1497 " <hr><br><br><a id=\"unknown\"></a><h2>unknown</h2>\n"
1498 " <p>Always replies 'ok' in terms of http. The nested PSG protocol always tells 'bad request'</p>\n"
1500 " <p>The HTTP body uses PSG protocol for a 'bad request' message</p>\n"
1501 " <hr><br><br><h2>References</h2>\n"
1503 " <li><a href=\"https://github.com/ncbi/cxx-toolkit/blob/gh-pages/misc/PSG%20Server.docx\">PubSeq Gateway Server Overview and the Protocol Specification</a></li>\n"