MoleculeAttributes

pydantic model openff.qcsubmit.common_structures.MoleculeAttributes[source]

A class to hold and validate the molecule attributes associated with a QCArchive entry, All attributes are required to be entered into a dataset.

Note

The attributes here are not exhaustive but are based on those given by cmiles and can all be obtain through the openforcefield toolkit Molecule class.

Show JSON schema
{
   "title": "MoleculeAttributes",
   "description": "A class to hold and validate the molecule attributes associated with a QCArchive entry, All attributes are required\nto be entered into a dataset.\n\nNote:\n    The attributes here are not exhaustive but are based on those given by cmiles and can all be obtain through the openforcefield toolkit Molecule class.",
   "type": "object",
   "properties": {
      "canonical_smiles": {
         "title": "Canonical Smiles",
         "type": "string"
      },
      "canonical_isomeric_smiles": {
         "title": "Canonical Isomeric Smiles",
         "type": "string"
      },
      "canonical_explicit_hydrogen_smiles": {
         "title": "Canonical Explicit Hydrogen Smiles",
         "type": "string"
      },
      "canonical_isomeric_explicit_hydrogen_smiles": {
         "title": "Canonical Isomeric Explicit Hydrogen Smiles",
         "type": "string"
      },
      "canonical_isomeric_explicit_hydrogen_mapped_smiles": {
         "title": "Canonical Isomeric Explicit Hydrogen Mapped Smiles",
         "description": "The fully mapped smiles where every atom should have a numerical tag so that the molecule can be rebuilt to match the order of the coordinates.",
         "type": "string"
      },
      "molecular_formula": {
         "title": "Molecular Formula",
         "description": "The hill formula of the molecule as given by the openfftoolkit.",
         "type": "string"
      },
      "standard_inchi": {
         "title": "Standard Inchi",
         "description": "The standard inchi given by the inchi program ie not fixed hydrogen layer.",
         "type": "string"
      },
      "inchi_key": {
         "title": "Inchi Key",
         "description": "The standard inchi key given by the inchi program.",
         "type": "string"
      },
      "fixed_hydrogen_inchi": {
         "title": "Fixed Hydrogen Inchi",
         "description": "The non-standard inchi with a fixed hydrogen layer to distinguish tautomers.",
         "type": "string"
      },
      "fixed_hydrogen_inchi_key": {
         "title": "Fixed Hydrogen Inchi Key",
         "description": "The non-standard inchikey with a fixed hydrogen layer.",
         "type": "string"
      },
      "unique_fixed_hydrogen_inchi_keys": {
         "title": "Unique Fixed Hydrogen Inchi Keys",
         "description": "The list of unique non-standard inchikey with a fixed hydrogen layer.",
         "type": "array",
         "items": {
            "type": "string"
         },
         "uniqueItems": true
      }
   },
   "required": [
      "canonical_smiles",
      "canonical_isomeric_smiles",
      "canonical_explicit_hydrogen_smiles",
      "canonical_isomeric_explicit_hydrogen_smiles",
      "canonical_isomeric_explicit_hydrogen_mapped_smiles",
      "molecular_formula",
      "standard_inchi",
      "inchi_key"
   ]
}

Config
  • extra: str = allow

Fields
field canonical_smiles: str [Required]
field canonical_isomeric_smiles: str [Required]
field canonical_explicit_hydrogen_smiles: str [Required]
field canonical_isomeric_explicit_hydrogen_smiles: str [Required]
field canonical_isomeric_explicit_hydrogen_mapped_smiles: str [Required]

The fully mapped smiles where every atom should have a numerical tag so that the molecule can be rebuilt to match the order of the coordinates.

field molecular_formula: str [Required]

The hill formula of the molecule as given by the openfftoolkit.

field standard_inchi: str [Required]

The standard inchi given by the inchi program ie not fixed hydrogen layer.

field inchi_key: str [Required]

The standard inchi key given by the inchi program.

field fixed_hydrogen_inchi: Optional[str] = None

The non-standard inchi with a fixed hydrogen layer to distinguish tautomers.

field fixed_hydrogen_inchi_key: Optional[str] = None

The non-standard inchikey with a fixed hydrogen layer.

field unique_fixed_hydrogen_inchi_keys: Optional[Set[str]] = None

The list of unique non-standard inchikey with a fixed hydrogen layer.

classmethod from_openff_molecule(molecule)[source]

Create the Cmiles metadata for an OpenFF molecule object.

Parameters

molecule (openff.toolkit.topology.molecule.Molecule) – The molecule for which the cmiles data will be generated.

Returns

The Cmiles identifiers generated for the input molecule.

Return type

openff.qcsubmit.common_structures.MoleculeAttributes

Note

The Cmiles identifiers currently include:

  • canonical_smiles

  • canonical_isomeric_smiles

  • canonical_explicit_hydrogen_smiles

  • canonical_isomeric_explicit_hydrogen_smiles

  • canonical_isomeric_explicit_hydrogen_mapped_smiles

  • molecular_formula

  • standard_inchi

  • inchi_key

  • fixed_hydrogen_inchi

  • fixed_hydrogen_inchi_key

  • unique_fixed_hydrogen_inchi_keys

to_openff_molecule()[source]

Create an openff molecule from the CMILES information.

Return type

openff.toolkit.topology.molecule.Molecule