benchling-api-client 2.0.411__py3-none-any.whl → 2.0.413__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.
Files changed (49) hide show
  1. benchling_api_client/models/aa_sequence.py +32 -0
  2. benchling_api_client/models/aa_sequence_with_entity_type.py +32 -0
  3. benchling_api_client/models/benchling_app.py +4 -4
  4. benchling_api_client/models/box_schema.py +41 -0
  5. benchling_api_client/models/custom_entity.py +32 -0
  6. benchling_api_client/models/custom_entity_with_entity_type.py +32 -0
  7. benchling_api_client/models/dna_sequence.py +68 -0
  8. benchling_api_client/models/dna_sequence_with_entity_type.py +68 -0
  9. benchling_api_client/models/entry_schema_detailed.py +41 -0
  10. benchling_api_client/models/location_schema.py +41 -0
  11. benchling_api_client/models/monomer.py +32 -0
  12. benchling_api_client/models/plate_schema.py +41 -0
  13. benchling_api_client/models/request_response_samples_item_entity.py +68 -0
  14. benchling_api_client/models/rna_sequence.py +68 -0
  15. benchling_api_client/models/workflow_output.py +40 -0
  16. benchling_api_client/models/workflow_task.py +87 -0
  17. benchling_api_client/models/workflow_task_base.py +40 -0
  18. benchling_api_client/models/workflow_task_group.py +87 -0
  19. benchling_api_client/models/workflow_task_group_base.py +40 -0
  20. benchling_api_client/models/workflow_task_schema.py +41 -0
  21. benchling_api_client/v2/beta/models/aa_sequence.py +32 -0
  22. benchling_api_client/v2/beta/models/custom_entity.py +32 -0
  23. benchling_api_client/v2/beta/models/dna_sequence.py +68 -0
  24. benchling_api_client/v2/beta/openapi.yaml +14 -0
  25. benchling_api_client/v2/stable/models/aa_sequence.py +32 -0
  26. benchling_api_client/v2/stable/models/aa_sequence_with_entity_type.py +32 -0
  27. benchling_api_client/v2/stable/models/benchling_app.py +4 -4
  28. benchling_api_client/v2/stable/models/box_schema.py +41 -0
  29. benchling_api_client/v2/stable/models/custom_entity.py +32 -0
  30. benchling_api_client/v2/stable/models/custom_entity_with_entity_type.py +32 -0
  31. benchling_api_client/v2/stable/models/dna_sequence.py +68 -0
  32. benchling_api_client/v2/stable/models/dna_sequence_with_entity_type.py +68 -0
  33. benchling_api_client/v2/stable/models/entry_schema_detailed.py +41 -0
  34. benchling_api_client/v2/stable/models/location_schema.py +41 -0
  35. benchling_api_client/v2/stable/models/monomer.py +32 -0
  36. benchling_api_client/v2/stable/models/plate_schema.py +41 -0
  37. benchling_api_client/v2/stable/models/request_response_samples_item_entity.py +68 -0
  38. benchling_api_client/v2/stable/models/rna_sequence.py +68 -0
  39. benchling_api_client/v2/stable/models/workflow_output.py +40 -0
  40. benchling_api_client/v2/stable/models/workflow_task.py +87 -0
  41. benchling_api_client/v2/stable/models/workflow_task_base.py +40 -0
  42. benchling_api_client/v2/stable/models/workflow_task_group.py +87 -0
  43. benchling_api_client/v2/stable/models/workflow_task_group_base.py +40 -0
  44. benchling_api_client/v2/stable/models/workflow_task_schema.py +41 -0
  45. benchling_api_client/v2/stable/openapi.yaml +78 -2
  46. {benchling_api_client-2.0.411.dist-info → benchling_api_client-2.0.413.dist-info}/METADATA +1 -1
  47. {benchling_api_client-2.0.411.dist-info → benchling_api_client-2.0.413.dist-info}/RECORD +49 -49
  48. {benchling_api_client-2.0.411.dist-info → benchling_api_client-2.0.413.dist-info}/LICENSE +0 -0
  49. {benchling_api_client-2.0.411.dist-info → benchling_api_client-2.0.413.dist-info}/WHEEL +0 -0
@@ -3,6 +3,7 @@ from typing import Any, cast, Dict, List, Optional, Type, TypeVar, Union
3
3
  import attr
