# Identifier Types Entries of the types {class}`.Compound`, {class}`.Reaction`, {class}`.Enzyme`, {class}`.MolStructureRepr`, and {class}`.AAM` are characterized by their identifiers (e.g. MNXM123456 for a MetaNetX compound). However, we cannot expect identifiers to be unique across data sources. Therefore, each entry is recognized by both its identifier and its `IdentifierType`. This page lists the available `IdentifierType`s. ```{eval-rst} .. autoclass:: chemrecon.IdentifierType ``` Note that the `id_type` field of entries returned by database queries does not contain an {class}`.IdentifierType` object, but instead an enum value. The `enum_type` field of {class}`.IdentifierType` objects gives the corresponding enum value. Conversely, the enum value can be used to retrieve the corresponding {class}`.IdentifierType` object by the `.value` field of the enum value. For compounds and reactions, the identifier type corresponds to the source database from which the entry was obtained. Enzymes are unique in that most sources agree to classify enzymes based on their EC number, so this is the only identifier type for enzymes. However, other sources can be added to the database. For {class}`.MolStructureRepr` and {class}`.AAM`, the identifier represents a structure, and the identifier type then specifies which type of representation is used, e.g. SMILES, InChI. The the `name` identifier types below do not represent concrete database entries, but represent common or systematic names given to various entries. Whenever an entry has a `name` attribute, a new name entry is created with that name as the identifier. The tables below list the Enums with their values. ## Compound Identifier Types ```{eval-rst} .. autoenum:: chemrecon.schema.IdTypeCompoundEnum :members: ``` ## Reaction Identifier Types ```{eval-rst} .. autoenum:: chemrecon.schema.IdTypeReactionEnum :members: ``` ## Enzyme Identifier Types ```{eval-rst} .. autoenum:: chemrecon.schema.IdTypeEnzymeEnum :members: ``` ## MolStructureRepr Identifier Types ```{eval-rst} .. autoenum:: chemrecon.schema.IdTypeStructureRepresentationEnum :members: ``` ## AAM Identifier Types ```{eval-rst} .. autoenum:: chemrecon.schema.IdTypeAAMEnum :members: ```