benchling-api-client 2.0.417__py3-none-any.whl → 2.0.419__py3-none-any.whl
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.
- benchling_api_client/models/back_translate.py +85 -1
- benchling_api_client/models/back_translate_gc_content_range.py +98 -0
- benchling_api_client/models/back_translate_method.py +21 -0
- benchling_api_client/models/optimize_codons.py +85 -1
- benchling_api_client/models/optimize_codons_gc_content_range.py +98 -0
- benchling_api_client/models/optimize_codons_method.py +21 -0
- benchling_api_client/models/reduced_pattern.py +3 -1
- benchling_api_client/v2/alpha/models/benchling_app_manifest_feature_canvas_locations.py +1 -0
- benchling_api_client/v2/alpha/openapi.yaml +1 -0
- benchling_api_client/v2/beta/models/benchling_app_manifest_feature_canvas_locations.py +1 -0
- benchling_api_client/v2/beta/models/entry_beta_review_record.py +49 -0
- benchling_api_client/v2/beta/models/entry_review_process.py +252 -0
- benchling_api_client/v2/beta/models/entry_review_process_completion_status.py +27 -0
- benchling_api_client/v2/beta/models/entry_review_process_stages_item.py +211 -0
- benchling_api_client/v2/beta/models/entry_review_process_stages_item_action_label.py +27 -0
- benchling_api_client/v2/beta/models/entry_review_process_stages_item_reviewers_item.py +195 -0
- benchling_api_client/v2/beta/models/entry_review_process_stages_item_reviewers_item_status.py +25 -0
- benchling_api_client/v2/beta/models/entry_review_process_type.py +22 -0
- benchling_api_client/v2/beta/models/worksheet_review_changes_review_record.py +49 -0
- benchling_api_client/v2/beta/openapi.yaml +77 -0
- benchling_api_client/v2/stable/models/back_translate.py +85 -1
- benchling_api_client/v2/stable/models/back_translate_gc_content_range.py +98 -0
- benchling_api_client/v2/stable/models/back_translate_method.py +21 -0
- benchling_api_client/v2/stable/models/optimize_codons.py +85 -1
- benchling_api_client/v2/stable/models/optimize_codons_gc_content_range.py +98 -0
- benchling_api_client/v2/stable/models/optimize_codons_method.py +21 -0
- benchling_api_client/v2/stable/models/reduced_pattern.py +3 -1
- benchling_api_client/v2/stable/openapi.yaml +78 -11
- {benchling_api_client-2.0.417.dist-info → benchling_api_client-2.0.419.dist-info}/METADATA +1 -1
- {benchling_api_client-2.0.417.dist-info → benchling_api_client-2.0.419.dist-info}/RECORD +32 -17
- {benchling_api_client-2.0.417.dist-info → benchling_api_client-2.0.419.dist-info}/LICENSE +0 -0
- {benchling_api_client-2.0.417.dist-info → benchling_api_client-2.0.419.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
from typing import Any, cast, Dict, Type, TypeVar, Union
|
|
2
|
+
|
|
3
|
+
import attr
|
|
4
|
+
|
|
5
|
+
from ..extensions import NotPresentError
|
|
6
|
+
from ..types import UNSET, Unset
|
|
7
|
+
|
|
8
|
+
T = TypeVar("T", bound="BackTranslateGcContentRange")
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@attr.s(auto_attribs=True, repr=False)
|
|
12
|
+
class BackTranslateGcContentRange:
|
|
13
|
+
"""Custom GC content range for the optimized sequence, specified as decimal values between 0 and 1. The maximum must be greater than the minimum. Cannot be specified together with gcContent."""
|
|
14
|
+
|
|
15
|
+
_max: Union[Unset, float] = UNSET
|
|
16
|
+
_min: Union[Unset, float] = UNSET
|
|
17
|
+
|
|
18
|
+
def __repr__(self):
|
|
19
|
+
fields = []
|
|
20
|
+
fields.append("max={}".format(repr(self._max)))
|
|
21
|
+
fields.append("min={}".format(repr(self._min)))
|
|
22
|
+
return "BackTranslateGcContentRange({})".format(", ".join(fields))
|
|
23
|
+
|
|
24
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
25
|
+
max = self._max
|
|
26
|
+
min = self._min
|
|
27
|
+
|
|
28
|
+
field_dict: Dict[str, Any] = {}
|
|
29
|
+
# Allow the model to serialize even if it was created outside of the constructor, circumventing validation
|
|
30
|
+
if max is not UNSET:
|
|
31
|
+
field_dict["max"] = max
|
|
32
|
+
if min is not UNSET:
|
|
33
|
+
field_dict["min"] = min
|
|
34
|
+
|
|
35
|
+
return field_dict
|
|
36
|
+
|
|
37
|
+
@classmethod
|
|
38
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any], strict: bool = False) -> T:
|
|
39
|
+
d = src_dict.copy()
|
|
40
|
+
|
|
41
|
+
def get_max() -> Union[Unset, float]:
|
|
42
|
+
max = d.pop("max")
|
|
43
|
+
return max
|
|
44
|
+
|
|
45
|
+
try:
|
|
46
|
+
max = get_max()
|
|
47
|
+
except KeyError:
|
|
48
|
+
if strict:
|
|
49
|
+
raise
|
|
50
|
+
max = cast(Union[Unset, float], UNSET)
|
|
51
|
+
|
|
52
|
+
def get_min() -> Union[Unset, float]:
|
|
53
|
+
min = d.pop("min")
|
|
54
|
+
return min
|
|
55
|
+
|
|
56
|
+
try:
|
|
57
|
+
min = get_min()
|
|
58
|
+
except KeyError:
|
|
59
|
+
if strict:
|
|
60
|
+
raise
|
|
61
|
+
min = cast(Union[Unset, float], UNSET)
|
|
62
|
+
|
|
63
|
+
back_translate_gc_content_range = cls(
|
|
64
|
+
max=max,
|
|
65
|
+
min=min,
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
return back_translate_gc_content_range
|
|
69
|
+
|
|
70
|
+
@property
|
|
71
|
+
def max(self) -> float:
|
|
72
|
+
""" Maximum GC content ratio (e.g., 0.6 for 60%) """
|
|
73
|
+
if isinstance(self._max, Unset):
|
|
74
|
+
raise NotPresentError(self, "max")
|
|
75
|
+
return self._max
|
|
76
|
+
|
|
77
|
+
@max.setter
|
|
78
|
+
def max(self, value: float) -> None:
|
|
79
|
+
self._max = value
|
|
80
|
+
|
|
81
|
+
@max.deleter
|
|
82
|
+
def max(self) -> None:
|
|
83
|
+
self._max = UNSET
|
|
84
|
+
|
|
85
|
+
@property
|
|
86
|
+
def min(self) -> float:
|
|
87
|
+
""" Minimum GC content ratio (e.g., 0.4 for 40%) """
|
|
88
|
+
if isinstance(self._min, Unset):
|
|
89
|
+
raise NotPresentError(self, "min")
|
|
90
|
+
return self._min
|
|
91
|
+
|
|
92
|
+
@min.setter
|
|
93
|
+
def min(self, value: float) -> None:
|
|
94
|
+
self._min = value
|
|
95
|
+
|
|
96
|
+
@min.deleter
|
|
97
|
+
def min(self) -> None:
|
|
98
|
+
self._min = UNSET
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
from functools import lru_cache
|
|
3
|
+
from typing import cast
|
|
4
|
+
|
|
5
|
+
from ..extensions import Enums
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class BackTranslateMethod(Enums.KnownString):
|
|
9
|
+
MATCH_CODON_USAGE = "MATCH_CODON_USAGE"
|
|
10
|
+
USE_BEST_CODON = "USE_BEST_CODON"
|
|
11
|
+
|
|
12
|
+
def __str__(self) -> str:
|
|
13
|
+
return str(self.value)
|
|
14
|
+
|
|
15
|
+
@staticmethod
|
|
16
|
+
@lru_cache(maxsize=None)
|
|
17
|
+
def of_unknown(val: str) -> "BackTranslateMethod":
|
|
18
|
+
if not isinstance(val, str):
|
|
19
|
+
raise ValueError(f"Value of BackTranslateMethod must be a string (encountered: {val})")
|
|
20
|
+
newcls = Enum("BackTranslateMethod", {"_UNKNOWN": val}, type=Enums.UnknownString) # type: ignore
|
|
21
|
+
return cast(BackTranslateMethod, getattr(newcls, "_UNKNOWN"))
|
|
@@ -4,7 +4,9 @@ import attr
|
|
|
4
4
|
|
|
5
5
|
from ..extensions import NotPresentError
|
|
6
6
|
from ..models.optimize_codons_gc_content import OptimizeCodonsGcContent
|
|
7
|
+
from ..models.optimize_codons_gc_content_range import OptimizeCodonsGcContentRange
|
|
7
8
|
from ..models.optimize_codons_hairpin_parameters import OptimizeCodonsHairpinParameters
|
|
9
|
+
from ..models.optimize_codons_method import OptimizeCodonsMethod
|
|
8
10
|
from ..models.reduced_pattern import ReducedPattern
|
|
9
11
|
from ..types import UNSET, Unset
|
|
10
12
|
|
|
@@ -20,7 +22,9 @@ class OptimizeCodons:
|
|
|
20
22
|
_avoided_cutsite_enzyme_ids: Union[Unset, List[str]] = UNSET
|
|
21
23
|
_codon_usage_table_id: Union[Unset, str] = UNSET
|
|
22
24
|
_gc_content: Union[Unset, OptimizeCodonsGcContent] = OptimizeCodonsGcContent.ANY
|
|
25
|
+
_gc_content_range: Union[Unset, OptimizeCodonsGcContentRange] = UNSET
|
|
23
26
|
_hairpin_parameters: Union[Unset, OptimizeCodonsHairpinParameters] = UNSET
|
|
27
|
+
_method: Union[Unset, OptimizeCodonsMethod] = OptimizeCodonsMethod.MATCH_CODON_USAGE
|
|
24
28
|
_reduced_patterns: Union[Unset, List[ReducedPattern]] = UNSET
|
|
25
29
|
_schema_id: Union[Unset, str] = UNSET
|
|
26
30
|
_should_deplete_uridine: Union[Unset, bool] = False
|
|
@@ -32,7 +36,9 @@ class OptimizeCodons:
|
|
|
32
36
|
fields.append("avoided_cutsite_enzyme_ids={}".format(repr(self._avoided_cutsite_enzyme_ids)))
|
|
33
37
|
fields.append("codon_usage_table_id={}".format(repr(self._codon_usage_table_id)))
|
|
34
38
|
fields.append("gc_content={}".format(repr(self._gc_content)))
|
|
39
|
+
fields.append("gc_content_range={}".format(repr(self._gc_content_range)))
|
|
35
40
|
fields.append("hairpin_parameters={}".format(repr(self._hairpin_parameters)))
|
|
41
|
+
fields.append("method={}".format(repr(self._method)))
|
|
36
42
|
fields.append("reduced_patterns={}".format(repr(self._reduced_patterns)))
|
|
37
43
|
fields.append("schema_id={}".format(repr(self._schema_id)))
|
|
38
44
|
fields.append("should_deplete_uridine={}".format(repr(self._should_deplete_uridine)))
|
|
@@ -51,10 +57,18 @@ class OptimizeCodons:
|
|
|
51
57
|
if not isinstance(self._gc_content, Unset):
|
|
52
58
|
gc_content = self._gc_content.value
|
|
53
59
|
|
|
60
|
+
gc_content_range: Union[Unset, Dict[str, Any]] = UNSET
|
|
61
|
+
if not isinstance(self._gc_content_range, Unset):
|
|
62
|
+
gc_content_range = self._gc_content_range.to_dict()
|
|
63
|
+
|
|
54
64
|
hairpin_parameters: Union[Unset, Dict[str, Any]] = UNSET
|
|
55
65
|
if not isinstance(self._hairpin_parameters, Unset):
|
|
56
66
|
hairpin_parameters = self._hairpin_parameters.to_dict()
|
|
57
67
|
|
|
68
|
+
method: Union[Unset, int] = UNSET
|
|
69
|
+
if not isinstance(self._method, Unset):
|
|
70
|
+
method = self._method.value
|
|
71
|
+
|
|
58
72
|
reduced_patterns: Union[Unset, List[Any]] = UNSET
|
|
59
73
|
if not isinstance(self._reduced_patterns, Unset):
|
|
60
74
|
reduced_patterns = []
|
|
@@ -78,8 +92,12 @@ class OptimizeCodons:
|
|
|
78
92
|
field_dict["codonUsageTableId"] = codon_usage_table_id
|
|
79
93
|
if gc_content is not UNSET:
|
|
80
94
|
field_dict["gcContent"] = gc_content
|
|
95
|
+
if gc_content_range is not UNSET:
|
|
96
|
+
field_dict["gcContentRange"] = gc_content_range
|
|
81
97
|
if hairpin_parameters is not UNSET:
|
|
82
98
|
field_dict["hairpinParameters"] = hairpin_parameters
|
|
99
|
+
if method is not UNSET:
|
|
100
|
+
field_dict["method"] = method
|
|
83
101
|
if reduced_patterns is not UNSET:
|
|
84
102
|
field_dict["reducedPatterns"] = reduced_patterns
|
|
85
103
|
if schema_id is not UNSET:
|
|
@@ -157,6 +175,22 @@ class OptimizeCodons:
|
|
|
157
175
|
raise
|
|
158
176
|
gc_content = cast(Union[Unset, OptimizeCodonsGcContent], UNSET)
|
|
159
177
|
|
|
178
|
+
def get_gc_content_range() -> Union[Unset, OptimizeCodonsGcContentRange]:
|
|
179
|
+
gc_content_range: Union[Unset, Union[Unset, OptimizeCodonsGcContentRange]] = UNSET
|
|
180
|
+
_gc_content_range = d.pop("gcContentRange")
|
|
181
|
+
|
|
182
|
+
if not isinstance(_gc_content_range, Unset):
|
|
183
|
+
gc_content_range = OptimizeCodonsGcContentRange.from_dict(_gc_content_range)
|
|
184
|
+
|
|
185
|
+
return gc_content_range
|
|
186
|
+
|
|
187
|
+
try:
|
|
188
|
+
gc_content_range = get_gc_content_range()
|
|
189
|
+
except KeyError:
|
|
190
|
+
if strict:
|
|
191
|
+
raise
|
|
192
|
+
gc_content_range = cast(Union[Unset, OptimizeCodonsGcContentRange], UNSET)
|
|
193
|
+
|
|
160
194
|
def get_hairpin_parameters() -> Union[Unset, OptimizeCodonsHairpinParameters]:
|
|
161
195
|
hairpin_parameters: Union[Unset, Union[Unset, OptimizeCodonsHairpinParameters]] = UNSET
|
|
162
196
|
_hairpin_parameters = d.pop("hairpinParameters")
|
|
@@ -173,6 +207,24 @@ class OptimizeCodons:
|
|
|
173
207
|
raise
|
|
174
208
|
hairpin_parameters = cast(Union[Unset, OptimizeCodonsHairpinParameters], UNSET)
|
|
175
209
|
|
|
210
|
+
def get_method() -> Union[Unset, OptimizeCodonsMethod]:
|
|
211
|
+
method = UNSET
|
|
212
|
+
_method = d.pop("method")
|
|
213
|
+
if _method is not None and _method is not UNSET:
|
|
214
|
+
try:
|
|
215
|
+
method = OptimizeCodonsMethod(_method)
|
|
216
|
+
except ValueError:
|
|
217
|
+
method = OptimizeCodonsMethod.of_unknown(_method)
|
|
218
|
+
|
|
219
|
+
return method
|
|
220
|
+
|
|
221
|
+
try:
|
|
222
|
+
method = get_method()
|
|
223
|
+
except KeyError:
|
|
224
|
+
if strict:
|
|
225
|
+
raise
|
|
226
|
+
method = cast(Union[Unset, OptimizeCodonsMethod], UNSET)
|
|
227
|
+
|
|
176
228
|
def get_reduced_patterns() -> Union[Unset, List[ReducedPattern]]:
|
|
177
229
|
reduced_patterns = []
|
|
178
230
|
_reduced_patterns = d.pop("reducedPatterns")
|
|
@@ -218,7 +270,9 @@ class OptimizeCodons:
|
|
|
218
270
|
avoided_cutsite_enzyme_ids=avoided_cutsite_enzyme_ids,
|
|
219
271
|
codon_usage_table_id=codon_usage_table_id,
|
|
220
272
|
gc_content=gc_content,
|
|
273
|
+
gc_content_range=gc_content_range,
|
|
221
274
|
hairpin_parameters=hairpin_parameters,
|
|
275
|
+
method=method,
|
|
222
276
|
reduced_patterns=reduced_patterns,
|
|
223
277
|
schema_id=schema_id,
|
|
224
278
|
should_deplete_uridine=should_deplete_uridine,
|
|
@@ -280,7 +334,7 @@ class OptimizeCodons:
|
|
|
280
334
|
|
|
281
335
|
@property
|
|
282
336
|
def gc_content(self) -> OptimizeCodonsGcContent:
|
|
283
|
-
"""The amount of GC content in the optimized sequence.
|
|
337
|
+
"""The amount of GC content in the optimized sequence. LOW is defined as below 0.33, MEDIUM as 0.33-0.66, and HIGH as above 0.66. If neither gcContent nor gcContentRange is specified, the optimization will default to ANY (0-1). Cannot be specified together with gcContentRange."""
|
|
284
338
|
if isinstance(self._gc_content, Unset):
|
|
285
339
|
raise NotPresentError(self, "gc_content")
|
|
286
340
|
return self._gc_content
|
|
@@ -293,6 +347,21 @@ class OptimizeCodons:
|
|
|
293
347
|
def gc_content(self) -> None:
|
|
294
348
|
self._gc_content = UNSET
|
|
295
349
|
|
|
350
|
+
@property
|
|
351
|
+
def gc_content_range(self) -> OptimizeCodonsGcContentRange:
|
|
352
|
+
"""Custom GC content range for the optimized sequence, specified as decimal values between 0 and 1. The maximum must be greater than the minimum. Cannot be specified together with gcContent."""
|
|
353
|
+
if isinstance(self._gc_content_range, Unset):
|
|
354
|
+
raise NotPresentError(self, "gc_content_range")
|
|
355
|
+
return self._gc_content_range
|
|
356
|
+
|
|
357
|
+
@gc_content_range.setter
|
|
358
|
+
def gc_content_range(self, value: OptimizeCodonsGcContentRange) -> None:
|
|
359
|
+
self._gc_content_range = value
|
|
360
|
+
|
|
361
|
+
@gc_content_range.deleter
|
|
362
|
+
def gc_content_range(self) -> None:
|
|
363
|
+
self._gc_content_range = UNSET
|
|
364
|
+
|
|
296
365
|
@property
|
|
297
366
|
def hairpin_parameters(self) -> OptimizeCodonsHairpinParameters:
|
|
298
367
|
"""These parameters are applied in the AvoidHairpins specification in DNAChisel. If hairpinParameters is not specified, hairpins will not be avoided."""
|
|
@@ -308,6 +377,21 @@ class OptimizeCodons:
|
|
|
308
377
|
def hairpin_parameters(self) -> None:
|
|
309
378
|
self._hairpin_parameters = UNSET
|
|
310
379
|
|
|
380
|
+
@property
|
|
381
|
+
def method(self) -> OptimizeCodonsMethod:
|
|
382
|
+
"""The codon optimization algorithm to use. Requires codonUsageTableId to be specified. MATCH_CODON_USAGE selects codons probabilistically based on the organism's codon usage frequencies. USE_BEST_CODON always selects the most frequently used codon for each amino acid."""
|
|
383
|
+
if isinstance(self._method, Unset):
|
|
384
|
+
raise NotPresentError(self, "method")
|
|
385
|
+
return self._method
|
|
386
|
+
|
|
387
|
+
@method.setter
|
|
388
|
+
def method(self, value: OptimizeCodonsMethod) -> None:
|
|
389
|
+
self._method = value
|
|
390
|
+
|
|
391
|
+
@method.deleter
|
|
392
|
+
def method(self) -> None:
|
|
393
|
+
self._method = UNSET
|
|
394
|
+
|
|
311
395
|
@property
|
|
312
396
|
def reduced_patterns(self) -> List[ReducedPattern]:
|
|
313
397
|
"""List of patterns to avoid when creating the optimized sequence, on the coding strand only."""
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
from typing import Any, cast, Dict, Type, TypeVar, Union
|
|
2
|
+
|
|
3
|
+
import attr
|
|
4
|
+
|
|
5
|
+
from ..extensions import NotPresentError
|
|
6
|
+
from ..types import UNSET, Unset
|
|
7
|
+
|
|
8
|
+
T = TypeVar("T", bound="OptimizeCodonsGcContentRange")
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@attr.s(auto_attribs=True, repr=False)
|
|
12
|
+
class OptimizeCodonsGcContentRange:
|
|
13
|
+
"""Custom GC content range for the optimized sequence, specified as decimal values between 0 and 1. The maximum must be greater than the minimum. Cannot be specified together with gcContent."""
|
|
14
|
+
|
|
15
|
+
_max: Union[Unset, float] = UNSET
|
|
16
|
+
_min: Union[Unset, float] = UNSET
|
|
17
|
+
|
|
18
|
+
def __repr__(self):
|
|
19
|
+
fields = []
|
|
20
|
+
fields.append("max={}".format(repr(self._max)))
|
|
21
|
+
fields.append("min={}".format(repr(self._min)))
|
|
22
|
+
return "OptimizeCodonsGcContentRange({})".format(", ".join(fields))
|
|
23
|
+
|
|
24
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
25
|
+
max = self._max
|
|
26
|
+
min = self._min
|
|
27
|
+
|
|
28
|
+
field_dict: Dict[str, Any] = {}
|
|
29
|
+
# Allow the model to serialize even if it was created outside of the constructor, circumventing validation
|
|
30
|
+
if max is not UNSET:
|
|
31
|
+
field_dict["max"] = max
|
|
32
|
+
if min is not UNSET:
|
|
33
|
+
field_dict["min"] = min
|
|
34
|
+
|
|
35
|
+
return field_dict
|
|
36
|
+
|
|
37
|
+
@classmethod
|
|
38
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any], strict: bool = False) -> T:
|
|
39
|
+
d = src_dict.copy()
|
|
40
|
+
|
|
41
|
+
def get_max() -> Union[Unset, float]:
|
|
42
|
+
max = d.pop("max")
|
|
43
|
+
return max
|
|
44
|
+
|
|
45
|
+
try:
|
|
46
|
+
max = get_max()
|
|
47
|
+
except KeyError:
|
|
48
|
+
if strict:
|
|
49
|
+
raise
|
|
50
|
+
max = cast(Union[Unset, float], UNSET)
|
|
51
|
+
|
|
52
|
+
def get_min() -> Union[Unset, float]:
|
|
53
|
+
min = d.pop("min")
|
|
54
|
+
return min
|
|
55
|
+
|
|
56
|
+
try:
|
|
57
|
+
min = get_min()
|
|
58
|
+
except KeyError:
|
|
59
|
+
if strict:
|
|
60
|
+
raise
|
|
61
|
+
min = cast(Union[Unset, float], UNSET)
|
|
62
|
+
|
|
63
|
+
optimize_codons_gc_content_range = cls(
|
|
64
|
+
max=max,
|
|
65
|
+
min=min,
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
return optimize_codons_gc_content_range
|
|
69
|
+
|
|
70
|
+
@property
|
|
71
|
+
def max(self) -> float:
|
|
72
|
+
""" Maximum GC content ratio (e.g., 0.6 for 60%) """
|
|
73
|
+
if isinstance(self._max, Unset):
|
|
74
|
+
raise NotPresentError(self, "max")
|
|
75
|
+
return self._max
|
|
76
|
+
|
|
77
|
+
@max.setter
|
|
78
|
+
def max(self, value: float) -> None:
|
|
79
|
+
self._max = value
|
|
80
|
+
|
|
81
|
+
@max.deleter
|
|
82
|
+
def max(self) -> None:
|
|
83
|
+
self._max = UNSET
|
|
84
|
+
|
|
85
|
+
@property
|
|
86
|
+
def min(self) -> float:
|
|
87
|
+
""" Minimum GC content ratio (e.g., 0.4 for 40%) """
|
|
88
|
+
if isinstance(self._min, Unset):
|
|
89
|
+
raise NotPresentError(self, "min")
|
|
90
|
+
return self._min
|
|
91
|
+
|
|
92
|
+
@min.setter
|
|
93
|
+
def min(self, value: float) -> None:
|
|
94
|
+
self._min = value
|
|
95
|
+
|
|
96
|
+
@min.deleter
|
|
97
|
+
def min(self) -> None:
|
|
98
|
+
self._min = UNSET
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
from functools import lru_cache
|
|
3
|
+
from typing import cast
|
|
4
|
+
|
|
5
|
+
from ..extensions import Enums
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class OptimizeCodonsMethod(Enums.KnownString):
|
|
9
|
+
MATCH_CODON_USAGE = "MATCH_CODON_USAGE"
|
|
10
|
+
USE_BEST_CODON = "USE_BEST_CODON"
|
|
11
|
+
|
|
12
|
+
def __str__(self) -> str:
|
|
13
|
+
return str(self.value)
|
|
14
|
+
|
|
15
|
+
@staticmethod
|
|
16
|
+
@lru_cache(maxsize=None)
|
|
17
|
+
def of_unknown(val: str) -> "OptimizeCodonsMethod":
|
|
18
|
+
if not isinstance(val, str):
|
|
19
|
+
raise ValueError(f"Value of OptimizeCodonsMethod must be a string (encountered: {val})")
|
|
20
|
+
newcls = Enum("OptimizeCodonsMethod", {"_UNKNOWN": val}, type=Enums.UnknownString) # type: ignore
|
|
21
|
+
return cast(OptimizeCodonsMethod, getattr(newcls, "_UNKNOWN"))
|
|
@@ -10,7 +10,9 @@ T = TypeVar("T", bound="ReducedPattern")
|
|
|
10
10
|
|
|
11
11
|
@attr.s(auto_attribs=True, repr=False)
|
|
12
12
|
class ReducedPattern:
|
|
13
|
-
"""
|
|
13
|
+
"""DNA patterns to avoid during optimization. Supports two formats: 1) DNA base patterns: strings of ATGC bases (case-insensitive, e.g., "ATGC" or "gat") 2) Repeat patterns: format "nxkmer" specifying n repeats of k-sized sequences (e.g., "3x4mer" matches 3 consecutive 4-base repeats). Maximum total length for repeat patterns is 50 bases (n * k ≤ 50).
|
|
14
|
+
If avoidReverseComplement is true, the pattern's reverse complement will also be avoided. Note: avoidReverseComplement cannot be true for repeat patterns (nxkmer format).
|
|
15
|
+
"""
|
|
14
16
|
|
|
15
17
|
_avoid_reverse_complement: Union[Unset, bool] = False
|
|
16
18
|
_pattern: Union[Unset, str] = UNSET
|
|
@@ -23669,9 +23669,10 @@ components:
|
|
|
23669
23669
|
type: string
|
|
23670
23670
|
gcContent:
|
|
23671
23671
|
default: ANY
|
|
23672
|
-
description: 'The amount of GC content in the
|
|
23673
|
-
|
|
23674
|
-
|
|
23672
|
+
description: 'The amount of GC content in the optimized sequence. LOW is
|
|
23673
|
+
defined as below 0.33, MEDIUM as 0.33-0.66, and HIGH as above 0.66. If
|
|
23674
|
+
neither gcContent nor gcContentRange is specified, the optimization will
|
|
23675
|
+
default to ANY (0-1). Cannot be specified together with gcContentRange.
|
|
23675
23676
|
|
|
23676
23677
|
'
|
|
23677
23678
|
enum:
|
|
@@ -23680,6 +23681,25 @@ components:
|
|
|
23680
23681
|
- MEDIUM
|
|
23681
23682
|
- HIGH
|
|
23682
23683
|
type: string
|
|
23684
|
+
gcContentRange:
|
|
23685
|
+
additionalProperties: false
|
|
23686
|
+
description: 'Custom GC content range for the optimized sequence, specified
|
|
23687
|
+
as decimal values between 0 and 1. The maximum must be greater than the
|
|
23688
|
+
minimum. Cannot be specified together with gcContent.
|
|
23689
|
+
|
|
23690
|
+
'
|
|
23691
|
+
properties:
|
|
23692
|
+
max:
|
|
23693
|
+
description: Maximum GC content ratio (e.g., 0.6 for 60%)
|
|
23694
|
+
maximum: 1
|
|
23695
|
+
minimum: 0
|
|
23696
|
+
type: number
|
|
23697
|
+
min:
|
|
23698
|
+
description: Minimum GC content ratio (e.g., 0.4 for 40%)
|
|
23699
|
+
maximum: 1
|
|
23700
|
+
minimum: 0
|
|
23701
|
+
type: number
|
|
23702
|
+
type: object
|
|
23683
23703
|
hairpinParameters:
|
|
23684
23704
|
additionalProperties: false
|
|
23685
23705
|
description: 'These parameters are applied in the AvoidHairpins specification
|
|
@@ -23695,6 +23715,18 @@ components:
|
|
|
23695
23715
|
default: 200
|
|
23696
23716
|
type: integer
|
|
23697
23717
|
type: object
|
|
23718
|
+
method:
|
|
23719
|
+
default: MATCH_CODON_USAGE
|
|
23720
|
+
description: 'The codon optimization algorithm to use. Requires codonUsageTableId
|
|
23721
|
+
to be specified. MATCH_CODON_USAGE selects codons probabilistically based
|
|
23722
|
+
on the organism''s codon usage frequencies. USE_BEST_CODON always selects
|
|
23723
|
+
the most frequently used codon for each amino acid.
|
|
23724
|
+
|
|
23725
|
+
'
|
|
23726
|
+
enum:
|
|
23727
|
+
- MATCH_CODON_USAGE
|
|
23728
|
+
- USE_BEST_CODON
|
|
23729
|
+
type: string
|
|
23698
23730
|
reducedPatterns:
|
|
23699
23731
|
description: 'List of patterns to avoid when creating the back-translated
|
|
23700
23732
|
sequence, on the coding strand only.
|
|
@@ -31383,9 +31415,10 @@ components:
|
|
|
31383
31415
|
type: string
|
|
31384
31416
|
gcContent:
|
|
31385
31417
|
default: ANY
|
|
31386
|
-
description: 'The amount of GC content in the optimized sequence.
|
|
31387
|
-
|
|
31388
|
-
|
|
31418
|
+
description: 'The amount of GC content in the optimized sequence. LOW is
|
|
31419
|
+
defined as below 0.33, MEDIUM as 0.33-0.66, and HIGH as above 0.66. If
|
|
31420
|
+
neither gcContent nor gcContentRange is specified, the optimization will
|
|
31421
|
+
default to ANY (0-1). Cannot be specified together with gcContentRange.
|
|
31389
31422
|
|
|
31390
31423
|
'
|
|
31391
31424
|
enum:
|
|
@@ -31394,6 +31427,25 @@ components:
|
|
|
31394
31427
|
- MEDIUM
|
|
31395
31428
|
- HIGH
|
|
31396
31429
|
type: string
|
|
31430
|
+
gcContentRange:
|
|
31431
|
+
additionalProperties: false
|
|
31432
|
+
description: 'Custom GC content range for the optimized sequence, specified
|
|
31433
|
+
as decimal values between 0 and 1. The maximum must be greater than the
|
|
31434
|
+
minimum. Cannot be specified together with gcContent.
|
|
31435
|
+
|
|
31436
|
+
'
|
|
31437
|
+
properties:
|
|
31438
|
+
max:
|
|
31439
|
+
description: Maximum GC content ratio (e.g., 0.6 for 60%)
|
|
31440
|
+
maximum: 1
|
|
31441
|
+
minimum: 0
|
|
31442
|
+
type: number
|
|
31443
|
+
min:
|
|
31444
|
+
description: Minimum GC content ratio (e.g., 0.4 for 40%)
|
|
31445
|
+
maximum: 1
|
|
31446
|
+
minimum: 0
|
|
31447
|
+
type: number
|
|
31448
|
+
type: object
|
|
31397
31449
|
hairpinParameters:
|
|
31398
31450
|
additionalProperties: false
|
|
31399
31451
|
description: 'These parameters are applied in the AvoidHairpins specification
|
|
@@ -31409,6 +31461,18 @@ components:
|
|
|
31409
31461
|
default: 200
|
|
31410
31462
|
type: integer
|
|
31411
31463
|
type: object
|
|
31464
|
+
method:
|
|
31465
|
+
default: MATCH_CODON_USAGE
|
|
31466
|
+
description: 'The codon optimization algorithm to use. Requires codonUsageTableId
|
|
31467
|
+
to be specified. MATCH_CODON_USAGE selects codons probabilistically based
|
|
31468
|
+
on the organism''s codon usage frequencies. USE_BEST_CODON always selects
|
|
31469
|
+
the most frequently used codon for each amino acid.
|
|
31470
|
+
|
|
31471
|
+
'
|
|
31472
|
+
enum:
|
|
31473
|
+
- MATCH_CODON_USAGE
|
|
31474
|
+
- USE_BEST_CODON
|
|
31475
|
+
type: string
|
|
31412
31476
|
reducedPatterns:
|
|
31413
31477
|
description: 'List of patterns to avoid when creating the optimized sequence,
|
|
31414
31478
|
on the coding strand only.
|
|
@@ -31924,11 +31988,14 @@ components:
|
|
|
31924
31988
|
type: object
|
|
31925
31989
|
ReducedPattern:
|
|
31926
31990
|
additionalProperties: false
|
|
31927
|
-
description:
|
|
31928
|
-
|
|
31929
|
-
|
|
31930
|
-
|
|
31931
|
-
|
|
31991
|
+
description: "DNA patterns to avoid during optimization. Supports two formats:\
|
|
31992
|
+
\ 1) DNA base patterns: strings of ATGC bases (case-insensitive, e.g., \"\
|
|
31993
|
+
ATGC\" or \"gat\") 2) Repeat patterns: format \"nxkmer\" specifying n repeats\
|
|
31994
|
+
\ of k-sized sequences (e.g., \"3x4mer\" matches 3 consecutive 4-base repeats).\
|
|
31995
|
+
\ Maximum total length for repeat patterns is 50 bases (n * k \u2264 50).\n\
|
|
31996
|
+
If avoidReverseComplement is true, the pattern's reverse complement will also\
|
|
31997
|
+
\ be avoided. Note: avoidReverseComplement cannot be true for repeat patterns\
|
|
31998
|
+
\ (nxkmer format).\n"
|
|
31932
31999
|
properties:
|
|
31933
32000
|
avoidReverseComplement:
|
|
31934
32001
|
default: false
|