4
4
 
5
5
  from ..extensions import NotPresentError
6
+ from ..models.archive_record import ArchiveRecord
6
7
  from ..models.creation_origin import CreationOrigin
7
8
  from ..models.folder import Folder
8
9
  from ..models.team_summary import TeamSummary
@@ -19,6 +20,7 @@ T = TypeVar("T", bound="WorkflowTaskGroupBase")
19
20
  class WorkflowTaskGroupBase:
20
21
  """ """
21
22
 
23
+ _archive_record: Union[Unset, None, ArchiveRecord] = UNSET
22
24
  _created_at: Union[Unset, str] = UNSET
23
25
  _creation_origin: Union[Unset, CreationOrigin] = UNSET
24
26
  _creator: Union[Unset, UserSummary] = UNSET
@@ -37,6 +39,7 @@ class WorkflowTaskGroupBase:
37
39
 
38
40
  def __repr__(self):
39
41
  fields = []
42
+ fields.append("archive_record={}".format(repr(self._archive_record)))
40
43
  fields.append("created_at={}".format(repr(self._created_at)))
41
44
  fields.append("creation_origin={}".format(repr(self._creation_origin)))
42
45
  fields.append("creator={}".format(repr(self._creator)))
@@ -55,6 +58,10 @@ class WorkflowTaskGroupBase:
55
58
  return "WorkflowTaskGroupBase({})".format(", ".join(fields))
56
59
 
57
60
  def to_dict(self) -> Dict[str, Any]:
61
+ archive_record: Union[Unset, None, Dict[str, Any]] = UNSET
62
+ if not isinstance(self._archive_record, Unset):
63
+ archive_record = self._archive_record.to_dict() if self._archive_record else None
64
+
58
65
  created_at = self._created_at
59
66
  creation_origin: Union[Unset, Dict[str, Any]] = UNSET
60
67
  if not isinstance(self._creation_origin, Unset):
@@ -109,6 +116,8 @@ class WorkflowTaskGroupBase:
109
116
  field_dict: Dict[str, Any] = {}
110
117
  field_dict.update(self.additional_properties)
111
118
  # Allow the model to serialize even if it was created outside of the constructor, circumventing validation
119
+ if archive_record is not UNSET:
120
+ field_dict["archiveRecord"] = archive_record
112
121
  if created_at is not UNSET:
113
122
  field_dict["createdAt"] = created_at
114
123
  if creation_origin is not UNSET:
@@ -144,6 +153,22 @@ class WorkflowTaskGroupBase:
144
153
  def from_dict(cls: Type[T], src_dict: Dict[str, Any], strict: bool = False) -> T:
145
154
  d = src_dict.copy()
146
155
 
156
+ def get_archive_record() -> Union[Unset, None, ArchiveRecord]:
157
+ archive_record = None
158
+ _archive_record = d.pop("archiveRecord")
159
+
160
+ if _archive_record is not None and not isinstance(_archive_record, Unset):
161
+ archive_record = ArchiveRecord.from_dict(_archive_record)
162
+
163
+ return archive_record
164
+
165
+ try:
166
+ archive_record = get_archive_record()
167
+ except KeyError:
168
+ if strict:
169
+ raise
170
+ archive_record = cast(Union[Unset, None, ArchiveRecord], UNSET)
171
+
147
172
  def get_created_at() -> Union[Unset, str]:
148
173
  created_at = d.pop("createdAt")
149
174
  return created_at
@@ -342,6 +367,7 @@ class WorkflowTaskGroupBase:
342
367
  name = cast(Union[Unset, str], UNSET)
343
368
 
