chemaxon.calculations.tautomer

class TautomerAdvancedOptions:

TautomerAdvancedOptions class for configuring advanced tautomer generation options.

precision: Optional[int] = None

Precision for tautomer generation. If not specified, the default precision is used. Default is None.

path_length: Optional[int] = None

Maximum allowed length of the tautomerization path in chemical bonds. If not specified, the default path length is used. Default is None.

protect_aromaticity: bool = True

If True, aromaticity is protected during tautomer generation. Default is True.

protect_charge: bool = True

If True, charged atom is maintain their charge during tautomer generation. Default is True.

exclude_antiaromatic_compounds: bool = True

If True, antiaromatic ring systems are excluded from tautomer generation. Default is True.

protect_double_bond_stereo: bool = False

If True, all double bond with stereo information remain intact during tautomer generation. Default is False.

protect_all_tetrahedral_centers: bool = False

If True, tetrahedral centers are not included in tautomer generation. Default is False.

protect_labeled_tetrahedral_centers: bool = False

If True, stereo centers labeled with chiral flag or MDL Enhanced Stereo Representation flag will not be included in tautomer generation. Default is False.

protect_ester_groups: bool = True

If True, ester groups are protected during tautomer generation. Default is True.

ring_chain_allowed: bool = False

If True, Ring-chain tautomers are allowed during tautomer generation. Default is False.

class TautomerResult:

TautomerResult

TautomerResult(result: chemaxon.calculations.tautomer._CTautomerResult)
length: int

Length of the tautomers list

tautomers: list[chemaxon.molecule.Molecule]

Tautomers as list of Molecule objects

distributions: list[float]

Distributions of the tautomers as list of floats.

def all_tautomers( mol: chemaxon.molecule.Molecule, normal: bool = False, maximum_tautomers: int = 1000, options: TautomerAdvancedOptions = <TautomerAdvancedOptions object>) -> list[chemaxon.molecule.Molecule]:

All tautomer generation. This function generates all tautomers of the input molecule. The tautomers are generated in their original form by default, but they can also be generated in their normal form. The maximum number of tautomers to be generated can be specified.

Link: https://docs.chemaxon.com/latest/calculators_tautomer-generation-plugin.html

Parameters
  • mol: Molecule - Input molecule.
  • normal: bool - If True, the tautomers are generated in their normal form. If False, the tautomers are generated in their original form. Default is False.
  • maximum_tautomers: int - Maximum number of tautomers to be generated. Default is 1000.
  • options: TautomerAdvancedOptions - Advanced options for tautomer generation. Default is None.
Returns

list[Molecule] - list of tautomers as Molecule objects.

def dominant_tautomer_distribution( mol: chemaxon.molecule.Molecule, ph: float = None, maximum_tautomers: int = 1000, options: TautomerAdvancedOptions = <TautomerAdvancedOptions object>) -> list[chemaxon.molecule.Molecule, float]:

Dominant tautomer distributions. This function generates the dominant tautomer distribution of the input molecule. The pH can be specified to generate the tautomers at a specific pH, or it can be generated without considering pH. The maximum number of tautomers to be generated can be specified.

Link: https://docs.chemaxon.com/latest/calculators_tautomer-generation-plugin.html

Parameters
  • mol: Molecule - Input molecule.
  • ph: float - If specified, the tautomers are generated at this pH. If not specified, the tautomers are generated without considering pH. Default is None.
  • maximum_tautomers: int - Maximum number of tautomers to be generated. Default is 1000.
  • options: TautomerAdvancedOptions - Advanced options for tautomer generation. Default is None.
Returns

list[(Molecule, float)] - list of tuples of tautomers as Molecule and distribution as float.

def canonical_tautomer( mol: chemaxon.molecule.Molecule, normal: bool = False, options: TautomerAdvancedOptions = <TautomerAdvancedOptions object>) -> chemaxon.molecule.Molecule:

Canonical tautomer generation. This function generates the canonical tautomer of the input molecule. The tautomers are generated in their original form by default, but they can also be generated in their normal form. The maximum number of tautomers to be generated can be specified. The canonical tautomer is the first tautomer in the list of tautomers generated by the all_tautomers function, which is the tautomer with the highest distribution. The canonical tautomer is not necessarily the most stable tautomer, but it is a representative tautomer that can be used for various purposes, such as structure searching and database indexing.

Link: https://docs.chemaxon.com/latest/calculators_tautomer-generation-plugin.html

Parameters
  • mol: Molecule - Input molecule.
  • normal: bool - If True, the tautomers are generated in their normal form. If False, the tautomers are generated in their original form. Default is False.
  • options: TautomerAdvancedOptions - Advanced options for tautomer generation. Default is None.
Returns

Molecule - the canonical tautomer as Molecule object.

def major_tautomer( mol: chemaxon.molecule.Molecule, ph: float = None, options: TautomerAdvancedOptions = <TautomerAdvancedOptions object>) -> chemaxon.molecule.Molecule:

Major tautomer generation. This function generates the major tautomer of the input molecule at a specific pH. The major tautomer is the tautomer with the highest distribution at the specified pH. The pH can be specified to generate the tautomers at a specific pH, or it can be generated without considering pH.

Link: https://docs.chemaxon.com/latest/calculators_tautomer-generation-plugin.html

Parameters
  • mol: Molecule - Input molecule.
  • ph: float - If specified, the tautomers are generated at this pH. If not specified, the tautomers are generated without considering pH. Default is None.
Returns

Molecule - the canonical tautomer as Molecule object.