Source code for skchem.forcefields.mmff

#! /usr/bin/env python
#
# Copyright (C) 2016 Rich Lewis <rl403@cam.ac.uk>
# License: 3-clause BSD

"""
## skchem.forcefields.mmff

Module specifying the Merck Molecular Force Field.
"""
from rdkit.Chem.rdForceFieldHelpers import MMFFOptimizeMolecule

from .base import ForceField


[docs]class MMFF(ForceField): """ Merck Molecular Force Field transformer. """ def __init__(self, preembed=True, warn_on_fail=True, error_on_fail=False, add_hs=True, n_jobs=1, verbose=True): """ Initialize a MMFF object. Args: preembed (bool): Whether to embed before optimizing. warn_on_fail (bool): Whether to warn if a molecule fails to optimise. error_on_fail (bool): Whether to raise an error if a molecule fails to optimise. add_hs (bool): Whether to automatically add hydrogens. """ super(MMFF, self).__init__(preembed=preembed, warn_on_fail=warn_on_fail, error_on_fail=error_on_fail, add_hs=add_hs, verbose=verbose, n_jobs=n_jobs) def _optimize(self, mol): return MMFFOptimizeMolecule(mol)