344
369
  workflow_task_group_base = cls(
370
+ archive_record=archive_record,
345
371
  created_at=created_at,
346
372
  creation_origin=creation_origin,
347
373
  creator=creator,
@@ -380,6 +406,20 @@ class WorkflowTaskGroupBase:
380
406
  def get(self, key, default=None) -> Optional[Any]:
381
407
  return self.additional_properties.get(key, default)
382
408
 
409
+ @property
410
+ def archive_record(self) -> Optional[ArchiveRecord]:
411
+ if isinstance(self._archive_record, Unset):
412
+ raise NotPresentError(self, "archive_record")
413
+ return self._archive_record
414
+
415
+ @archive_record.setter
416
+ def archive_record(self, value: Optional[ArchiveRecord]) -> None:
417
+ self._archive_record = value
418
+
419
+ @archive_record.deleter
420
+ def archive_record(self) -> None:
421
+ self._archive_record = UNSET
422
+
383
423
  @property
384
424
  def created_at(self) -> str:
385
425
  """ The ISO formatted date and time that the task group was created """
@@ -1,6 +1,8 @@
1
+ import datetime
1
2
  from typing import Any, cast, Dict, List, Optional, Type, TypeVar, Union
2
3
 
3
4
  import attr
5
+ from dateutil.parser import isoparse
4
6
 
5
7
  from ..extensions import NotPresentError, UnknownType
6
8
  from ..models.archive_record import ArchiveRecord
@@ -27,6 +29,7 @@ class WorkflowTaskSchema:
27
29
  _default_responsible_parties: Union[Unset, List[PartySummary]] = UNSET
28
30
  _execution_type: Union[Unset, WorkflowTaskSchemaExecutionType] = UNSET
29
31
  _flowchart_config: Union[Unset, WorkflowFlowchartConfigSummary] = UNSET
32
+ _modified_at: Union[Unset, datetime.datetime] = UNSET
30
33
  _can_set_assignee_on_task_creation: Union[Unset, bool] = UNSET
31
34
  _default_creation_folder_id: Union[Unset, None, str] = UNSET
32
35
  _default_entry_execution_folder_id: Union[Unset, None, str] = UNSET
@@ -61,6 +64,7 @@ class WorkflowTaskSchema:
61
64
  fields.append("default_responsible_parties={}".format(repr(self._default_responsible_parties)))
62
65
  fields.append("execution_type={}".format(repr(self._execution_type)))
63
66
  fields.append("flowchart_config={}".format(repr(self._flowchart_config)))
67
+ fields.append("modified_at={}".format(repr(self._modified_at)))
64
68
  fields.append(
65
69
  "can_set_assignee_on_task_creation={}".format(repr(self._can_set_assignee_on_task_creation))
66
70
  )
@@ -100,6 +104,10 @@ class WorkflowTaskSchema:
100
104
  if not isinstance(self._flowchart_config, Unset):
101
105
  flowchart_config = self._flowchart_config.to_dict()
102
106
 
107
+ modified_at: Union[Unset, str] = UNSET
108
+ if not isinstance(self._modified_at, Unset):
109
+ modified_at = self._modified_at.isoformat()
110
+
103
111
  can_set_assignee_on_task_creation = self._can_set_assignee_on_task_creation
104
112
  default_creation_folder_id = self._default_creation_folder_id
105
113
  default_entry_execution_folder_id = self._default_entry_execution_folder_id
@@ -163,6 +171,8 @@ class WorkflowTaskSchema:
163
171
  field_dict["executionType"] = execution_type
164
172
  if flowchart_config is not UNSET:
165
173
  field_dict["flowchartConfig"] = flowchart_config
174
+ if modified_at is not UNSET:
175
+ field_dict["modifiedAt"] = modified_at
166
176
  if can_set_assignee_on_task_creation is not UNSET:
167
177
  field_dict["canSetAssigneeOnTaskCreation"] = can_set_assignee_on_task_creation
168
178
  if default_creation_folder_id is not UNSET:
@@ -253,6 +263,21 @@ class WorkflowTaskSchema:
253
263
  raise
254
264
  flowchart_config = cast(Union[Unset, WorkflowFlowchartConfigSummary], UNSET)
255
265
 
266
+ def get_modified_at() -> Union[Unset, datetime.datetime]:
267
+ modified_at: Union[Unset, datetime.datetime] = UNSET
268
+ _modified_at = d.pop("modifiedAt")
269
+ if _modified_at is not None and not isinstance(_modified_at, Unset):
270
+ modified_at = isoparse(cast(str, _modified_at))
271
+
272
+ return modified_at
273
+
274
+ try:
275
+ modified_at = get_modified_at()
276
+ except KeyError:
277
+ if strict:
278
+ raise
279
+ modified_at = cast(Union[Unset, datetime.datetime], UNSET)
280
+
256
281
  def get_can_set_assignee_on_task_creation() -> Union[Unset, bool]:
257
282
  can_set_assignee_on_task_creation = d.pop("canSetAssigneeOnTaskCreation")
258
283
  return can_set_assignee_on_task_creation
@@ -536,6 +561,7 @@ class WorkflowTaskSchema:
536
561
  default_responsible_parties=default_responsible_parties,
537
562
  execution_type=execution_type,
538
563
  flowchart_config=flowchart_config,
564
+ modified_at=modified_at,
539
565
  can_set_assignee_on_task_creation=can_set_assignee_on_task_creation,
540
566
  default_creation_folder_id=default_creation_folder_id,
541
567
  default_entry_execution_folder_id=default_entry_execution_folder_id,
@@ -619,6 +645,21 @@ class WorkflowTaskSchema:
619
645
  def flowchart_config(self) -> None:
620
646
  self._flowchart_config = UNSET
621
647
 
648
+ @property
649
+ def modified_at(self) -> datetime.datetime:
650
+ """ DateTime the Oligo was last modified. """
651
+ if isinstance(self._modified_at, Unset):
652
+ raise NotPresentError(self, "modified_at")
653
+ return self._modified_at
654
+
655
+ @modified_at.setter
656
+ def modified_at(self, value: datetime.datetime) -> None:
657
+ self._modified_at = value
658
+
659
+ @modified_at.deleter
660
+ def modified_at(self) -> None:
661
+ self._modified_at = UNSET
662
+
622
663
  @property
623
664
  def can_set_assignee_on_task_creation(self) -> bool:
624
665
  """ Whether or not tasks of this schema can be created with a non-null assignee. """
@@ -40,6 +40,7 @@ class AaSequence:
40
40
  _registration_origin: Union[Unset, None, RegistrationOrigin] = UNSET
41
41
  _registry_id: Union[Unset, None, str] = UNSET
42
42
  _schema: Union[Unset, None, SchemaSummary] = UNSET
43
+ _url: Union[Unset, str] = UNSET
43
44
  _web_url: Union[Unset, str] = UNSET
44
45
  additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
45
46
 
@@ -64,6 +65,7 @@ class AaSequence:
64
65
  fields.append("registration_origin={}".format(repr(self._registration_origin)))
65
66
  fields.append("registry_id={}".format(repr(self._registry_id)))
66
67
  fields.append("schema={}".format(repr(self._schema)))
68
+ fields.append("url={}".format(repr(self._url)))
67
69
  fields.append("web_url={}".format(repr(self._web_url)))
68
70
  fields.append("additional_properties={}".format(repr(self.additional_properties)))
69
71
  return "AaSequence({})".format(", ".join(fields))
@@ -129,6 +131,7 @@ class AaSequence:
129
131
  if not isinstance(self._schema, Unset):
130
132
  schema = self._schema.to_dict() if self._schema else None
131
133
 
134
+ url = self._url
132
135
  web_url = self._web_url
133
136
 
134
137
  field_dict: Dict[str, Any] = {}
@@ -172,6 +175,8 @@ class AaSequence:
172
175
  field_dict["registryId"] = registry_id
173
176
  if schema is not UNSET:
174
177
  field_dict["schema"] = schema
178
+ if url is not UNSET:
179
+ field_dict["url"] = url
175
180
  if web_url is not UNSET:
176
181
  field_dict["webURL"] = web_url
177
182
 
@@ -441,6 +446,17 @@ class AaSequence:
441
446
  raise
442
447
  schema = cast(Union[Unset, None, SchemaSummary], UNSET)
443
448
 
449
+ def get_url() -> Union[Unset, str]:
450
+ url = d.pop("url")
451
+ return url
452
+
453
+ try:
454
+ url = get_url()
455
+ except KeyError:
456
+ if strict:
457
+ raise
458
+ url = cast(Union[Unset, str], UNSET)
459
+
444
460
  def get_web_url() -> Union[Unset, str]:
445
461
  web_url = d.pop("webURL")
446
462
  return web_url
@@ -472,6 +488,7 @@ class AaSequence:
472
488
  registration_origin=registration_origin,
473
489
  registry_id=registry_id,
474
490
  schema=schema,
491
+ url=url,
475
492
  web_url=web_url,
476
493
  )
