pybiolib 1.2.158.dev1__tar.gz → 1.2.164.dev1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/PKG-INFO +1 -1
  2. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/remote_host_proxy.py +9 -0
  3. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/utils/seq_util.py +19 -2
  4. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/pyproject.toml +1 -1
  5. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/LICENSE +0 -0
  6. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/PYPI_README.md +0 -0
  7. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/__init__.py +0 -0
  8. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_data_record/data_record.py +0 -0
  9. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/__init__.py +0 -0
  10. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/data_record/__init__.py +0 -0
  11. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/data_record/data_record.py +0 -0
  12. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/data_record/push_data.py +0 -0
  13. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/data_record/remote_storage_endpoint.py +0 -0
  14. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/file_utils.py +0 -0
  15. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/fuse_mount/__init__.py +0 -0
  16. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/fuse_mount/experiment_fuse_mount.py +0 -0
  17. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/http_client.py +0 -0
  18. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/lfs/__init__.py +0 -0
  19. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/lfs/cache.py +0 -0
  20. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/libs/__init__.py +0 -0
  21. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/libs/fusepy/__init__.py +0 -0
  22. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/push_application.py +0 -0
  23. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/runtime.py +0 -0
  24. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/types/__init__.py +0 -0
  25. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/types/app.py +0 -0
  26. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/types/data_record.py +0 -0
  27. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/types/experiment.py +0 -0
  28. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/types/resource.py +0 -0
  29. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/types/resource_version.py +0 -0
  30. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/types/typing.py +0 -0
  31. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/utils/__init__.py +0 -0
  32. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_internal/utils/multinode.py +0 -0
  33. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/_runtime/runtime.py +0 -0
  34. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/api/__init__.py +0 -0
  35. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/api/client.py +0 -0
  36. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/app/__init__.py +0 -0
  37. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/app/app.py +0 -0
  38. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/app/search_apps.py +0 -0
  39. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_api_client/__init__.py +0 -0
  40. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_api_client/api_client.py +0 -0
  41. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_api_client/app_types.py +0 -0
  42. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_api_client/auth.py +0 -0
  43. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_api_client/biolib_app_api.py +0 -0
  44. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_api_client/biolib_job_api.py +0 -0
  45. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_api_client/common_types.py +0 -0
  46. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_api_client/job_types.py +0 -0
  47. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_api_client/lfs_types.py +0 -0
  48. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_api_client/user_state.py +0 -0
  49. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_binary_format/__init__.py +0 -0
  50. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
  51. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_binary_format/file_in_container.py +0 -0
  52. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_binary_format/module_input.py +0 -0
  53. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_binary_format/module_output_v2.py +0 -0
  54. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_binary_format/remote_endpoints.py +0 -0
  55. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_binary_format/remote_stream_seeker.py +0 -0
  56. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_binary_format/saved_job.py +0 -0
  57. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
  58. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_binary_format/system_exception.py +0 -0
  59. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_binary_format/system_status_update.py +0 -0
  60. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_binary_format/utils.py +0 -0
  61. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_docker_client/__init__.py +0 -0
  62. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_download_container.py +0 -0
  63. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_errors.py +0 -0
  64. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/biolib_logging.py +0 -0
  65. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/cli/__init__.py +0 -0
  66. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/cli/auth.py +0 -0
  67. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/cli/data_record.py +0 -0
  68. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/cli/download_container.py +0 -0
  69. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/cli/init.py +0 -0
  70. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/cli/lfs.py +0 -0
  71. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/cli/push.py +0 -0
  72. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/cli/run.py +0 -0
  73. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/cli/runtime.py +0 -0
  74. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/cli/start.py +0 -0
  75. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/.gitignore +0 -0
  76. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/__init__.py +0 -0
  77. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/cloud_utils/__init__.py +0 -0
  78. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
  79. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/__init__.py +0 -0
  80. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/cache_state.py +0 -0
  81. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/cache_types.py +0 -0
  82. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
  83. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
  84. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
  85. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
  86. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
  87. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/executors/types.py +0 -0
  88. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
  89. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
  90. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/job_storage.py +0 -0
  91. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/job_worker.py +0 -0
  92. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/large_file_system.py +0 -0
  93. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/mappings.py +0 -0
  94. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/utilization_reporter_thread.py +0 -0
  95. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/job_worker/utils.py +0 -0
  96. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/socker_listener_thread.py +0 -0
  97. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/socket_sender_thread.py +0 -0
  98. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/utils.py +0 -0
  99. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/webserver/__init__.py +0 -0
  100. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
  101. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/webserver/webserver.py +0 -0
  102. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/webserver/webserver_types.py +0 -0
  103. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/webserver/webserver_utils.py +0 -0
  104. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/compute_node/webserver/worker_thread.py +0 -0
  105. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/experiments/__init__.py +0 -0
  106. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/experiments/experiment.py +0 -0
  107. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/jobs/__init__.py +0 -0
  108. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/jobs/job.py +0 -0
  109. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/jobs/job_result.py +0 -0
  110. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/jobs/types.py +0 -0
  111. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/runtime/__init__.py +0 -0
  112. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/sdk/__init__.py +0 -0
  113. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/tables.py +0 -0
  114. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/templates/__init__.py +0 -0
  115. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/templates/example_app.py +0 -0
  116. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/typing_utils.py +0 -0
  117. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/user/__init__.py +0 -0
  118. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/user/sign_in.py +0 -0
  119. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/utils/__init__.py +0 -0
  120. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/utils/app_uri.py +0 -0
  121. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/utils/cache_state.py +0 -0
  122. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/utils/multipart_uploader.py +0 -0
  123. {pybiolib-1.2.158.dev1 → pybiolib-1.2.164.dev1}/biolib/utils/zip/remote_zip.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pybiolib
