benchling-api-client 2.0.415__py3-none-any.whl → 2.0.417__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/aa_sequence.py +1 -1
- benchling_api_client/models/aa_sequence_with_entity_type.py +1 -1
- benchling_api_client/models/container_content.py +183 -26
- benchling_api_client/models/entity.py +19 -7
- benchling_api_client/models/entity_or_inaccessible_resource.py +19 -7
- benchling_api_client/models/molecule_with_entity_type.py +787 -0
- benchling_api_client/models/molecule_with_entity_type_entity_type.py +22 -0
- benchling_api_client/models/registered_entities_list.py +89 -32
- benchling_api_client/models/request_response_samples_item_entity.py +216 -74
- benchling_api_client/models/rna_sequence_with_entity_type.py +1151 -0
- benchling_api_client/models/rna_sequence_with_entity_type_entity_type.py +22 -0
- benchling_api_client/v2/alpha/openapi.yaml +2 -2
- benchling_api_client/v2/beta/models/aa_sequence.py +1 -1
- benchling_api_client/v2/beta/models/aa_sequence_with_entity_type.py +865 -0
- benchling_api_client/v2/beta/models/aa_sequence_with_entity_type_entity_type.py +22 -0
- benchling_api_client/v2/beta/models/container_content.py +183 -26
- benchling_api_client/v2/beta/models/custom_entity_creator.py +2 -100
- benchling_api_client/v2/beta/models/custom_entity_with_entity_type.py +747 -0
- benchling_api_client/v2/beta/models/custom_entity_with_entity_type_entity_type.py +22 -0
- benchling_api_client/v2/beta/models/dna_oligo_with_entity_type.py +972 -0
- benchling_api_client/v2/beta/models/dna_oligo_with_entity_type_entity_type.py +22 -0
- benchling_api_client/v2/beta/models/dna_sequence_with_entity_type.py +1102 -0
- benchling_api_client/v2/beta/models/dna_sequence_with_entity_type_entity_type.py +22 -0
- benchling_api_client/v2/beta/models/entity.py +19 -7
- benchling_api_client/v2/beta/models/entity_or_inaccessible_resource.py +19 -7
- benchling_api_client/v2/beta/models/mixture_creator.py +2 -100
- benchling_api_client/v2/beta/models/mixture_with_entity_type.py +867 -0
- benchling_api_client/v2/beta/models/mixture_with_entity_type_entity_type.py +22 -0
- benchling_api_client/v2/beta/models/molecule_with_entity_type.py +787 -0
- benchling_api_client/v2/beta/models/molecule_with_entity_type_entity_type.py +22 -0
- benchling_api_client/v2/beta/models/rna_oligo_with_entity_type.py +972 -0
- benchling_api_client/v2/beta/models/rna_oligo_with_entity_type_entity_type.py +22 -0
- benchling_api_client/v2/beta/models/rna_sequence.py +1109 -0
- benchling_api_client/v2/beta/models/rna_sequence_part.py +183 -0
- benchling_api_client/v2/beta/models/rna_sequence_with_entity_type.py +1151 -0
- benchling_api_client/v2/beta/models/rna_sequence_with_entity_type_entity_type.py +22 -0
- benchling_api_client/v2/beta/openapi.yaml +219 -9
- benchling_api_client/v2/stable/models/aa_sequence.py +1 -1
- benchling_api_client/v2/stable/models/aa_sequence_with_entity_type.py +1 -1
- benchling_api_client/v2/stable/models/container_content.py +183 -26
- benchling_api_client/v2/stable/models/entity.py +19 -7
- benchling_api_client/v2/stable/models/entity_or_inaccessible_resource.py +19 -7
- benchling_api_client/v2/stable/models/molecule_with_entity_type.py +787 -0
- benchling_api_client/v2/stable/models/molecule_with_entity_type_entity_type.py +22 -0
- benchling_api_client/v2/stable/models/registered_entities_list.py +89 -32
- benchling_api_client/v2/stable/models/request_response_samples_item_entity.py +216 -74
- benchling_api_client/v2/stable/models/rna_sequence_with_entity_type.py +1151 -0
- benchling_api_client/v2/stable/models/rna_sequence_with_entity_type_entity_type.py +22 -0
- benchling_api_client/v2/stable/openapi.yaml +43 -25
- {benchling_api_client-2.0.415.dist-info → benchling_api_client-2.0.417.dist-info}/METADATA +1 -1
- {benchling_api_client-2.0.415.dist-info → benchling_api_client-2.0.417.dist-info}/RECORD +53 -27
- {benchling_api_client-2.0.415.dist-info → benchling_api_client-2.0.417.dist-info}/LICENSE +0 -0
- {benchling_api_client-2.0.415.dist-info → benchling_api_client-2.0.417.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,787 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
from typing import Any, cast, Dict, List, Optional, Type, TypeVar, Union
|
|
3
|
+
|
|
4
|
+
import attr
|
|
5
|
+
from dateutil.parser import isoparse
|
|
6
|
+
|
|
7
|
+
from ..extensions import NotPresentError
|
|
8
|
+
from ..models.archive_record import ArchiveRecord
|
|
9
|
+
from ..models.custom_fields import CustomFields
|
|
10
|
+
from ..models.fields import Fields
|
|
11
|
+
from ..models.molecule_with_entity_type_entity_type import MoleculeWithEntityTypeEntityType
|
|
12
|
+
from ..models.registration_origin import RegistrationOrigin
|
|
13
|
+
from ..models.schema_summary import SchemaSummary
|
|
14
|
+
from ..models.user_summary import UserSummary
|
|
15
|
+
from ..types import UNSET, Unset
|
|
16
|
+
|
|
17
|
+
T = TypeVar("T", bound="MoleculeWithEntityType")
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@attr.s(auto_attribs=True, repr=False)
|
|
21
|
+
class MoleculeWithEntityType:
|
|
22
|
+
""" """
|
|
23
|
+
|
|
24
|
+
_entity_type: Union[Unset, MoleculeWithEntityTypeEntityType] = UNSET
|
|
25
|
+
_aliases: Union[Unset, List[str]] = UNSET
|
|
26
|
+
_api_url: Union[Unset, str] = UNSET
|
|
27
|
+
_archive_record: Union[Unset, None, ArchiveRecord] = UNSET
|
|
28
|
+
_authors: Union[Unset, List[UserSummary]] = UNSET
|
|
29
|
+
_canonicalized_smiles: Union[Unset, str] = UNSET
|
|
30
|
+
_created_at: Union[Unset, datetime.datetime] = UNSET
|
|
31
|
+
_creator: Union[Unset, UserSummary] = UNSET
|
|
32
|
+
_custom_fields: Union[Unset, CustomFields] = UNSET
|
|
33
|
+
_entity_registry_id: Union[Unset, None, str] = UNSET
|
|
34
|
+
_fields: Union[Unset, Fields] = UNSET
|
|
35
|
+
_folder_id: Union[Unset, None, str] = UNSET
|
|
36
|
+
_id: Union[Unset, str] = UNSET
|
|
37
|
+
_modified_at: Union[Unset, datetime.datetime] = UNSET
|
|
38
|
+
_name: Union[Unset, str] = UNSET
|
|
39
|
+
_original_smiles: Union[Unset, None, str] = UNSET
|
|
40
|
+
_registration_origin: Union[Unset, None, RegistrationOrigin] = UNSET
|
|
41
|
+
_registry_id: Union[Unset, None, str] = UNSET
|
|
42
|
+
_schema: Union[Unset, None, SchemaSummary] = UNSET
|
|
43
|
+
_web_url: Union[Unset, str] = UNSET
|
|
44
|
+
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
|
|
45
|
+
|
|
46
|
+
def __repr__(self):
|
|
47
|
+
fields = []
|
|
48
|
+
fields.append("entity_type={}".format(repr(self._entity_type)))
|
|
49
|
+
fields.append("aliases={}".format(repr(self._aliases)))
|
|
50
|
+
fields.append("api_url={}".format(repr(self._api_url)))
|
|
51
|
+
fields.append("archive_record={}".format(repr(self._archive_record)))
|
|
52
|
+
fields.append("authors={}".format(repr(self._authors)))
|
|
53
|
+
fields.append("canonicalized_smiles={}".format(repr(self._canonicalized_smiles)))
|
|
54
|
+
fields.append("created_at={}".format(repr(self._created_at)))
|
|
55
|
+
fields.append("creator={}".format(repr(self._creator)))
|
|
56
|
+
fields.append("custom_fields={}".format(repr(self._custom_fields)))
|
|
57
|
+
fields.append("entity_registry_id={}".format(repr(self._entity_registry_id)))
|
|
58
|
+
fields.append("fields={}".format(repr(self._fields)))
|
|
59
|
+
fields.append("folder_id={}".format(repr(self._folder_id)))
|
|
60
|
+
fields.append("id={}".format(repr(self._id)))
|
|
61
|
+
fields.append("modified_at={}".format(repr(self._modified_at)))
|
|
62
|
+
fields.append("name={}".format(repr(self._name)))
|
|
63
|
+
fields.append("original_smiles={}".format(repr(self._original_smiles)))
|
|
64
|
+
fields.append("registration_origin={}".format(repr(self._registration_origin)))
|
|
65
|
+
fields.append("registry_id={}".format(repr(self._registry_id)))
|
|
66
|
+
fields.append("schema={}".format(repr(self._schema)))
|
|
67
|
+
fields.append("web_url={}".format(repr(self._web_url)))
|
|
68
|
+
fields.append("additional_properties={}".format(repr(self.additional_properties)))
|
|
69
|
+
return "MoleculeWithEntityType({})".format(", ".join(fields))
|
|
70
|
+
|
|
71
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
72
|
+
entity_type: Union[Unset, int] = UNSET
|
|
73
|
+
if not isinstance(self._entity_type, Unset):
|
|
74
|
+
entity_type = self._entity_type.value
|
|
75
|
+
|
|
76
|
+
aliases: Union[Unset, List[Any]] = UNSET
|
|
77
|
+
if not isinstance(self._aliases, Unset):
|
|
78
|
+
aliases = self._aliases
|
|
79
|
+
|
|
80
|
+
api_url = self._api_url
|
|
81
|
+
archive_record: Union[Unset, None, Dict[str, Any]] = UNSET
|
|
82
|
+
if not isinstance(self._archive_record, Unset):
|
|
83
|
+
archive_record = self._archive_record.to_dict() if self._archive_record else None
|
|
84
|
+
|
|
85
|
+
authors: Union[Unset, List[Any]] = UNSET
|
|
86
|
+
if not isinstance(self._authors, Unset):
|
|
87
|
+
authors = []
|
|
88
|
+
for authors_item_data in self._authors:
|
|
89
|
+
authors_item = authors_item_data.to_dict()
|
|
90
|
+
|
|
91
|
+
authors.append(authors_item)
|
|
92
|
+
|
|
93
|
+
canonicalized_smiles = self._canonicalized_smiles
|
|
94
|
+
created_at: Union[Unset, str] = UNSET
|
|
95
|
+
if not isinstance(self._created_at, Unset):
|
|
96
|
+
created_at = self._created_at.isoformat()
|
|
97
|
+
|
|
98
|
+
creator: Union[Unset, Dict[str, Any]] = UNSET
|
|
99
|
+
if not isinstance(self._creator, Unset):
|
|
100
|
+
creator = self._creator.to_dict()
|
|
101
|
+
|
|
102
|
+
custom_fields: Union[Unset, Dict[str, Any]] = UNSET
|
|
103
|
+
if not isinstance(self._custom_fields, Unset):
|
|
104
|
+
custom_fields = self._custom_fields.to_dict()
|
|
105
|
+
|
|
106
|
+
entity_registry_id = self._entity_registry_id
|
|
107
|
+
fields: Union[Unset, Dict[str, Any]] = UNSET
|
|
108
|
+
if not isinstance(self._fields, Unset):
|
|
109
|
+
fields = self._fields.to_dict()
|
|
110
|
+
|
|
111
|
+
folder_id = self._folder_id
|
|
112
|
+
id = self._id
|
|
113
|
+
modified_at: Union[Unset, str] = UNSET
|
|
114
|
+
if not isinstance(self._modified_at, Unset):
|
|
115
|
+
modified_at = self._modified_at.isoformat()
|
|
116
|
+
|
|
117
|
+
name = self._name
|
|
118
|
+
original_smiles = self._original_smiles
|
|
119
|
+
registration_origin: Union[Unset, None, Dict[str, Any]] = UNSET
|
|
120
|
+
if not isinstance(self._registration_origin, Unset):
|
|
121
|
+
registration_origin = self._registration_origin.to_dict() if self._registration_origin else None
|
|
122
|
+
|
|
123
|
+
registry_id = self._registry_id
|
|
124
|
+
schema: Union[Unset, None, Dict[str, Any]] = UNSET
|
|
125
|
+
if not isinstance(self._schema, Unset):
|
|
126
|
+
schema = self._schema.to_dict() if self._schema else None
|
|
127
|
+
|
|
128
|
+
web_url = self._web_url
|
|
129
|
+
|
|
130
|
+
field_dict: Dict[str, Any] = {}
|
|
131
|
+
field_dict.update(self.additional_properties)
|
|
132
|
+
# Allow the model to serialize even if it was created outside of the constructor, circumventing validation
|
|
133
|
+
if entity_type is not UNSET:
|
|
134
|
+
field_dict["entityType"] = entity_type
|
|
135
|
+
if aliases is not UNSET:
|
|
136
|
+
field_dict["aliases"] = aliases
|
|
137
|
+
if api_url is not UNSET:
|
|
138
|
+
field_dict["apiURL"] = api_url
|
|
139
|
+
if archive_record is not UNSET:
|
|
140
|
+
field_dict["archiveRecord"] = archive_record
|
|
141
|
+
if authors is not UNSET:
|
|
142
|
+
field_dict["authors"] = authors
|
|
143
|
+
if canonicalized_smiles is not UNSET:
|
|
144
|
+
field_dict["canonicalizedSmiles"] = canonicalized_smiles
|
|
145
|
+
if created_at is not UNSET:
|
|
146
|
+
field_dict["createdAt"] = created_at
|
|
147
|
+
if creator is not UNSET:
|
|
148
|
+
field_dict["creator"] = creator
|
|
149
|
+
if custom_fields is not UNSET:
|
|
150
|
+
field_dict["customFields"] = custom_fields
|
|
151
|
+
if entity_registry_id is not UNSET:
|
|
152
|
+
field_dict["entityRegistryId"] = entity_registry_id
|
|
153
|
+
if fields is not UNSET:
|
|
154
|
+
field_dict["fields"] = fields
|
|
155
|
+
if folder_id is not UNSET:
|
|
156
|
+
field_dict["folderId"] = folder_id
|
|
157
|
+
if id is not UNSET:
|
|
158
|
+
field_dict["id"] = id
|
|
159
|
+
if modified_at is not UNSET:
|
|
160
|
+
field_dict["modifiedAt"] = modified_at
|
|
161
|
+
if name is not UNSET:
|
|
162
|
+
field_dict["name"] = name
|
|
163
|
+
if original_smiles is not UNSET:
|
|
164
|
+
field_dict["originalSmiles"] = original_smiles
|
|
165
|
+
if registration_origin is not UNSET:
|
|
166
|
+
field_dict["registrationOrigin"] = registration_origin
|
|
167
|
+
if registry_id is not UNSET:
|
|
168
|
+
field_dict["registryId"] = registry_id
|
|
169
|
+
if schema is not UNSET:
|
|
170
|
+
field_dict["schema"] = schema
|
|
171
|
+
if web_url is not UNSET:
|
|
172
|
+
field_dict["webURL"] = web_url
|
|
173
|
+
|
|
174
|
+
return field_dict
|
|
175
|
+
|
|
176
|
+
@classmethod
|
|
177
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any], strict: bool = False) -> T:
|
|
178
|
+
d = src_dict.copy()
|
|
179
|
+
|
|
180
|
+
def get_entity_type() -> Union[Unset, MoleculeWithEntityTypeEntityType]:
|
|
181
|
+
entity_type = UNSET
|
|
182
|
+
_entity_type = d.pop("entityType")
|
|
183
|
+
if _entity_type is not None and _entity_type is not UNSET:
|
|
184
|
+
try:
|
|
185
|
+
entity_type = MoleculeWithEntityTypeEntityType(_entity_type)
|
|
186
|
+
except ValueError:
|
|
187
|
+
entity_type = MoleculeWithEntityTypeEntityType.of_unknown(_entity_type)
|
|
188
|
+
|
|
189
|
+
return entity_type
|
|
190
|
+
|
|
191
|
+
try:
|
|
192
|
+
entity_type = get_entity_type()
|
|
193
|
+
except KeyError:
|
|
194
|
+
if strict:
|
|
195
|
+
raise
|
|
196
|
+
entity_type = cast(Union[Unset, MoleculeWithEntityTypeEntityType], UNSET)
|
|
197
|
+
|
|
198
|
+
def get_aliases() -> Union[Unset, List[str]]:
|
|
199
|
+
aliases = cast(List[str], d.pop("aliases"))
|
|
200
|
+
|
|
201
|
+
return aliases
|
|
202
|
+
|
|
203
|
+
try:
|
|
204
|
+
aliases = get_aliases()
|
|
205
|
+
except KeyError:
|
|
206
|
+
if strict:
|
|
207
|
+
raise
|
|
208
|
+
aliases = cast(Union[Unset, List[str]], UNSET)
|
|
209
|
+
|
|
210
|
+
def get_api_url() -> Union[Unset, str]:
|
|
211
|
+
api_url = d.pop("apiURL")
|
|
212
|
+
return api_url
|
|
213
|
+
|
|
214
|
+
try:
|
|
215
|
+
api_url = get_api_url()
|
|
216
|
+
except KeyError:
|
|
217
|
+
if strict:
|
|
218
|
+
raise
|
|
219
|
+
api_url = cast(Union[Unset, str], UNSET)
|
|
220
|
+
|
|
221
|
+
def get_archive_record() -> Union[Unset, None, ArchiveRecord]:
|
|
222
|
+
archive_record = None
|
|
223
|
+
_archive_record = d.pop("archiveRecord")
|
|
224
|
+
|
|
225
|
+
if _archive_record is not None and not isinstance(_archive_record, Unset):
|
|
226
|
+
archive_record = ArchiveRecord.from_dict(_archive_record)
|
|
227
|
+
|
|
228
|
+
return archive_record
|
|
229
|
+
|
|
230
|
+
try:
|
|
231
|
+
archive_record = get_archive_record()
|
|
232
|
+
except KeyError:
|
|
233
|
+
if strict:
|
|
234
|
+
raise
|
|
235
|
+
archive_record = cast(Union[Unset, None, ArchiveRecord], UNSET)
|
|
236
|
+
|
|
237
|
+
def get_authors() -> Union[Unset, List[UserSummary]]:
|
|
238
|
+
authors = []
|
|
239
|
+
_authors = d.pop("authors")
|
|
240
|
+
for authors_item_data in _authors or []:
|
|
241
|
+
authors_item = UserSummary.from_dict(authors_item_data, strict=False)
|
|
242
|
+
|
|
243
|
+
authors.append(authors_item)
|
|
244
|
+
|
|
245
|
+
return authors
|
|
246
|
+
|
|
247
|
+
try:
|
|
248
|
+
authors = get_authors()
|
|
249
|
+
except KeyError:
|
|
250
|
+
if strict:
|
|
251
|
+
raise
|
|
252
|
+
authors = cast(Union[Unset, List[UserSummary]], UNSET)
|
|
253
|
+
|
|
254
|
+
def get_canonicalized_smiles() -> Union[Unset, str]:
|
|
255
|
+
canonicalized_smiles = d.pop("canonicalizedSmiles")
|
|
256
|
+
return canonicalized_smiles
|
|
257
|
+
|
|
258
|
+
try:
|
|
259
|
+
canonicalized_smiles = get_canonicalized_smiles()
|
|
260
|
+
except KeyError:
|
|
261
|
+
if strict:
|
|
262
|
+
raise
|
|
263
|
+
canonicalized_smiles = cast(Union[Unset, str], UNSET)
|
|
264
|
+
|
|
265
|
+
def get_created_at() -> Union[Unset, datetime.datetime]:
|
|
266
|
+
created_at: Union[Unset, datetime.datetime] = UNSET
|
|
267
|
+
_created_at = d.pop("createdAt")
|
|
268
|
+
if _created_at is not None and not isinstance(_created_at, Unset):
|
|
269
|
+
created_at = isoparse(cast(str, _created_at))
|
|
270
|
+
|
|
271
|
+
return created_at
|
|
272
|
+
|
|
273
|
+
try:
|
|
274
|
+
created_at = get_created_at()
|
|
275
|
+
except KeyError:
|
|
276
|
+
if strict:
|
|
277
|
+
raise
|
|
278
|
+
created_at = cast(Union[Unset, datetime.datetime], UNSET)
|
|
279
|
+
|
|
280
|
+
def get_creator() -> Union[Unset, UserSummary]:
|
|
281
|
+
creator: Union[Unset, Union[Unset, UserSummary]] = UNSET
|
|
282
|
+
_creator = d.pop("creator")
|
|
283
|
+
|
|
284
|
+
if not isinstance(_creator, Unset):
|
|
285
|
+
creator = UserSummary.from_dict(_creator)
|
|
286
|
+
|
|
287
|
+
return creator
|
|
288
|
+
|
|
289
|
+
try:
|
|
290
|
+
creator = get_creator()
|
|
291
|
+
except KeyError:
|
|
292
|
+
if strict:
|
|
293
|
+
raise
|
|
294
|
+
creator = cast(Union[Unset, UserSummary], UNSET)
|
|
295
|
+
|
|
296
|
+
def get_custom_fields() -> Union[Unset, CustomFields]:
|
|
297
|
+
custom_fields: Union[Unset, Union[Unset, CustomFields]] = UNSET
|
|
298
|
+
_custom_fields = d.pop("customFields")
|
|
299
|
+
|
|
300
|
+
if not isinstance(_custom_fields, Unset):
|
|
301
|
+
custom_fields = CustomFields.from_dict(_custom_fields)
|
|
302
|
+
|
|
303
|
+
return custom_fields
|
|
304
|
+
|
|
305
|
+
try:
|
|
306
|
+
custom_fields = get_custom_fields()
|
|
307
|
+
except KeyError:
|
|
308
|
+
if strict:
|
|
309
|
+
raise
|
|
310
|
+
custom_fields = cast(Union[Unset, CustomFields], UNSET)
|
|
311
|
+
|
|
312
|
+
def get_entity_registry_id() -> Union[Unset, None, str]:
|
|
313
|
+
entity_registry_id = d.pop("entityRegistryId")
|
|
314
|
+
return entity_registry_id
|
|
315
|
+
|
|
316
|
+
try:
|
|
317
|
+
entity_registry_id = get_entity_registry_id()
|
|
318
|
+
except KeyError:
|
|
319
|
+
if strict:
|
|
320
|
+
raise
|
|
321
|
+
entity_registry_id = cast(Union[Unset, None, str], UNSET)
|
|
322
|
+
|
|
323
|
+
def get_fields() -> Union[Unset, Fields]:
|
|
324
|
+
fields: Union[Unset, Union[Unset, Fields]] = UNSET
|
|
325
|
+
_fields = d.pop("fields")
|
|
326
|
+
|
|
327
|
+
if not isinstance(_fields, Unset):
|
|
328
|
+
fields = Fields.from_dict(_fields)
|
|
329
|
+
|
|
330
|
+
return fields
|
|
331
|
+
|
|
332
|
+
try:
|
|
333
|
+
fields = get_fields()
|
|
334
|
+
except KeyError:
|
|
335
|
+
if strict:
|
|
336
|
+
raise
|
|
337
|
+
fields = cast(Union[Unset, Fields], UNSET)
|
|
338
|
+
|
|
339
|
+
def get_folder_id() -> Union[Unset, None, str]:
|
|
340
|
+
folder_id = d.pop("folderId")
|
|
341
|
+
return folder_id
|
|
342
|
+
|
|
343
|
+
try:
|
|
344
|
+
folder_id = get_folder_id()
|
|
345
|
+
except KeyError:
|
|
346
|
+
if strict:
|
|
347
|
+
raise
|
|
348
|
+
folder_id = cast(Union[Unset, None, str], UNSET)
|
|
349
|
+
|
|
350
|
+
def get_id() -> Union[Unset, str]:
|
|
351
|
+
id = d.pop("id")
|
|
352
|
+
return id
|
|
353
|
+
|
|
354
|
+
try:
|
|
355
|
+
id = get_id()
|
|
356
|
+
except KeyError:
|
|
357
|
+
if strict:
|
|
358
|
+
raise
|
|
359
|
+
id = cast(Union[Unset, str], UNSET)
|
|
360
|
+
|
|
361
|
+
def get_modified_at() -> Union[Unset, datetime.datetime]:
|
|
362
|
+
modified_at: Union[Unset, datetime.datetime] = UNSET
|
|
363
|
+
_modified_at = d.pop("modifiedAt")
|
|
364
|
+
if _modified_at is not None and not isinstance(_modified_at, Unset):
|
|
365
|
+
modified_at = isoparse(cast(str, _modified_at))
|
|
366
|
+
|
|
367
|
+
return modified_at
|
|
368
|
+
|
|
369
|
+
try:
|
|
370
|
+
modified_at = get_modified_at()
|
|
371
|
+
except KeyError:
|
|
372
|
+
if strict:
|
|
373
|
+
raise
|
|
374
|
+
modified_at = cast(Union[Unset, datetime.datetime], UNSET)
|
|
375
|
+
|
|
376
|
+
def get_name() -> Union[Unset, str]:
|
|
377
|
+
name = d.pop("name")
|
|
378
|
+
return name
|
|
379
|
+
|
|
380
|
+
try:
|
|
381
|
+
name = get_name()
|
|
382
|
+
except KeyError:
|
|
383
|
+
if strict:
|
|
384
|
+
raise
|
|
385
|
+
name = cast(Union[Unset, str], UNSET)
|
|
386
|
+
|
|
387
|
+
def get_original_smiles() -> Union[Unset, None, str]:
|
|
388
|
+
original_smiles = d.pop("originalSmiles")
|
|
389
|
+
return original_smiles
|
|
390
|
+
|
|
391
|
+
try:
|
|
392
|
+
original_smiles = get_original_smiles()
|
|
393
|
+
except KeyError:
|
|
394
|
+
if strict:
|
|
395
|
+
raise
|
|
396
|
+
original_smiles = cast(Union[Unset, None, str], UNSET)
|
|
397
|
+
|
|
398
|
+
def get_registration_origin() -> Union[Unset, None, RegistrationOrigin]:
|
|
399
|
+
registration_origin = None
|
|
400
|
+
_registration_origin = d.pop("registrationOrigin")
|
|
401
|
+
|
|
402
|
+
if _registration_origin is not None and not isinstance(_registration_origin, Unset):
|
|
403
|
+
registration_origin = RegistrationOrigin.from_dict(_registration_origin)
|
|
404
|
+
|
|
405
|
+
return registration_origin
|
|
406
|
+
|
|
407
|
+
try:
|
|
408
|
+
registration_origin = get_registration_origin()
|
|
409
|
+
except KeyError:
|
|
410
|
+
if strict:
|
|
411
|
+
raise
|
|
412
|
+
registration_origin = cast(Union[Unset, None, RegistrationOrigin], UNSET)
|
|
413
|
+
|
|
414
|
+
def get_registry_id() -> Union[Unset, None, str]:
|
|
415
|
+
registry_id = d.pop("registryId")
|
|
416
|
+
return registry_id
|
|
417
|
+
|
|
418
|
+
try:
|
|
419
|
+
registry_id = get_registry_id()
|
|
420
|
+
except KeyError:
|
|
421
|
+
if strict:
|
|
422
|
+
raise
|
|
423
|
+
registry_id = cast(Union[Unset, None, str], UNSET)
|
|
424
|
+
|
|
425
|
+
def get_schema() -> Union[Unset, None, SchemaSummary]:
|
|
426
|
+
schema = None
|
|
427
|
+
_schema = d.pop("schema")
|
|
428
|
+
|
|
429
|
+
if _schema is not None and not isinstance(_schema, Unset):
|
|
430
|
+
schema = SchemaSummary.from_dict(_schema)
|
|
431
|
+
|
|
432
|
+
return schema
|
|
433
|
+
|
|
434
|
+
try:
|
|
435
|
+
schema = get_schema()
|
|
436
|
+
except KeyError:
|
|
437
|
+
if strict:
|
|
438
|
+
raise
|
|
439
|
+
schema = cast(Union[Unset, None, SchemaSummary], UNSET)
|
|
440
|
+
|
|
441
|
+
def get_web_url() -> Union[Unset, str]:
|
|
442
|
+
web_url = d.pop("webURL")
|
|
443
|
+
return web_url
|
|
444
|
+
|
|
445
|
+
try:
|
|
446
|
+
web_url = get_web_url()
|
|
447
|
+
except KeyError:
|
|
448
|
+
if strict:
|
|
449
|
+
raise
|
|
450
|
+
web_url = cast(Union[Unset, str], UNSET)
|
|
451
|
+
|
|
452
|
+
molecule_with_entity_type = cls(
|
|
453
|
+
entity_type=entity_type,
|
|
454
|
+
aliases=aliases,
|
|
455
|
+
api_url=api_url,
|
|
456
|
+
archive_record=archive_record,
|
|
457
|
+
authors=authors,
|
|
458
|
+
canonicalized_smiles=canonicalized_smiles,
|
|
459
|
+
created_at=created_at,
|
|
460
|
+
creator=creator,
|
|
461
|
+
custom_fields=custom_fields,
|
|
462
|
+
entity_registry_id=entity_registry_id,
|
|
463
|
+
fields=fields,
|
|
464
|
+
folder_id=folder_id,
|
|
465
|
+
id=id,
|
|
466
|
+
modified_at=modified_at,
|
|
467
|
+
name=name,
|
|
468
|
+
original_smiles=original_smiles,
|
|
469
|
+
registration_origin=registration_origin,
|
|
470
|
+
registry_id=registry_id,
|
|
471
|
+
schema=schema,
|
|
472
|
+
web_url=web_url,
|
|
473
|
+
)
|
|
474
|
+
|
|
475
|
+
molecule_with_entity_type.additional_properties = d
|
|
476
|
+
return molecule_with_entity_type
|
|
477
|
+
|
|
478
|
+
@property
|
|
479
|
+
def additional_keys(self) -> List[str]:
|
|
480
|
+
return list(self.additional_properties.keys())
|
|
481
|
+
|
|
482
|
+
def __getitem__(self, key: str) -> Any:
|
|
483
|
+
return self.additional_properties[key]
|
|
484
|
+
|
|
485
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
486
|
+
self.additional_properties[key] = value
|
|
487
|
+
|
|
488
|
+
def __delitem__(self, key: str) -> None:
|
|
489
|
+
del self.additional_properties[key]
|
|
490
|
+
|
|
491
|
+
def __contains__(self, key: str) -> bool:
|
|
492
|
+
return key in self.additional_properties
|
|
493
|
+
|
|
494
|
+
def get(self, key, default=None) -> Optional[Any]:
|
|
495
|
+
return self.additional_properties.get(key, default)
|
|
496
|
+
|
|
497
|
+
@property
|
|
498
|
+
def entity_type(self) -> MoleculeWithEntityTypeEntityType:
|
|
499
|
+
if isinstance(self._entity_type, Unset):
|
|
500
|
+
raise NotPresentError(self, "entity_type")
|
|
501
|
+
return self._entity_type
|
|
502
|
+
|
|
503
|
+
@entity_type.setter
|
|
504
|
+
def entity_type(self, value: MoleculeWithEntityTypeEntityType) -> None:
|
|
505
|
+
self._entity_type = value
|
|
506
|
+
|
|
507
|
+
@entity_type.deleter
|
|
508
|
+
def entity_type(self) -> None:
|
|
509
|
+
self._entity_type = UNSET
|
|
510
|
+
|
|
511
|
+
@property
|
|
512
|
+
def aliases(self) -> List[str]:
|
|
513
|
+
""" Array of aliases. """
|
|
514
|
+
if isinstance(self._aliases, Unset):
|
|
515
|
+
raise NotPresentError(self, "aliases")
|
|
516
|
+
return self._aliases
|
|
517
|
+
|
|
518
|
+
@aliases.setter
|
|
519
|
+
def aliases(self, value: List[str]) -> None:
|
|
520
|
+
self._aliases = value
|
|
521
|
+
|
|
522
|
+
@aliases.deleter
|
|
523
|
+
def aliases(self) -> None:
|
|
524
|
+
self._aliases = UNSET
|
|
525
|
+
|
|
526
|
+
@property
|
|
527
|
+
def api_url(self) -> str:
|
|
528
|
+
""" The canonical url of the Molecule in the API. """
|
|
529
|
+
if isinstance(self._api_url, Unset):
|
|
530
|
+
raise NotPresentError(self, "api_url")
|
|
531
|
+
return self._api_url
|
|
532
|
+
|
|
533
|
+
@api_url.setter
|
|
534
|
+
def api_url(self, value: str) -> None:
|
|
535
|
+
self._api_url = value
|
|
536
|
+
|
|
537
|
+
@api_url.deleter
|
|
538
|
+
def api_url(self) -> None:
|
|
539
|
+
self._api_url = UNSET
|
|
540
|
+
|
|
541
|
+
@property
|
|
542
|
+
def archive_record(self) -> Optional[ArchiveRecord]:
|
|
543
|
+
if isinstance(self._archive_record, Unset):
|
|
544
|
+
raise NotPresentError(self, "archive_record")
|
|
545
|
+
return self._archive_record
|
|
546
|
+
|
|
547
|
+
@archive_record.setter
|
|
548
|
+
def archive_record(self, value: Optional[ArchiveRecord]) -> None:
|
|
549
|
+
self._archive_record = value
|
|
550
|
+
|
|
551
|
+
@archive_record.deleter
|
|
552
|
+
def archive_record(self) -> None:
|
|
553
|
+
self._archive_record = UNSET
|
|
554
|
+
|
|
555
|
+
@property
|
|
556
|
+
def authors(self) -> List[UserSummary]:
|
|
557
|
+
if isinstance(self._authors, Unset):
|
|
558
|
+
raise NotPresentError(self, "authors")
|
|
559
|
+
return self._authors
|
|
560
|
+
|
|
561
|
+
@authors.setter
|
|
562
|
+
def authors(self, value: List[UserSummary]) -> None:
|
|
563
|
+
self._authors = value
|
|
564
|
+
|
|
565
|
+
@authors.deleter
|
|
566
|
+
def authors(self) -> None:
|
|
567
|
+
self._authors = UNSET
|
|
568
|
+
|
|
569
|
+
@property
|
|
570
|
+
def canonicalized_smiles(self) -> str:
|
|
571
|
+
""" The canonicalized chemical structure in SMILES format. """
|
|
572
|
+
if isinstance(self._canonicalized_smiles, Unset):
|
|
573
|
+
raise NotPresentError(self, "canonicalized_smiles")
|
|
574
|
+
return self._canonicalized_smiles
|
|
575
|
+
|
|
576
|
+
@canonicalized_smiles.setter
|
|
577
|
+
def canonicalized_smiles(self, value: str) -> None:
|
|
578
|
+
self._canonicalized_smiles = value
|
|
579
|
+
|
|
580
|
+
@canonicalized_smiles.deleter
|
|
581
|
+
def canonicalized_smiles(self) -> None:
|
|
582
|
+
self._canonicalized_smiles = UNSET
|
|
583
|
+
|
|
584
|
+
@property
|
|
585
|
+
def created_at(self) -> datetime.datetime:
|
|
586
|
+
""" DateTime the Molecule was created. """
|
|
587
|
+
if isinstance(self._created_at, Unset):
|
|
588
|
+
raise NotPresentError(self, "created_at")
|
|
589
|
+
return self._created_at
|
|
590
|
+
|
|
591
|
+
@created_at.setter
|
|
592
|
+
def created_at(self, value: datetime.datetime) -> None:
|
|
593
|
+
self._created_at = value
|
|
594
|
+
|
|
595
|
+
@created_at.deleter
|
|
596
|
+
def created_at(self) -> None:
|
|
597
|
+
self._created_at = UNSET
|
|
598
|
+
|
|
599
|
+
@property
|
|
600
|
+
def creator(self) -> UserSummary:
|
|
601
|
+
if isinstance(self._creator, Unset):
|
|
602
|
+
raise NotPresentError(self, "creator")
|
|
603
|
+
return self._creator
|
|
604
|
+
|
|
605
|
+
@creator.setter
|
|
606
|
+
def creator(self, value: UserSummary) -> None:
|
|
607
|
+
self._creator = value
|
|
608
|
+
|
|
609
|
+
@creator.deleter
|
|
610
|
+
def creator(self) -> None:
|
|
611
|
+
self._creator = UNSET
|
|
612
|
+
|
|
613
|
+
@property
|
|
614
|
+
def custom_fields(self) -> CustomFields:
|
|
615
|
+
if isinstance(self._custom_fields, Unset):
|
|
616
|
+
raise NotPresentError(self, "custom_fields")
|
|
617
|
+
return self._custom_fields
|
|
618
|
+
|
|
619
|
+
@custom_fields.setter
|
|
620
|
+
def custom_fields(self, value: CustomFields) -> None:
|
|
621
|
+
self._custom_fields = value
|
|
622
|
+
|
|
623
|
+
@custom_fields.deleter
|
|
624
|
+
def custom_fields(self) -> None:
|
|
625
|
+
self._custom_fields = UNSET
|
|
626
|
+
|
|
627
|
+
@property
|
|
628
|
+
def entity_registry_id(self) -> Optional[str]:
|
|
629
|
+
""" Registry ID of the Molecule if registered. """
|
|
630
|
+
if isinstance(self._entity_registry_id, Unset):
|
|
631
|
+
raise NotPresentError(self, "entity_registry_id")
|
|
632
|
+
return self._entity_registry_id
|
|
633
|
+
|
|
634
|
+
@entity_registry_id.setter
|
|
635
|
+
def entity_registry_id(self, value: Optional[str]) -> None:
|
|
636
|
+
self._entity_registry_id = value
|
|
637
|
+
|
|
638
|
+
@entity_registry_id.deleter
|
|
639
|
+
def entity_registry_id(self) -> None:
|
|
640
|
+
self._entity_registry_id = UNSET
|
|
641
|
+
|
|
642
|
+
@property
|
|
643
|
+
def fields(self) -> Fields:
|
|
644
|
+
if isinstance(self._fields, Unset):
|
|
645
|
+
raise NotPresentError(self, "fields")
|
|
646
|
+
return self._fields
|
|
647
|
+
|
|
648
|
+
@fields.setter
|
|
649
|
+
def fields(self, value: Fields) -> None:
|
|
650
|
+
self._fields = value
|
|
651
|
+
|
|
652
|
+
@fields.deleter
|
|
653
|
+
def fields(self) -> None:
|
|
654
|
+
self._fields = UNSET
|
|
655
|
+
|
|
656
|
+
@property
|
|
657
|
+
def folder_id(self) -> Optional[str]:
|
|
658
|
+
""" ID of the folder that contains the Molecule. """
|
|
659
|
+
if isinstance(self._folder_id, Unset):
|
|
660
|
+
raise NotPresentError(self, "folder_id")
|
|
661
|
+
return self._folder_id
|
|
662
|
+
|
|
663
|
+
@folder_id.setter
|
|
664
|
+
def folder_id(self, value: Optional[str]) -> None:
|
|
665
|
+
self._folder_id = value
|
|
666
|
+
|
|
667
|
+
@folder_id.deleter
|
|
668
|
+
def folder_id(self) -> None:
|
|
669
|
+
self._folder_id = UNSET
|
|
670
|
+
|
|
671
|
+
@property
|
|
672
|
+
def id(self) -> str:
|
|
673
|
+
""" ID of the Molecule. """
|
|
674
|
+
if isinstance(self._id, Unset):
|
|
675
|
+
raise NotPresentError(self, "id")
|
|
676
|
+
return self._id
|
|
677
|
+
|
|
678
|
+
@id.setter
|
|
679
|
+
def id(self, value: str) -> None:
|
|
680
|
+
self._id = value
|
|
681
|
+
|
|
682
|
+
@id.deleter
|
|
683
|
+
def id(self) -> None:
|
|
684
|
+
self._id = UNSET
|
|
685
|
+
|
|
686
|
+
@property
|
|
687
|
+
def modified_at(self) -> datetime.datetime:
|
|
688
|
+
""" DateTime the Molecule was last modified. """
|
|
689
|
+
if isinstance(self._modified_at, Unset):
|
|
690
|
+
raise NotPresentError(self, "modified_at")
|
|
691
|
+
return self._modified_at
|
|
692
|
+
|
|
693
|
+
@modified_at.setter
|
|
694
|
+
def modified_at(self, value: datetime.datetime) -> None:
|
|
695
|
+
self._modified_at = value
|
|
696
|
+
|
|
697
|
+
@modified_at.deleter
|
|
698
|
+
def modified_at(self) -> None:
|
|
699
|
+
self._modified_at = UNSET
|
|
700
|
+
|
|
701
|
+
@property
|
|
702
|
+
def name(self) -> str:
|
|
703
|
+
""" Name of the Molecule. """
|
|
704
|
+
if isinstance(self._name, Unset):
|
|
705
|
+
raise NotPresentError(self, "name")
|
|
706
|
+
return self._name
|
|
707
|
+
|
|
708
|
+
@name.setter
|
|
709
|
+
def name(self, value: str) -> None:
|
|
710
|
+
self._name = value
|
|
711
|
+
|
|
712
|
+
@name.deleter
|
|
713
|
+
def name(self) -> None:
|
|
714
|
+
self._name = UNSET
|
|
715
|
+
|
|
716
|
+
@property
|
|
717
|
+
def original_smiles(self) -> Optional[str]:
|
|
718
|
+
""" The original chemical structure supplied by the user in SMILES format. Null if the user did not originally supply SMILES. """
|
|
719
|
+
if isinstance(self._original_smiles, Unset):
|
|
720
|
+
raise NotPresentError(self, "original_smiles")
|
|
721
|
+
return self._original_smiles
|
|
722
|
+
|
|
723
|
+
@original_smiles.setter
|
|
724
|
+
def original_smiles(self, value: Optional[str]) -> None:
|
|
725
|
+
self._original_smiles = value
|
|
726
|
+
|
|
727
|
+
@original_smiles.deleter
|
|
728
|
+
def original_smiles(self) -> None:
|
|
729
|
+
self._original_smiles = UNSET
|
|
730
|
+
|
|
731
|
+
@property
|
|
732
|
+
def registration_origin(self) -> Optional[RegistrationOrigin]:
|
|
733
|
+
if isinstance(self._registration_origin, Unset):
|
|
734
|
+
raise NotPresentError(self, "registration_origin")
|
|
735
|
+
return self._registration_origin
|
|
736
|
+
|
|
737
|
+
@registration_origin.setter
|
|
738
|
+
def registration_origin(self, value: Optional[RegistrationOrigin]) -> None:
|
|
739
|
+
self._registration_origin = value
|
|
740
|
+
|
|
741
|
+
@registration_origin.deleter
|
|
742
|
+
def registration_origin(self) -> None:
|
|
743
|
+
self._registration_origin = UNSET
|
|
744
|
+
|
|
745
|
+
@property
|
|
746
|
+
def registry_id(self) -> Optional[str]:
|
|
747
|
+
""" Registry the Molecule is registered in. """
|
|
748
|
+
if isinstance(self._registry_id, Unset):
|
|
749
|
+
raise NotPresentError(self, "registry_id")
|
|
750
|
+
return self._registry_id
|
|
751
|
+
|
|
752
|
+
@registry_id.setter
|
|
753
|
+
def registry_id(self, value: Optional[str]) -> None:
|
|
754
|
+
self._registry_id = value
|
|
755
|
+
|
|
756
|
+
@registry_id.deleter
|
|
757
|
+
def registry_id(self) -> None:
|
|
758
|
+
self._registry_id = UNSET
|
|
759
|
+
|
|
760
|
+
@property
|
|
761
|
+
def schema(self) -> Optional[SchemaSummary]:
|
|
762
|
+
if isinstance(self._schema, Unset):
|
|
763
|
+
raise NotPresentError(self, "schema")
|
|
764
|
+
return self._schema
|
|
765
|
+
|
|
766
|
+
@schema.setter
|
|
767
|
+
def schema(self, value: Optional[SchemaSummary]) -> None:
|
|
768
|
+
self._schema = value
|
|
769
|
+
|
|
770
|
+
@schema.deleter
|
|
771
|
+
def schema(self) -> None:
|
|
772
|
+
self._schema = UNSET
|
|
773
|
+
|
|
774
|
+
@property
|
|
775
|
+
def web_url(self) -> str:
|
|
776
|
+
""" URL of the Molecule. """
|
|
777
|
+
if isinstance(self._web_url, Unset):
|
|
778
|
+
raise NotPresentError(self, "web_url")
|
|
779
|
+
return self._web_url
|
|
780
|
+
|
|
781
|
+
@web_url.setter
|
|
782
|
+
def web_url(self, value: str) -> None:
|
|
783
|
+
self._web_url = value
|
|
784
|
+
|
|
785
|
+
@web_url.deleter
|
|
786
|
+
def web_url(self) -> None:
|
|
787
|
+
self._web_url = UNSET
|