477
494
 
@@ -775,6 +792,21 @@ class AaSequence:
775
792
  def schema(self) -> None:
776
793
  self._schema = UNSET
777
794
 
795
+ @property
796
+ def url(self) -> str:
797
+ """ The path of the web URL, omitting the tenant domain """
798
+ if isinstance(self._url, Unset):
799
+ raise NotPresentError(self, "url")
800
+ return self._url
801
+
802
+ @url.setter
803
+ def url(self, value: str) -> None:
804
+ self._url = value
805
+
806
+ @url.deleter
807
+ def url(self) -> None:
808
+ self._url = UNSET
809
+
778
810
  @property
779
811
  def web_url(self) -> str:
780
812
  """ URL of the protein. """
@@ -37,6 +37,7 @@ class CustomEntity:
37
37
  _registration_origin: Union[Unset, None, RegistrationOrigin] = UNSET
38
38
  _registry_id: Union[Unset, None, str] = UNSET
39
39
  _schema: Union[Unset, None, SchemaSummary] = UNSET
40
+ _url: Union[Unset, str] = UNSET
40
41
  _web_url: Union[Unset, str] = UNSET
41
42
  additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
42
43
 
@@ -58,6 +59,7 @@ class CustomEntity:
58
59
  fields.append("registration_origin={}".format(repr(self._registration_origin)))
