Skip to main content

Tautomer Generation

Enumerate tautomers for a molecular input structure using RDKit.

from atomiverse import Atoms, TautomerGeneration

atoms = Atoms.from_smiles("CC(=O)CC")

job = TautomerGeneration(
atoms=atoms,
charge=0,
multiplicity=1,
)
job.submit()

result = job.require_result()
for i, tautomer in enumerate(result.tautomers):
print(f"Tautomer {i + 1}: {len(tautomer)} atoms")

Inputs

atoms is the input structure.

charge and multiplicity describe the total charge and spin multiplicity.

Results

result.tautomers is a list of Atoms objects, each representing one tautomeric form of the input structure. The input structure is included when it is the canonical tautomer.

Compute Resources

Tautomer generation runs with RDKit and does not require quantum chemistry calculators. The job is always assigned to the smallest resource tier.

Completed tautomer enumerations are cached by canonical chemistry identity, charge, and multiplicity.