stko.OptWriterSequence

class stko.OptWriterSequence(optimizers, writer, output_directory)[source]

Bases: Optimizer

Applies optimizers in sequence and writes each step to avoid reruns.

Parameters:
  • optimizers (dict[str, Optimizer]) – A number of optimizers, each of which gets applied to a molecule, based on the order given.

  • writer (XyzWriter | MolWriter | PdbWriter | TurbomoleWriter)

  • output_directory (Path)

Examples

Let’s say we want to embed a molecule with ETKDG first and then minimize it with the MMFF force field.

import stk
import stko
import pathlib

output_directory = pathlib.Path('output_path')
output_directory.mkdir(exist_ok=True)

mol = stk.BuildingBlock('NCCCN', [stk.PrimaryAminoFactory()])
optimizer = stko.OptWriterSequence(
    optimizers={
        "etkdg": stko.ETKDG(),
        "mmff": stko.MMFF(),
    },
    writer=stk.MolWriter(),
    output_directory=output_directory,
)
mol = optimizer.optimize(mol)

Methods

optimize

Optimize mol.

optimize(mol)[source]

Optimize mol.

Parameters:

mol (MoleculeT) – The molecule to be optimized.

Returns:

The optimized molecule.

Return type:

MoleculeT