59
60
  fields.append("registry_id={}".format(repr(self._registry_id)))
60
61
  fields.append("schema={}".format(repr(self._schema)))
62
+ fields.append("url={}".format(repr(self._url)))
61
63
  fields.append("web_url={}".format(repr(self._web_url)))
62
64
  fields.append("additional_properties={}".format(repr(self.additional_properties)))
63
65
  return "CustomEntity({})".format(", ".join(fields))
@@ -113,6 +115,7 @@ class CustomEntity:
113
115
  if not isinstance(self._schema, Unset):
114
116
  schema = self._schema.to_dict() if self._schema else None
115
117
 
118
+ url = self._url
116
119
  web_url = self._web_url
117
120
 
118
121
  field_dict: Dict[str, Any] = {}
@@ -150,6 +153,8 @@ class CustomEntity:
150
153
  field_dict["registryId"] = registry_id
151
154
  if schema is not UNSET:
152
155
  field_dict["schema"] = schema
156
+ if url is not UNSET:
157
+ field_dict["url"] = url
153
158
  if web_url is not UNSET:
154
159
  field_dict["webURL"] = web_url
155
160
 
@@ -380,6 +385,17 @@ class CustomEntity:
380
385
  raise
381
386
  schema = cast(Union[Unset, None, SchemaSummary], UNSET)
382
387
 
388
+ def get_url() -> Union[Unset, str]:
389
+ url = d.pop("url")
390
+ return url
391
+
392
+ try:
393
+ url = get_url()
394
+ except KeyError:
395
+ if strict:
396
+ raise
397
+ url = cast(Union[Unset, str], UNSET)
398
+
383
399
  def get_web_url() -> Union[Unset, str]:
384
400
  web_url = d.pop("webURL")
385
401
  return web_url
@@ -408,6 +424,7 @@ class CustomEntity:
408
424
  registration_origin=registration_origin,
409
425
  registry_id=registry_id,
410
426
  schema=schema,
427
+ url=url,
411
428
  web_url=web_url,
412
429
  )
413
430
 
@@ -658,6 +675,21 @@ class CustomEntity:
658
675
  def schema(self) -> None:
659
676
  self._schema = UNSET
660
677
 
678
+ @property
679
+ def url(self) -> str:
680
+ """ The path of the web URL, omitting the tenant domain """
681
+ if isinstance(self._url, Unset):
682
+ raise NotPresentError(self, "url")
683
+ return self._url
684
+
685
+ @url.setter
686
+ def url(self, value: str) -> None:
687
+ self._url = value
688
+
689
+ @url.deleter
690
+ def url(self) -> None:
691
+ self._url = UNSET
692
+
661
693
  @property
662
694
  def web_url(self) -> str:
663
695
  if isinstance(self._web_url, Unset):
@@ -34,6 +34,7 @@ class DnaSequence:
34
34
  _created_at: Union[Unset, datetime.datetime] = UNSET
35
35
  _creator: Union[Unset, UserSummary] = UNSET
36
36
  _custom_fields: Union[Unset, CustomFields] = UNSET
