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>Jul 14 2023 10:44:41</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=\"#favicon.ico\">favicon.ico</a></li>\n"
58 " <li><a href=\"#unknown\">unknown</a></li>\n"
59 " </ul><a id=\"ID_getblob\"></a><h2>ID/getblob</h2>\n"
60 " <p>Retrieves blob chunks basing on the blob identifier</p>\n"
61 " <table class=\"first-column\">\n"
63 " <th>Parameter</th>\n"
64 " <th>Optional</th>\n"
66 " <th>Description</th>\n"
67 " <th>Allowed Values</th>\n"
72 " <td>mandatory</td>\n"
74 " <td class=\"description\"><sat>.<sat_key>. The blob sat and sat key. Both must be positive integers.</td>\n"
75 " <td>Non empty string. The interpretation of the blob id depends on a processor. Cassandra\n"
76 " processor expects the following format: <sat>.<sat key> where boath are integers</td>\n"
81 " <td>optional</td>\n"
83 " <td class=\"description\">TSE option controls what blob is provided:<br><br><table class=\"nested\">\n"
86 " <td>ID2 split available</td>\n"
87 " <td>ID2 split not available</td>\n"
96 " <td>Split INFO blob only</td>\n"
101 " <td>Split INFO blob only</td>\n"
102 " <td>All Cassandra data chunks of the blob itself</td>\n"
106 " <td>All split blobs</td>\n"
107 " <td>All Cassandra data chunks of the blob itself</td>\n"
111 " <td>All Cassandra data chunks of the blob itself</td>\n"
112 " <td>All Cassandra data chunks of the blob itself</td>\n"
116 " <td>none, whole, orig, smart and slim</td>\n"
120 " <td>last_modified</td>\n"
121 " <td>optional</td>\n"
122 " <td>Integer</td>\n"
123 " <td class=\"description\">The blob last modification. If provided then the exact match will be requested with\n"
124 " the Cassandra storage corresponding field value.</td>\n"
125 " <td>Positive integer. Not provided means that the most recent match will be selected.</td>\n"
129 " <td>use_cache</td>\n"
130 " <td>optional</td>\n"
132 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
133 " affects the seq id resolution step and the blob properties lookup step. The following\n"
134 " options are available:<br><br><table class=\"nested\">\n"
137 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
138 " Cassandra database for the lookups.</td>\n"
142 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
143 " only the LMDB cache.</td>\n"
147 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
151 " <td>yes, no and not provided</td>\n"
155 " <td>client_id</td>\n"
156 " <td>optional</td>\n"
158 " <td class=\"description\">The client identifier. If provided then the exclude blob feature takes place.</td>\n"
159 " <td>A string identifier</td>\n"
163 " <td>send_blob_if_small</td>\n"
164 " <td>optional</td>\n"
165 " <td>Integer</td>\n"
166 " <td class=\"description\"></td>\n"
167 " <td>An integer greater or equal 0</td>\n"
172 " <td>optional</td>\n"
174 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
175 " <td>yes and no</td>\n"
180 " <td>optional</td>\n"
181 " <td>Integer</td>\n"
182 " <td class=\"description\">A numbers of hops before the request reached the server</td>\n"
183 " <td>An integer greater or equal 0</td>\n"
187 " <td>enable_processor</td>\n"
188 " <td>optional</td>\n"
190 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
191 " repeated as many times as needed.</td>\n"
192 " <td>A string</td>\n"
196 " <td>disable_processor</td>\n"
197 " <td>optional</td>\n"
199 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
200 " be repeated as many times as needed.</td>\n"
201 " <td>A string</td>\n"
205 " <td>processor_events</td>\n"
206 " <td>optional</td>\n"
208 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
209 " <td>yes and no</td>\n"
214 " <p>The PSG protocol is used in the HTTP body. The blob properties and chunks are provided.</p>\n"
215 " <hr><br><br><a id=\"ID_get\"></a><h2>ID/get</h2>\n"
216 " <p>Retrieves blob chunks basing on the seq_id and seq_id_type</p>\n"
217 " <table class=\"first-column\">\n"
219 " <th>Parameter</th>\n"
220 " <th>Optional</th>\n"
222 " <th>Description</th>\n"
223 " <th>Allowed Values</th>\n"
224 " <th>Default</th>\n"
228 " <td>mandatory</td>\n"
230 " <td class=\"description\">Sequence identifier</td>\n"
231 " <td>A string identifier</td>\n"
235 " <td>seq_id_type</td>\n"
236 " <td>optional</td>\n"
237 " <td>Integer</td>\n"
238 " <td class=\"description\">Sequence identifier type</td>\n"
239 " <td>Integer type greater than 0</td>\n"
243 " <td>use_cache</td>\n"
244 " <td>optional</td>\n"
246 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
247 " affects the seq id resolution step and the blob properties lookup step. The following\n"
248 " options are available:<br><br><table class=\"nested\">\n"
251 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
252 " Cassandra database for the lookups.</td>\n"
256 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
257 " only the LMDB cache.</td>\n"
261 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
265 " <td>yes, no and not provided</td>\n"
270 " <td>optional</td>\n"
272 " <td class=\"description\">TSE option controls what blob is provided:<br><br><table class=\"nested\">\n"
275 " <td>ID2 split available</td>\n"
276 " <td>ID2 split not available</td>\n"
280 " <td>Nothing</td>\n"
281 " <td>Nothing</td>\n"
285 " <td>Split INFO blob only</td>\n"
286 " <td>Nothing</td>\n"
290 " <td>Split INFO blob only</td>\n"
291 " <td>All Cassandra data chunks of the blob itself</td>\n"
295 " <td>All split blobs</td>\n"
296 " <td>All Cassandra data chunks of the blob itself</td>\n"
300 " <td>All Cassandra data chunks of the blob itself</td>\n"
301 " <td>All Cassandra data chunks of the blob itself</td>\n"
305 " <td>none, whole, orig, smart and slim</td>\n"
309 " <td>exclude_blobs</td>\n"
310 " <td>optional</td>\n"
312 " <td class=\"description\">A comma separated list of blob identifiers which client already has. If provided then\n"
313 " if the resolution of sequence identifier/sequence identifier type matches one of the\n"
314 " blob identifiers in the list then the blob will not be sent. The format of the blob\n"
315 " identifier depends on a processor. For example, a Cassandra processor expects the\n"
316 " format as <sat>.<sat key> where both of them are integers. Note: it works in conjunction\n"
317 " with the client_id parameter.</td>\n"
318 " <td>A list of blob indentifiers</td>\n"
322 " <td>client_id</td>\n"
323 " <td>optional</td>\n"
325 " <td class=\"description\">The client identifier. If provided then the exclude blob feature takes place.</td>\n"
326 " <td>A string identifier</td>\n"
330 " <td>acc_substitution</td>\n"
331 " <td>optional</td>\n"
333 " <td class=\"description\">The option controls how the bioseq info accession substitution is done. If the substitution\n"
334 " is needed then the seq_ids list is analyzed. If there is one with Gi then it is taken\n"
335 " for substitution. Otherwise an arbitrary one is picked. The supported policy values\n"
336 " are:<br><br><table class=\"nested\">\n"
338 " <td>default</td>\n"
339 " <td>substitute if version value (version <= 0) or seq_id_type is Gi(12)</td>\n"
342 " <td>limited</td>\n"
343 " <td>substitute only if the resolved record's seq_id_type is GI(12)</td>\n"
347 " <td>the accession substitution is never done</td>\n"
351 " <td>limited, never or default</td>\n"
352 " <td>default</td>\n"
355 " <td>send_blob_if_small</td>\n"
356 " <td>optional</td>\n"
357 " <td>Integer</td>\n"
358 " <td class=\"description\"></td>\n"
359 " <td>An integer greater or equal 0</td>\n"
363 " <td>resend_timeout</td>\n"
364 " <td>optional</td>\n"
366 " <td class=\"description\">If the blob has already been sent to the client more than this time ago then the blob\n"
367 " will be sent anyway. If less then the 'already sent' reply will have an additional\n"
368 " field 'sent_seconds_ago' with the corresponding value. The special value 0 means that\n"
369 " the blob will be sent regardless when it was already sent.</td>\n"
370 " <td>Floating point value greater or equal 0.0</td>\n"
371 " <td>Taken from [SERVER]/resend_timeout configuration setting</td>\n"
374 " <td>seq_id_resolve</td>\n"
375 " <td>optional</td>\n"
377 " <td class=\"description\">If yes then use the full resolution procedure using all provided sequence identifiers.\n"
378 " Otherwise use only bioseq info table and GI sequence identifiers.</td>\n"
379 " <td>yes and no</td>\n"
384 " <td>optional</td>\n"
386 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
387 " <td>yes and no</td>\n"
392 " <td>optional</td>\n"
393 " <td>Integer</td>\n"
394 " <td class=\"description\">A numbers of hops before the request reached the server</td>\n"
395 " <td>An integer greater or equal 0</td>\n"
399 " <td>enable_processor</td>\n"
400 " <td>optional</td>\n"
402 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
403 " repeated as many times as needed.</td>\n"
404 " <td>A string</td>\n"
408 " <td>disable_processor</td>\n"
409 " <td>optional</td>\n"
411 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
412 " be repeated as many times as needed.</td>\n"
413 " <td>A string</td>\n"
417 " <td>processor_events</td>\n"
418 " <td>optional</td>\n"
420 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
421 " <td>yes and no</td>\n"
426 " <p>The PSG protocol is used in the HTTP body. The bioseq info, blob properties and chunks\n"
427 " are provided.</p>\n"
428 " <hr><br><br><a id=\"ID_get_tse_chunk\"></a><h2>ID/get_tse_chunk</h2>\n"
429 " <p>Retrieves a TSE blob chunk</p>\n"
430 " <table class=\"first-column\">\n"
432 " <th>Parameter</th>\n"
433 " <th>Optional</th>\n"
435 " <th>Description</th>\n"
436 " <th>Allowed Values</th>\n"
437 " <th>Default</th>\n"
440 " <td>id2_chunk</td>\n"
441 " <td>mandatory</td>\n"
442 " <td>Integer</td>\n"
443 " <td class=\"description\">The tse blob chunk number. The Cassandra processor recognizes a special value of 999999999\n"
444 " for the parameter. In this case the effective chunk number will be taken from the\n"
445 " id2_info parameter</td>\n"
446 " <td>Integer greater or equal 0. Some processors may introduce more strict rules. For example,\n"
447 " Cassandra processor requires the chunk number to be greater than 0.</td>\n"
451 " <td>id2_info</td>\n"
452 " <td>mandatory</td>\n"
454 " <td class=\"description\">The following formats are recognized:<br><br><table class=\"nested\">\n"
456 " <td>Cassandra processor, option 1</td>\n"
457 " <td>3 or 4 integers separated by '.': <sat>.<info>.<chunks>[.<split version>]</td>\n"
460 " <td>Cassandra processor, option 2</td>\n"
461 " <td>psg~~tse_id-<sat>.<sat key>[~~tse_last_modified-<int>[~~tse_split_version-<int>]</td>\n"
464 " <td>Other processors</td>\n"
465 " <td>id2~~tse_id-<string>~~tse_last_modified-<int>~~tse_split_version-<int></td>\n"
469 " <td>A string in a format recognisable by one of the processors</td>\n"
473 " <td>use_cache</td>\n"
474 " <td>optional</td>\n"
476 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
477 " affects the seq id resolution step and the blob properties lookup step. The following\n"
478 " options are available:<br><br><table class=\"nested\">\n"
481 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
482 " Cassandra database for the lookups.</td>\n"
486 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
487 " only the LMDB cache.</td>\n"
491 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
495 " <td>yes, no and not provided</td>\n"
500 " <td>optional</td>\n"
502 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
503 " <td>yes and no</td>\n"
508 " <td>optional</td>\n"
509 " <td>Integer</td>\n"
510 " <td class=\"description\">A numbers of hops before the request reached the server</td>\n"
511 " <td>An integer greater or equal 0</td>\n"
515 " <td>enable_processor</td>\n"
516 " <td>optional</td>\n"
518 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
519 " repeated as many times as needed.</td>\n"
520 " <td>A string</td>\n"
524 " <td>disable_processor</td>\n"
525 " <td>optional</td>\n"
527 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
528 " be repeated as many times as needed.</td>\n"
529 " <td>A string</td>\n"
533 " <td>processor_events</td>\n"
534 " <td>optional</td>\n"
536 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
537 " <td>yes and no</td>\n"
542 " <p>The PSG protocol is used in the HTTP body. The blob properties and chunks are provided.</p>\n"
543 " <hr><br><br><a id=\"ID_resolve\"></a><h2>ID/resolve</h2>\n"
544 " <p>Resolve seq_id and provide bioseq info</p>\n"
545 " <table class=\"first-column\">\n"
547 " <th>Parameter</th>\n"
548 " <th>Optional</th>\n"
550 " <th>Description</th>\n"
551 " <th>Allowed Values</th>\n"
552 " <th>Default</th>\n"
556 " <td>mandatory</td>\n"
558 " <td class=\"description\">Sequence identifier</td>\n"
559 " <td>A string identifier</td>\n"
563 " <td>seq_id_type</td>\n"
564 " <td>optional</td>\n"
565 " <td>Integer</td>\n"
566 " <td class=\"description\">Sequence identifier type</td>\n"
567 " <td>Integer type greater than 0</td>\n"
571 " <td>use_cache</td>\n"
572 " <td>optional</td>\n"
574 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
575 " affects the seq id resolution step and the blob properties lookup step. The following\n"
576 " options are available:<br><br><table class=\"nested\">\n"
579 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
580 " Cassandra database for the lookups.</td>\n"
584 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
585 " only the LMDB cache.</td>\n"
589 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
593 " <td>yes, no and not provided</td>\n"
598 " <td>optional</td>\n"
600 " <td class=\"description\">The format of the data sent to the client. Available options:<br><br><table class=\"nested\">\n"
602 " <td>protobuf</td>\n"
603 " <td>bioseq info will be sent as a protobuf binary data</td>\n"
607 " <td>bioseq info will be sent as a serialized JSON dictionary</td>\n"
611 " <td>the server decides what format to use: protobuf or json</td>\n"
615 " <td>protobuf, json or native</td>\n"
619 " <td>all_info</td>\n"
620 " <td>optional</td>\n"
622 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
624 " <td>yes and no</td>\n"
628 " <td>canon_id</td>\n"
629 " <td>optional</td>\n"
631 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
633 " <td>yes and no</td>\n"
637 " <td>seq_ids</td>\n"
638 " <td>optional</td>\n"
640 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
642 " <td>yes and no</td>\n"
646 " <td>mol_type</td>\n"
647 " <td>optional</td>\n"
649 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
651 " <td>yes and no</td>\n"
656 " <td>optional</td>\n"
658 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
660 " <td>yes and no</td>\n"
665 " <td>optional</td>\n"
667 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
669 " <td>yes and no</td>\n"
673 " <td>blob_id</td>\n"
674 " <td>optional</td>\n"
676 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
678 " <td>yes and no</td>\n"
683 " <td>optional</td>\n"
685 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
687 " <td>yes and no</td>\n"
692 " <td>optional</td>\n"
694 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
696 " <td>yes and no</td>\n"
700 " <td>date_changed</td>\n"
701 " <td>optional</td>\n"
703 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
705 " <td>yes and no</td>\n"
710 " <td>optional</td>\n"
712 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
714 " <td>yes and no</td>\n"
719 " <td>optional</td>\n"
721 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
723 " <td>yes and no</td>\n"
727 " <td>seq_state</td>\n"
728 " <td>optional</td>\n"
730 " <td class=\"description\">A flag to specify explicitly what values to include/exclude from the provided bioseq\n"
732 " <td>yes and no</td>\n"
736 " <td>acc_substitution</td>\n"
737 " <td>optional</td>\n"
739 " <td class=\"description\">The option controls how the bioseq info accession substitution is done. If the substitution\n"
740 " is needed then the seq_ids list is analyzed. If there is one with Gi then it is taken\n"
741 " for substitution. Otherwise an arbitrary one is picked. The supported policy values\n"
742 " are:<br><br><table class=\"nested\">\n"
744 " <td>default</td>\n"
745 " <td>substitute if version value (version <= 0) or seq_id_type is Gi(12)</td>\n"
748 " <td>limited</td>\n"
749 " <td>substitute only if the resolved record's seq_id_type is GI(12)</td>\n"
753 " <td>the accession substitution is never done</td>\n"
757 " <td>limited, never or default</td>\n"
758 " <td>default</td>\n"
761 " <td>seq_id_resolve</td>\n"
762 " <td>optional</td>\n"
764 " <td class=\"description\">If yes then use the full resolution procedure using all provided sequence identifiers.\n"
765 " Otherwise use only bioseq info table and GI sequence identifiers.</td>\n"
766 " <td>yes and no</td>\n"
771 " <td>optional</td>\n"
773 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
774 " <td>yes and no</td>\n"
779 " <td>optional</td>\n"
780 " <td>Integer</td>\n"
781 " <td class=\"description\">A numbers of hops before the request reached the server</td>\n"
782 " <td>An integer greater or equal 0</td>\n"
786 " <td>enable_processor</td>\n"
787 " <td>optional</td>\n"
789 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
790 " repeated as many times as needed.</td>\n"
791 " <td>A string</td>\n"
795 " <td>disable_processor</td>\n"
796 " <td>optional</td>\n"
798 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
799 " be repeated as many times as needed.</td>\n"
800 " <td>A string</td>\n"
804 " <td>processor_events</td>\n"
805 " <td>optional</td>\n"
807 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
808 " <td>yes and no</td>\n"
813 " <p>The bioseq info is sent back in the HTTP body as binary protobuf or as PSG protocol\n"
814 " chunks depending on the protocol choice</p>\n"
815 " <hr><br><br><a id=\"ID_get_na\"></a><h2>ID/get_na</h2>\n"
816 " <p>Retrieves named annotations</p>\n"
817 " <table class=\"first-column\">\n"
819 " <th>Parameter</th>\n"
820 " <th>Optional</th>\n"
822 " <th>Description</th>\n"
823 " <th>Allowed Values</th>\n"
824 " <th>Default</th>\n"
828 " <td>optional</td>\n"
830 " <td class=\"description\">Sequence identifier. This or seq_ids parameter value must be provided for the request.</td>\n"
831 " <td>A string identifier</td>\n"
835 " <td>seq_ids</td>\n"
836 " <td>optional</td>\n"
838 " <td class=\"description\">A space separated list of the sequence identifier synonims. This or seq_id parameter\n"
839 " value must be provided for the request.</td>\n"
840 " <td>A list of space separated string identifiers</td>\n"
844 " <td>seq_id_type</td>\n"
845 " <td>optional</td>\n"
846 " <td>Integer</td>\n"
847 " <td class=\"description\">Sequence identifier type</td>\n"
848 " <td>Integer type greater than 0</td>\n"
853 " <td>mandatory</td>\n"
855 " <td class=\"description\">A comma separated list of named annotations to be retrieved.</td>\n"
856 " <td>A string</td>\n"
860 " <td>use_cache</td>\n"
861 " <td>optional</td>\n"
863 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
864 " affects the seq id resolution step and the blob properties lookup step. The following\n"
865 " options are available:<br><br><table class=\"nested\">\n"
868 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
869 " Cassandra database for the lookups.</td>\n"
873 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
874 " only the LMDB cache.</td>\n"
878 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
882 " <td>yes, no and not provided</td>\n"
887 " <td>optional</td>\n"
889 " <td class=\"description\">The format of the data sent to the client. Available options:<br><br><table class=\"nested\">\n"
891 " <td>protobuf</td>\n"
892 " <td>bioseq info will be sent as a protobuf binary data</td>\n"
896 " <td>bioseq info will be sent as a serialized JSON dictionary</td>\n"
900 " <td>the server decides what format to use: protobuf or json</td>\n"
904 " <td>protobuf, json or native</td>\n"
909 " <td>optional</td>\n"
911 " <td class=\"description\">TSE option controls what blob is provided:<br><br><table class=\"nested\">\n"
914 " <td>ID2 split available</td>\n"
915 " <td>ID2 split not available</td>\n"
919 " <td>Nothing</td>\n"
920 " <td>Nothing</td>\n"
924 " <td>Split INFO blob only</td>\n"
925 " <td>Nothing</td>\n"
929 " <td>Split INFO blob only</td>\n"
930 " <td>All Cassandra data chunks of the blob itself</td>\n"
934 " <td>All split blobs</td>\n"
935 " <td>All Cassandra data chunks of the blob itself</td>\n"
939 " <td>All Cassandra data chunks of the blob itself</td>\n"
940 " <td>All Cassandra data chunks of the blob itself</td>\n"
944 " <td>none, whole, orig, smart and slim</td>\n"
948 " <td>client_id</td>\n"
949 " <td>optional</td>\n"
951 " <td class=\"description\">The client identifier. If provided then the exclude blob feature takes place.</td>\n"
952 " <td>A string identifier</td>\n"
956 " <td>send_blob_if_small</td>\n"
957 " <td>optional</td>\n"
958 " <td>Integer</td>\n"
959 " <td class=\"description\"></td>\n"
960 " <td>An integer greater or equal 0</td>\n"
964 " <td>seq_id_resolve</td>\n"
965 " <td>optional</td>\n"
967 " <td class=\"description\">If yes then use the full resolution procedure using all provided sequence identifiers.\n"
968 " Otherwise use only bioseq info table and GI sequence identifiers.</td>\n"
969 " <td>yes and no</td>\n"
973 " <td>resend_timeout</td>\n"
974 " <td>optional</td>\n"
976 " <td class=\"description\">If the blob has already been sent to the client more than this time ago then the blob\n"
977 " will be sent anyway. If less then the 'already sent' reply will have an additional\n"
978 " field 'sent_seconds_ago' with the corresponding value. The special value 0 means that\n"
979 " the blob will be sent regardless when it was already sent.</td>\n"
980 " <td>Floating point value greater or equal 0.0</td>\n"
981 " <td>Taken from [SERVER]/resend_timeout configuration setting</td>\n"
984 " <td>snp_scale_limit</td>\n"
985 " <td>optional</td>\n"
987 " <td class=\"description\">GenBank ID2 SNP reader parameter</td>\n"
988 " <td>chromosome, contig, supercontig, unit and not provided</td>\n"
993 " <td>optional</td>\n"
995 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
996 " <td>yes and no</td>\n"
1001 " <td>optional</td>\n"
1002 " <td>Integer</td>\n"
1003 " <td class=\"description\">A numbers of hops before the request reached the server</td>\n"
1004 " <td>An integer greater or equal 0</td>\n"
1008 " <td>enable_processor</td>\n"
1009 " <td>optional</td>\n"
1010 " <td>String</td>\n"
1011 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
1012 " repeated as many times as needed.</td>\n"
1013 " <td>A string</td>\n"
1017 " <td>disable_processor</td>\n"
1018 " <td>optional</td>\n"
1019 " <td>String</td>\n"
1020 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
1021 " be repeated as many times as needed.</td>\n"
1022 " <td>A string</td>\n"
1026 " <td>processor_events</td>\n"
1027 " <td>optional</td>\n"
1028 " <td>String</td>\n"
1029 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
1030 " <td>yes and no</td>\n"
1035 " <p>The PSG protocol is used in the HTTP body. The bioseq info and named annotation chunks\n"
1036 " are provided.</p>\n"
1037 " <hr><br><br><a id=\"ID_get_acc_ver_history\"></a><h2>ID/get_acc_ver_history</h2>\n"
1038 " <p>Retrieves accession version history</p>\n"
1039 " <table class=\"first-column\">\n"
1041 " <th>Parameter</th>\n"
1042 " <th>Optional</th>\n"
1044 " <th>Description</th>\n"
1045 " <th>Allowed Values</th>\n"
1046 " <th>Default</th>\n"
1049 " <td>seq_id</td>\n"
1050 " <td>mandatory</td>\n"
1051 " <td>String</td>\n"
1052 " <td class=\"description\">Sequence identifier</td>\n"
1053 " <td>A string identifier</td>\n"
1057 " <td>seq_id_type</td>\n"
1058 " <td>optional</td>\n"
1059 " <td>Integer</td>\n"
1060 " <td class=\"description\">Sequence identifier type</td>\n"
1061 " <td>Integer type greater than 0</td>\n"
1065 " <td>use_cache</td>\n"
1066 " <td>optional</td>\n"
1067 " <td>String</td>\n"
1068 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
1069 " affects the seq id resolution step and the blob properties lookup step. The following\n"
1070 " options are available:<br><br><table class=\"nested\">\n"
1073 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
1074 " Cassandra database for the lookups.</td>\n"
1078 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
1079 " only the LMDB cache.</td>\n"
1083 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
1087 " <td>yes, no and not provided</td>\n"
1092 " <td>optional</td>\n"
1093 " <td>String</td>\n"
1094 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
1095 " <td>yes and no</td>\n"
1100 " <td>optional</td>\n"
1101 " <td>Integer</td>\n"
1102 " <td class=\"description\">A numbers of hops before the request reached the server</td>\n"
1103 " <td>An integer greater or equal 0</td>\n"
1107 " <td>enable_processor</td>\n"
1108 " <td>optional</td>\n"
1109 " <td>String</td>\n"
1110 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
1111 " repeated as many times as needed.</td>\n"
1112 " <td>A string</td>\n"
1116 " <td>disable_processor</td>\n"
1117 " <td>optional</td>\n"
1118 " <td>String</td>\n"
1119 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
1120 " be repeated as many times as needed.</td>\n"
1121 " <td>A string</td>\n"
1125 " <td>processor_events</td>\n"
1126 " <td>optional</td>\n"
1127 " <td>String</td>\n"
1128 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
1129 " <td>yes and no</td>\n"
1134 " <p>The PSG protocol is used in the HTTP body. The bioseq info and accession version history\n"
1135 " chunks are provided.</p>\n"
1136 " <hr><br><br><a id=\"IPG_resolve\"></a><h2>IPG/resolve</h2>\n"
1137 " <p>Resolve nucleotide/protein/ipg and provide ipg info</p>\n"
1138 " <table class=\"first-column\">\n"
1140 " <th>Parameter</th>\n"
1141 " <th>Optional</th>\n"
1143 " <th>Description</th>\n"
1144 " <th>Allowed Values</th>\n"
1145 " <th>Default</th>\n"
1148 " <td>protein</td>\n"
1149 " <td>mandatory</td>\n"
1150 " <td>String</td>\n"
1151 " <td class=\"description\">The protein to be resolved. It may be ommitted if ipg is provided.</td>\n"
1152 " <td>A string identifier</td>\n"
1156 " <td>nucleotide</td>\n"
1157 " <td>optional</td>\n"
1158 " <td>String</td>\n"
1159 " <td class=\"description\">The nucleotide to be resolved.</td>\n"
1160 " <td>A string identifier</td>\n"
1165 " <td>mandatory</td>\n"
1166 " <td>Integer</td>\n"
1167 " <td class=\"description\">The ipg to be resolved. It may be ommitted if protein is provided.</td>\n"
1168 " <td>An integer greater than 0</td>\n"
1172 " <td>use_cache</td>\n"
1173 " <td>optional</td>\n"
1174 " <td>String</td>\n"
1175 " <td class=\"description\">The option controls if the Cassandra LMDB cache and/or database should be used. It\n"
1176 " affects the seq id resolution step and the blob properties lookup step. The following\n"
1177 " options are available:<br><br><table class=\"nested\">\n"
1180 " <td>do not use LMDB cache (tables SI2CSI, BIOSEQ_INFO and BLOB_PROP) at all; use only\n"
1181 " Cassandra database for the lookups.</td>\n"
1185 " <td>do not use tables SI2CSI, BIOSEQ_INFO and BLOB_PROP in the Cassandra database; use\n"
1186 " only the LMDB cache.</td>\n"
1190 " <td>use the LMDB cache if at all possible; then, fallback to Cassandra storage.</td>\n"
1194 " <td>yes, no and not provided</td>\n"
1198 " <td>seq_id_resolve</td>\n"
1199 " <td>optional</td>\n"
1200 " <td>String</td>\n"
1201 " <td class=\"description\">If yes then use the full resolution procedure using all provided sequence identifiers.\n"
1202 " Otherwise use only bioseq info table and GI sequence identifiers.</td>\n"
1203 " <td>yes and no</td>\n"
1208 " <td>optional</td>\n"
1209 " <td>String</td>\n"
1210 " <td class=\"description\">The option to include trace messages to the server output</td>\n"
1211 " <td>yes and no</td>\n"
1215 " <td>enable_processor</td>\n"
1216 " <td>optional</td>\n"
1217 " <td>String</td>\n"
1218 " <td class=\"description\">A name of a processor which is allowed to process a request. The parameter can be\n"
1219 " repeated as many times as needed.</td>\n"
1220 " <td>A string</td>\n"
1224 " <td>disable_processor</td>\n"
1225 " <td>optional</td>\n"
1226 " <td>String</td>\n"
1227 " <td class=\"description\">A name of a processor which is disallowed to process a request. The parameter can\n"
1228 " be repeated as many times as needed.</td>\n"
1229 " <td>A string</td>\n"
1233 " <td>processor_events</td>\n"
1234 " <td>optional</td>\n"
1235 " <td>String</td>\n"
1236 " <td class=\"description\">Switch on/off additional reply chunks which tell about the processor</td>\n"
1237 " <td>yes and no</td>\n"
1242 " <p>The ipg record(s) is sent baback in the HTTP body as PSG protocol chunks</p>\n"
1243 " <hr><br><br><a id=\"ADMIN_config\"></a><h2>ADMIN/config</h2>\n"
1244 " <p>Provides the server configuration information</p>\n"
1246 " <p>The HTTP body is a JSON dictionary with the configuration information.</p>\n"
1247 " <hr><br><br><a id=\"ADMIN_info\"></a><h2>ADMIN/info</h2>\n"
1248 " <p>Provides the server run-time information</p>\n"
1250 " <p>The HTTP body is a JSON dictionary with the run-time information like resource consumption</p>\n"
1251 " <hr><br><br><a id=\"ADMIN_status\"></a><h2>ADMIN/status</h2>\n"
1252 " <p>Provides the server event counters</p>\n"
1254 " <p>The HTTP body is a JSON dictionary with various event counters</p>\n"
1255 " <hr><br><br><a id=\"ADMIN_shutdown\"></a><h2>ADMIN/shutdown</h2>\n"
1256 " <p>Performs the server shutdown</p>\n"
1257 " <table class=\"first-column\">\n"
1259 " <th>Parameter</th>\n"
1260 " <th>Optional</th>\n"
1262 " <th>Description</th>\n"
1263 " <th>Allowed Values</th>\n"
1264 " <th>Default</th>\n"
1267 " <td>username</td>\n"
1268 " <td>optional</td>\n"
1269 " <td>String</td>\n"
1270 " <td class=\"description\">The user name who requested the shutdown</td>\n"
1271 " <td>A string identifier</td>\n"
1275 " <td>auth_token</td>\n"
1276 " <td>optional</td>\n"
1277 " <td>String</td>\n"
1278 " <td class=\"description\">Authorization token. If the configuration [ADMIN]/auth_token value is configured then\n"
1279 " the request must have the token value matching the configured to be granted.</td>\n"
1280 " <td>A string identifier</td>\n"
1284 " <td>timeout</td>\n"
1285 " <td>optional</td>\n"
1286 " <td>Integer</td>\n"
1287 " <td class=\"description\">The timeout in seconds within which the shutdown must be performed. If 0 then it leads\n"
1288 " to an immediate shutdown. If 1 or more seconds then the server will reject all new\n"
1289 " requests and wait till the timeout is over or all the pending requests are completed\n"
1290 " and then do the shutdown.</td>\n"
1291 " <td>An integer greater or equal 0</td>\n"
1296 " <p>The standard HTTP protocol is used</p>\n"
1297 " <hr><br><br><a id=\"ADMIN_get_alerts\"></a><h2>ADMIN/get_alerts</h2>\n"
1298 " <p>Provides the server alerts</p>\n"
1300 " <p>The HTTP body is a JSON dictionary with the current server alerts</p>\n"
1301 " <hr><br><br><a id=\"ADMIN_ack_alerts\"></a><h2>ADMIN/ack_alerts</h2>\n"
1302 " <p>Acknowledge an alert</p>\n"
1303 " <table class=\"first-column\">\n"
1305 " <th>Parameter</th>\n"
1306 " <th>Optional</th>\n"
1308 " <th>Description</th>\n"
1309 " <th>Allowed Values</th>\n"
1310 " <th>Default</th>\n"
1314 " <td>mandatory</td>\n"
1315 " <td>String</td>\n"
1316 " <td class=\"description\">The alert identifier to acknowledge</td>\n"
1317 " <td>A string identifier</td>\n"
1321 " <td>username</td>\n"
1322 " <td>mandatory</td>\n"
1323 " <td>String</td>\n"
1324 " <td class=\"description\">The user name who acknowledges the alert</td>\n"
1325 " <td>A string identifier</td>\n"
1330 " <p>The standard HTTP protocol is used</p>\n"
1331 " <hr><br><br><a id=\"ADMIN_statistics\"></a><h2>ADMIN/statistics</h2>\n"
1332 " <p>Provides the server collected statistics</p>\n"
1333 " <table class=\"first-column\">\n"
1335 " <th>Parameter</th>\n"
1336 " <th>Optional</th>\n"
1338 " <th>Description</th>\n"
1339 " <th>Allowed Values</th>\n"
1340 " <th>Default</th>\n"
1344 " <td>optional</td>\n"
1345 " <td>String</td>\n"
1346 " <td class=\"description\">If provided then the collected statistics is rest. Otherwise the collected statistics\n"
1347 " is sent to the client.</td>\n"
1348 " <td>yes and no</td>\n"
1352 " <td>most_recent_time</td>\n"
1353 " <td>optional</td>\n"
1354 " <td>Integer</td>\n"
1355 " <td class=\"description\">Number of seconds in the past for the most recent time range limit</td>\n"
1356 " <td>An integer greater or equal 0</td>\n"
1360 " <td>most_ancient_time</td>\n"
1361 " <td>optional</td>\n"
1362 " <td>Integer</td>\n"
1363 " <td class=\"description\">Number of seconds in the past for the most ancient time range limit</td>\n"
1364 " <td>An integer greater or equal 0</td>\n"
1365 " <td>Effectively infinity, max integer</td>\n"
1368 " <td>histogram_names</td>\n"
1369 " <td>optional</td>\n"
1370 " <td>String</td>\n"
1371 " <td class=\"description\">Comma separated list of the histogram names. If provided then the server returns all\n"
1372 " existing histograms (listed in histogram_names) which intersect with the specified\n"
1373 " time period.</td>\n"
1374 " <td>A comma separated list of string identifiers</td>\n"
1378 " <td>time_series</td>\n"
1379 " <td>optional</td>\n"
1380 " <td>String</td>\n"
1381 " <td class=\"description\">Describes the aggregation of the per-minute data collected by the server. Format:\n"
1382 " <int>:<int>[ <int:<int>]* <int>:\n"
1383 " There are pairs of integers divided by ':'. The pairs are divided by spaces. The first\n"
1384 " integer is how many minutes to be aggregated, the second integer is the last index\n"
1385 " of the data sequence to be aggregated. For each aggregation the server calculates\n"
1386 " the average number of requests per second. The last pair must not have the second\n"
1387 " integer - this is an item which describes the aggregation till the end of the available\n"
1388 " data. A special value is also supported: no. This value means that the server will\n"
1389 " not send time series data at all.</td>\n"
1390 " <td>no or aggregation description string</td>\n"
1391 " <td>1:59 5:1439 60:</td>\n"
1395 " <p>The HTTP body is a JSON dictionary with the collected statistics information</p>\n"
1396 " <hr><br><br><a id=\"TEST_io\"></a><h2>TEST/io</h2>\n"
1397 " <p>Sends back random binary data to test the I/O performance. It works only if the server\n"
1398 " configuration file has the [DEBUG]/psg_allow_io_test value set to true</p>\n"
1399 " <table class=\"first-column\">\n"
1401 " <th>Parameter</th>\n"
1402 " <th>Optional</th>\n"
1404 " <th>Description</th>\n"
1405 " <th>Allowed Values</th>\n"
1406 " <th>Default</th>\n"
1409 " <td>return_data_size</td>\n"
1410 " <td>mandatory</td>\n"
1411 " <td>Integer</td>\n"
1412 " <td class=\"description\">Size in bytes (positive integer up to 1000000000) which should be sent to the client.\n"
1413 " The data are random.</td>\n"
1414 " <td>An integer in the range 0 ... 1000000000</td>\n"
1419 " <td>optional</td>\n"
1420 " <td>String</td>\n"
1421 " <td class=\"description\">It tells if the logging of the request should be done or not</td>\n"
1422 " <td>yes and no</td>\n"
1427 " <p>The HTTP body is a random data of the requested length</p>\n"
1428 " <hr><br><br><a id=\"favicon.ico\"></a><h2>favicon.ico</h2>\n"
1429 " <p>Always replies 'not found'</p>\n"
1431 " <p>The standard HTTP protocol is used</p>\n"
1432 " <hr><br><br><a id=\"unknown\"></a><h2>unknown</h2>\n"
1433 " <p>Always replies 'ok' in terms of http. The nested PSG protocol always tells 'bad request'</p>\n"
1435 " <p>The HTTP body uses PSG protocol for a 'bad request' message</p>\n"
1436 " <hr><br><br><h2>References</h2>\n"
1438 " <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"