3
- Version: 1.2.158.dev1
3
+ Version: 1.2.164.dev1
4
4
  Summary: BioLib Python Client
5
5
  Home-page: https://github.com/biolib
6
6
  License: MIT
@@ -300,6 +300,15 @@ http {{
300
300
  proxy_ssl_server_name on;
301
301
  }}
302
302
 
303
+ location /api/resources/versions/ {{
304
+ proxy_pass https://$upstream_hostname$request_uri;
305
+ proxy_set_header authorization "";
306
+ proxy_set_header compute-node-auth-token "{compute_node_auth_token}";
307
+ proxy_set_header job-uuid "{self._job_uuid}";
308
+ proxy_set_header cookie "";
309
+ proxy_ssl_server_name on;
310
+ }}
311
+
303
312
  location /api/ {{
304
313
  proxy_pass https://$upstream_hostname$request_uri;
305
314
  proxy_set_header authorization "";
@@ -1,7 +1,7 @@
1
1
  import re
2
2
  from io import BufferedIOBase, TextIOBase
3
3
 
4
- from biolib.typing_utils import Dict, List, Optional, Union, Iterator
4
+ from biolib.typing_utils import Dict, Iterator, List, Optional, Union
5
5
 
6
6
 
7
7
  class SeqUtilRecord:
@@ -35,14 +35,22 @@ class SeqUtil:
35
35
  input_file: Union[str, BufferedIOBase, None] = None,
36
36
  default_header: Optional[str] = None,
37
37
  allow_any_sequence_characters: bool = False,
38
+ use_strict_alphabet: Optional[bool] = False,
38
39
  allow_empty_sequence: bool = True,
39
40
  file_name: Optional[str] = None,
40
41
  ) -> Iterator[SeqUtilRecord]:
41
42
  def process_and_yield_record(header: str, sequence_lines: List[str]):
42
43
  sequence = ''.join(sequence_lines)
43
44
  sequence_id = header.split()[0]
45
+ if allow_any_sequence_characters and use_strict_alphabet:
46
+ raise Exception(
47
+ 'Error: Please choose either allow_any_sequence_characters or use_strict_alphabet'
48
+ )
44
49
  if not allow_any_sequence_characters:
45
- invalid_sequence_characters = SeqUtil._find_invalid_sequence_characters(sequence)
50
+ if use_strict_alphabet:
51
+ invalid_sequence_characters = SeqUtil._find_invalid_sequence_characters_strict(sequence)
52
+ else:
53
+ invalid_sequence_characters = SeqUtil._find_invalid_sequence_characters(sequence)
46
54
  if invalid_sequence_characters:
47
55
  raise Exception(
48
56
  f'Error: Invalid character ("{invalid_sequence_characters[0]}") found in sequence {sequence_id}'
@@ -126,6 +134,15 @@ class SeqUtil:
126
134
  invalid_chars = [char for char in sequence if char not in allowed_sequence_chars]
127
135
  return invalid_chars
128
136
 
137
+ @staticmethod
138
+ def _find_invalid_sequence_characters_strict(sequence: str) -> List[str]:
139
+ # Equivalent to fair-esm alphabet, compatible with ESM-models
140
+ # Excludes digits, '_' and 'J' (ambiguous letter only used in mass-spec NMR)
141
+ # https://github.com/facebookresearch/esm/blob/2b369911bb5b4b0dda914521b9475cad1656b2ac/esm/constants.py#L8
142
+ allowed_sequence_chars = set('lagvsertidpkqnfymhwcxbuzoLAGVSERTIDPKQNFYMHWCXBUZO-.')
143
+ invalid_chars = [char for char in sequence if char not in allowed_sequence_chars]
144
+ return invalid_chars
145
+
129
146
  @staticmethod
130
147
  def _find_invalid_sequence_id_characters(sequence: str) -> List[str]:
131
148
  allowed_chars = set('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.:*#')
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pybiolib"
3
- version = "1.2.158.dev1"
3
+ version = "1.2.164.dev1"
4
4
  description = "BioLib Python Client"
5
5
  readme = "PYPI_README.md"
6
6
  license = "MIT"
File without changes