37
+ _dna_alignment_ids: Union[Unset, List[str]] = UNSET
37
38
  _entity_registry_id: Union[Unset, None, str] = UNSET
38
39
  _fields: Union[Unset, Fields] = UNSET
39
40
  _folder_id: Union[Unset, None, str] = UNSET
@@ -49,6 +50,7 @@ class DnaSequence:
49
50
  _schema: Union[Unset, None, SchemaSummary] = UNSET
50
51
  _transcriptions: Union[Unset, List[DnaSequenceTranscription]] = UNSET
51
52
  _translations: Union[Unset, List[Translation]] = UNSET
53
+ _url: Union[Unset, str] = UNSET
52
54
  _web_url: Union[Unset, str] = UNSET
53
55
  additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
54
56
 
@@ -63,6 +65,7 @@ class DnaSequence:
63
65
  fields.append("created_at={}".format(repr(self._created_at)))
64
66
  fields.append("creator={}".format(repr(self._creator)))
65
67
  fields.append("custom_fields={}".format(repr(self._custom_fields)))
68
+ fields.append("dna_alignment_ids={}".format(repr(self._dna_alignment_ids)))
66
69
  fields.append("entity_registry_id={}".format(repr(self._entity_registry_id)))
67
70
  fields.append("fields={}".format(repr(self._fields)))
68
71
  fields.append("folder_id={}".format(repr(self._folder_id)))
@@ -78,6 +81,7 @@ class DnaSequence:
78
81
  fields.append("schema={}".format(repr(self._schema)))
79
82
  fields.append("transcriptions={}".format(repr(self._transcriptions)))
80
83
  fields.append("translations={}".format(repr(self._translations)))
84
+ fields.append("url={}".format(repr(self._url)))
81
85
  fields.append("web_url={}".format(repr(self._web_url)))
82
86
  fields.append("additional_properties={}".format(repr(self.additional_properties)))
83
87
  return "DnaSequence({})".format(", ".join(fields))
@@ -121,6 +125,10 @@ class DnaSequence:
121
125
  if not isinstance(self._custom_fields, Unset):
122
126
  custom_fields = self._custom_fields.to_dict()
123
127
 
128
+ dna_alignment_ids: Union[Unset, List[Any]] = UNSET
129
+ if not isinstance(self._dna_alignment_ids, Unset):
130
+ dna_alignment_ids = self._dna_alignment_ids
131
+
124
132
  entity_registry_id = self._entity_registry_id
125
133
  fields: Union[Unset, Dict[str, Any]] = UNSET
126
134
  if not isinstance(self._fields, Unset):
@@ -176,6 +184,7 @@ class DnaSequence:
176
184
 
177
185
  translations.append(translations_item)
178
186
 
187
+ url = self._url
179
188
  web_url = self._web_url
180
189
 
181
190
  field_dict: Dict[str, Any] = {}
@@ -199,6 +208,8 @@ class DnaSequence:
199
208
  field_dict["creator"] = creator
200
209
  if custom_fields is not UNSET:
201
210
  field_dict["customFields"] = custom_fields
211
+ if dna_alignment_ids is not UNSET:
212
+ field_dict["dnaAlignmentIds"] = dna_alignment_ids
202
213
  if entity_registry_id is not UNSET:
203
214
  field_dict["entityRegistryId"] = entity_registry_id
204
215
  if fields is not UNSET:
@@ -229,6 +240,8 @@ class DnaSequence:
229
240
  field_dict["transcriptions"] = transcriptions
230
241
  if translations is not UNSET:
231
242
  field_dict["translations"] = translations
243
+ if url is not UNSET:
244
+ field_dict["url"] = url
232
245
  if web_url is not UNSET:
233
246
  field_dict["webURL"] = web_url
234
247
 
@@ -369,6 +382,18 @@ class DnaSequence:
369
382
  raise
370
383
  custom_fields = cast(Union[Unset, CustomFields], UNSET)
371
384
 
385
+ def get_dna_alignment_ids() -> Union[Unset, List[str]]:
386
+ dna_alignment_ids = cast(List[str], d.pop("dnaAlignmentIds"))
387
+
388
+ return dna_alignment_ids
389
+
390
+ try:
391
+ dna_alignment_ids = get_dna_alignment_ids()
392
+ except KeyError:
393
+ if strict:
394
+ raise
395
+ dna_alignment_ids = cast(Union[Unset, List[str]], UNSET)
396
+
372
397
  def get_entity_registry_id() -> Union[Unset, None, str]:
