Skip to content

adapter

Structure

Lazy structure resource converter.

Go to EntryAdapter to see the full list of methods and properties.

Attributes:

Name Type Description
ENTRY_RESOURCE Type[StructureResource]

This adapter stores entry resources as StructureResources.

_type_converters Dict[str, Callable]

Dictionary of valid conversion types for entry.

Currently available types:

  • aiida_structuredata
  • ase
  • cif
  • pdb
  • pdbx_mmcif
  • pymatgen
  • jarvis
_type_ingesters Dict[str, Callable]

Dictionary of valid ingesters.

as_<_type_converters> Dict[str, Callable]

Convert entry to a type listed in _type_converters.

from_<_type_converters> Dict[str, Callable]

Convert an external type to an OPTIMADE StructureResourceAttributes model.

Source code in optimade/adapters/structures/adapter.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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,
    }