MolSSI / QCEngine

Quantum chemistry program executor and IO standardizer (QCSchema).
https://molssi.github.io/QCEngine/
BSD 3-Clause "New" or "Revised" License
163 stars 78 forks source link

OpenFF requires chirality centers #360

Open awvwgk opened 2 years ago

awvwgk commented 2 years ago

Describe the bug

Running inputs with stereo centers using the openff harness errors because of missing chirality information:

QCEngine Execution Error:
Traceback (most recent call last):
  File "/home/baedorf/mambaforge/envs/openff/lib/python3.9/site-packages/qcengine/util.py", line 114, in compute_wrapper
    yield metadata
  File "/home/baedorf/mambaforge/envs/openff/lib/python3.9/site-packages/qcengine/compute.py", line 91, in compute
    output_data = executor.compute(input_data, config)
  File "/home/baedorf/mambaforge/envs/openff/lib/python3.9/site-packages/qcengine/programs/openmm.py", line 269, in compute
    off_mol = offtop.Molecule(rdkit_mol)
  File "/home/baedorf/mambaforge/envs/openff/lib/python3.9/site-packages/openff/toolkit/topology/molecule.py", line 5836, in __init__
    super(Molecule, self).__init__(*args, **kwargs)
  File "/home/baedorf/mambaforge/envs/openff/lib/python3.9/site-packages/openff/toolkit/topology/molecule.py", line 2089, in __init__
    result = toolkit_registry.call(
  File "/home/baedorf/mambaforge/envs/openff/lib/python3.9/site-packages/openff/toolkit/utils/toolkit_registry.py", line 366, in call
    raise e
  File "/home/baedorf/mambaforge/envs/openff/lib/python3.9/site-packages/openff/toolkit/utils/toolkit_registry.py", line 362, in call
    return method(*args, **kwargs)
  File "/home/baedorf/mambaforge/envs/openff/lib/python3.9/site-packages/openff/toolkit/utils/rdkit_wrapper.py", line 163, in from_object
    return _cls.from_rdkit(obj, allow_undefined_stereo=allow_undefined_stereo)
  File "/home/baedorf/mambaforge/envs/openff/lib/python3.9/site-packages/openff/toolkit/utils/base_wrapper.py", line 51, in wrapped_function
    value = func(*args, **kwargs)
  File "/home/baedorf/mambaforge/envs/openff/lib/python3.9/site-packages/openff/toolkit/topology/molecule.py", line 5000, in from_rdkit
    molecule = toolkit.from_rdkit(
  File "/home/baedorf/mambaforge/envs/openff/lib/python3.9/site-packages/openff/toolkit/utils/rdkit_wrapper.py", line 1472, in from_rdkit
    self._detect_undefined_stereo(
  File "/home/baedorf/mambaforge/envs/openff/lib/python3.9/site-packages/openff/toolkit/utils/rdkit_wrapper.py", line 2336, in _detect_undefined_stereo
    raise UndefinedStereochemistryError(msg)
openff.toolkit.utils.exceptions.UndefinedStereochemistryError: Unable to make OFFMol from RDMol: Unable to make OFFMol from RDMol: RDMol has unspecified stereochemistry. Undefined chiral centers are:
 - Atom C (index 173)

To Reproduce

@benbaed Do you have an input for reproducing this which is smaller than the ~400 atom system you send me?

Expected behavior

Detect chirality from provided three-dimensional structure and bond orders.

Additional context

cc @mattwthompson, @j-wags, @dotsdl