373
398
  entity_registry_id = d.pop("entityRegistryId")
374
399
  return entity_registry_id
@@ -579,6 +604,17 @@ class DnaSequence:
579
604
  raise
580
605
  translations = cast(Union[Unset, List[Translation]], UNSET)
581
606
 
607
+ def get_url() -> Union[Unset, str]:
608
+ url = d.pop("url")
609
+ return url
610
+
611
+ try:
612
+ url = get_url()
613
+ except KeyError:
614
+ if strict:
615
+ raise
616
+ url = cast(Union[Unset, str], UNSET)
617
+
582
618
  def get_web_url() -> Union[Unset, str]:
583
619
  web_url = d.pop("webURL")
584
620
  return web_url
@@ -600,6 +636,7 @@ class DnaSequence:
600
636
  created_at=created_at,
601
637
  creator=creator,
602
638
  custom_fields=custom_fields,
639
+ dna_alignment_ids=dna_alignment_ids,
603
640
  entity_registry_id=entity_registry_id,
604
641
  fields=fields,
605
642
  folder_id=folder_id,
@@ -615,6 +652,7 @@ class DnaSequence:
615
652
  schema=schema,
616
653
  transcriptions=transcriptions,
617
654
  translations=translations,
655
+ url=url,
618
656
  web_url=web_url,
619
657
  )
620
658
 
@@ -767,6 +805,21 @@ class DnaSequence:
767
805
  def custom_fields(self) -> None:
768
806
  self._custom_fields = UNSET
769
807
 
808
+ @property
809
+ def dna_alignment_ids(self) -> List[str]:
810
+ """ API IDs of Nucleotide Alignments involving the RNA sequence """
811
+ if isinstance(self._dna_alignment_ids, Unset):
812
+ raise NotPresentError(self, "dna_alignment_ids")
813
+ return self._dna_alignment_ids
814
+
815
+ @dna_alignment_ids.setter
816
+ def dna_alignment_ids(self, value: List[str]) -> None:
817
+ self._dna_alignment_ids = value
818
+
819
+ @dna_alignment_ids.deleter
820
+ def dna_alignment_ids(self) -> None:
821
+ self._dna_alignment_ids = UNSET
822
+
770
823
  @property
771
824
  def entity_registry_id(self) -> Optional[str]:
772
825
  if isinstance(self._entity_registry_id, Unset):
@@ -977,6 +1030,21 @@ class DnaSequence:
977
1030
  def translations(self) -> None:
978
1031
  self._translations = UNSET
979
1032
 
1033
+ @property
1034
+ def url(self) -> str:
1035
+ """ The path of the web URL, omitting the tenant domain """
1036
+ if isinstance(self._url, Unset):
1037
+ raise NotPresentError(self, "url")
1038
+ return self._url
1039
+
1040
+ @url.setter
1041
+ def url(self, value: str) -> None:
1042
+ self._url = value
1043
+
1044
+ @url.deleter
1045
+ def url(self) -> None:
1046
+ self._url = UNSET
1047
+
980
1048
  @property
981
1049
  def web_url(self) -> str:
982
1050
  if isinstance(self._web_url, Unset):
@@ -2835,6 +2835,9 @@ components:
2835
2835
  allOf:
2836
2836
  - $ref: '#/components/schemas/SchemaSummary'
2837
2837
  nullable: true
2838
+ url:
2839
+ description: The path of the web URL, omitting the tenant domain
2840
+ type: string
2838
2841
  webURL:
2839
2842
  description: URL of the protein.
2840
2843
  example: https://benchling.com/benchling/f/lib_55UxcIps-registry/prtn_7nMBOMm0-kedchain11/edit"
@@ -3796,6 +3799,9 @@ components:
3796
3799
  id: ts_EM122lfJ
3797
3800
  name: Strain
3798
3801
  nullable: true
3802
+ url:
3803
+ description: The path of the web URL, omitting the tenant domain
3804
+ type: string
3799
3805
  webURL:
3800
3806
  example: https://benchling.com/benchling/f/R8KcsjhW-academic-registry/bfi-xCUXNVyG-sbn000/edit
