adapter¶
Structure (EntryAdapter)
¶
Lazy structure resource converter.
Go to EntryAdapter
to see the full list of methods
and properties.
Attributes:
Name | Type | Description |
---|---|---|
ENTRY_RESOURCE |
type |
This adapter stores entry resources as
|
_type_converters |
dict |
Dictionary of valid conversion types for entry. Currently available types:
|
_type_ingesters |
dict |
Dictionary of valid ingesters. |
as_<_type_converters> |
Convert entry to a type listed in |
|
from_<_type_converters> |
Convert an external type to an OPTIMADE
|
Source code in optimade/adapters/structures/adapter.py
class Structure(EntryAdapter):
"""
Lazy structure resource converter.
Go to [`EntryAdapter`][optimade.adapters.base.EntryAdapter] to see the full list of methods
and properties.
Attributes:
ENTRY_RESOURCE: This adapter stores entry resources as
[`StructureResource`][optimade.models.structures.StructureResource]s.
_type_converters: Dictionary of valid conversion types for entry.
Currently available types:
- `aiida_structuredata`
- `ase`
- `cif`
- `pdb`
- `pdbx_mmcif`
- `pymatgen`
- `jarvis`
_type_ingesters: Dictionary of valid ingesters.
as_<_type_converters>: Convert entry to a type listed in `_type_converters`.
from_<_type_converters>: Convert an external type to an OPTIMADE
[`StructureResourceAttributes`][optimade.models.structures.StructureResourceAttributes]
model.
"""
ENTRY_RESOURCE: type[StructureResource] = StructureResource
_type_converters: dict[str, Callable] = {
"aiida_structuredata": get_aiida_structure_data,
"ase": get_ase_atoms,
"cif": get_cif,
"pdb": get_pdb,
"pdbx_mmcif": get_pdbx_mmcif,
"pymatgen": get_pymatgen,
"jarvis": get_jarvis_atoms,
}
_type_ingesters: dict[str, Callable] = {
"pymatgen": from_pymatgen,
"ase": from_ase_atoms,
}
_type_ingesters_by_type: dict[str, type] = {
"pymatgen": PymatgenStructure,
"ase": ASEAtoms,
}
ENTRY_RESOURCE (EntryResource)
pydantic-model
¶
Representing a structure.
Source code in optimade/adapters/structures/adapter.py
class StructureResource(EntryResource):
"""Representing a structure."""
type: str = StrictField(
"structures",
description="""The name of the type of an entry.
- **Type**: string.
- **Requirements/Conventions**:
- **Support**: MUST be supported by all implementations, MUST NOT be `null`.
- **Query**: MUST be a queryable property with support for all mandatory filter features.
- **Response**: REQUIRED in the response.
- MUST be an existing entry type.
- The entry of type `<type>` and ID `<id>` MUST be returned in response to a request for `/<type>/<id>` under the versioned base URL.
- **Examples**:
- `"structures"`""",
regex="^structures$",
support=SupportLevel.MUST,
queryable=SupportLevel.MUST,
)
attributes: StructureResourceAttributes