MoleculeBondingDoc

class emmet.core.molecules.bonds.MoleculeBondingDoc(**data)

Bases: PropertyDoc

Representation of molecular bonding.

Parameters:
  • charge (int | None)

  • spin_multiplicity (int | None)

  • natoms (int | None)

  • elements (list[Annotated[ElementTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.element_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.element_adapter.<lambda>, return_type=str, when_used=always)]] | None)

  • nelements (int | None)

  • nelectrons (int | None)

  • composition (Annotated[CompositionTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, return_type=dict[str, float], when_used=always)] | None)

  • composition_reduced (Annotated[CompositionTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.composition_adapter.<lambda>, return_type=dict[str, float], when_used=always)] | None)

  • formula_alphabetical (str | None)

  • formula_pretty (str | None)

  • formula_anonymous (str | None)

  • chemsys (str | None)

  • symmetry (PointGroupData | None)

  • species_hash (str | None)

  • coord_hash (str | None)

  • property_name (str)

  • property_id (str)

  • molecule_id (MPculeID)

  • deprecated (bool)

  • deprecation_reasons (list[str] | None)

  • level_of_theory (LevelOfTheory | None)

  • solvent (str | None)

  • lot_solvent (str | None)

  • last_updated (datetime)

  • origins (list[MolPropertyOrigin])

  • warnings (list[str])

  • molecule_graph (Annotated[MoleculeGraphTypeVar, BeforeValidator(func=~emmet.core.types.pymatgen_types.structure_graph_adapter.pop_empty_graph_keys, json_schema_input_type=PydanticUndefined), WrapSerializer(func=~emmet.core.types.pymatgen_types.structure_graph_adapter.<lambda>, return_type=~emmet.core.types.pymatgen_types.structure_graph_adapter.TypedMoleculeGraphDict, when_used=always)])

  • method (str)

  • bond_types (dict[str, list[float]])

  • bonds (list[tuple[int, int]])

  • bonds_nometal (list[tuple[int, int]])

classmethod from_task(task, molecule_id, preferred_methods, deprecated=False, **kwargs)

Determine bonding from a task document

Method preferences are as follows: - NBO7 - OpenBabelNN + metal_edge_extender in pymatgen - Critic2 (really OpenBabelNN + metal_edge_extender + Critic2)

Parameters:
  • task (TaskDocument) – task document from which bonding properties can be extracted

  • molecule_id (MPculeID) – MPculeID

  • preferred_methods (list[str]) – list of methods; by default, NBO7, Critic2, and the combination of OpenBabelNN and metal_edge_extender in pymatgen, in that order

  • kwargs – to pass to PropertyDoc

  • deprecated (bool)

Returns:

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].