3801
3807
  readOnly: true
@@ -4435,6 +4441,11 @@ components:
4435
4441
  $ref: '#/components/schemas/UserSummary'
4436
4442
  customFields:
4437
4443
  $ref: '#/components/schemas/CustomFields'
4444
+ dnaAlignmentIds:
4445
+ description: API IDs of Nucleotide Alignments involving the RNA sequence
4446
+ items:
4447
+ type: string
4448
+ type: array
4438
4449
  entityRegistryId:
4439
4450
  nullable: true
4440
4451
  type: string
@@ -4483,6 +4494,9 @@ components:
4483
4494
  items:
4484
4495
  $ref: '#/components/schemas/Translation'
4485
4496
  type: array
4497
+ url:
4498
+ description: The path of the web URL, omitting the tenant domain
4499
+ type: string
4486
4500
  webURL:
4487
4501
  readOnly: true
4488
4502
  type: string
@@ -40,6 +40,7 @@ class AaSequence:
40
40
  _registration_origin: Union[Unset, None, RegistrationOrigin] = UNSET
41
41
  _registry_id: Union[Unset, None, str] = UNSET
42
42
  _schema: Union[Unset, None, SchemaSummary] = UNSET
43
+ _url: Union[Unset, str] = UNSET
43
44
  _web_url: Union[Unset, str] = UNSET
44
45
  additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
45
46
 
@@ -64,6 +65,7 @@ class AaSequence:
64
65
  fields.append("registration_origin={}".format(repr(self._registration_origin)))
65
66
  fields.append("registry_id={}".format(repr(self._registry_id)))
66
67
  fields.append("schema={}".format(repr(self._schema)))
68
+ fields.append("url={}".format(repr(self._url)))
67
69
  fields.append("web_url={}".format(repr(self._web_url)))
68
70
  fields.append("additional_properties={}".format(repr(self.additional_properties)))
69
71
  return "AaSequence({})".format(", ".join(fields))
@@ -129,6 +131,7 @@ class AaSequence:
129
131
  if not isinstance(self._schema, Unset):
130
132
  schema = self._schema.to_dict() if self._schema else None
131
133
 
134
+ url = self._url
132
135
  web_url = self._web_url
133
136
 
134
137
  field_dict: Dict[str, Any] = {}
@@ -172,6 +175,8 @@ class AaSequence:
172
175
  field_dict["registryId"] = registry_id
173
176
  if schema is not UNSET:
174
177
  field_dict["schema"] = schema
178
+ if url is not UNSET:
179
+ field_dict["url"] = url
175
180
  if web_url is not UNSET:
176
181
  field_dict["webURL"] = web_url
177
182
 
@@ -441,6 +446,17 @@ class AaSequence:
441
446
  raise
442
447
  schema = cast(Union[Unset, None, SchemaSummary], UNSET)
443
448
 
449
+ def get_url() -> Union[Unset, str]:
450
+ url = d.pop("url")
451
+ return url
452
+
453
+ try:
454
+ url = get_url()
455
+ except KeyError:
456
+ if strict:
457
+ raise
458
+ url = cast(Union[Unset, str], UNSET)
459
+
444
460
  def get_web_url() -> Union[Unset, str]:
445
461
  web_url = d.pop("webURL")
446
462
  return web_url
@@ -472,6 +488,7 @@ class AaSequence:
472
488
  registration_origin=registration_origin,
473
489
  registry_id=registry_id,
474
490
  schema=schema,
491
+ url=url,
475
492
  web_url=web_url,
476
493
  )
477
494
 
@@ -775,6 +792,21 @@ class AaSequence:
775
792
  def schema(self) -> None:
776
793
  self._schema = UNSET
777
794
 
795
+ @property
796
+ def url(self) -> str:
797
+ """ The path of the web URL, omitting the tenant domain """
798
+ if isinstance(self._url, Unset):
799
+ raise NotPresentError(self, "url")
800
+ return self._url
801
+
802
+ @url.setter
803
+ def url(self, value: str) -> None:
804
+ self._url = value
805
+
806
+ @url.deleter
807
+ def url(self) -> None:
808
+ self._url = UNSET
809
+
778
810
  @property
779
811
  def web_url(self) -> str:
780
812
  """ URL of the protein. """