openff-toolkit: OpenEye Toolkit 2023.1.0 fails to assign am1bccelf10 charges that work in 2022.1.1
Describe the bug
The newer version of openeye-toolkits fails to assign partial charges where the previous version did so successfully. The core of the attached Python script is
from openff.toolkit.utils.toolkits import OpenEyeToolkitWrapper
oe = OpenEyeToolkitWrapper()
oe.assign_partial_charges(mol, partial_charge_method="am1bccelf10")
where mol is an openff.toolkit.Molecule.
To Reproduce Create two conda environments:
mamba create -n openeye-2022.1.1 -c openeye 'openeye-toolkits=2022.1.1' openff-qcsubmit
mamba create -n openeye-2023.1.0 -c openeye 'openeye-toolkits=2023.1.0' openff-qcsubmit
Run the included example.py script with both environments
mamba run -n openeye-2022.1.1 --no-capture-output python example.py
mamba run -n openeye-2023.1.0 --no-capture-output python example.py
Output
The first one will print 52 succeeded, 0 failed, while the second will print 0 succeeded, 52 failed.
Additional context For an even smaller test set, the 2 SMILES below fail to charge in the new version but charge in the old version:
[H:11][c:1]1[c:2]([c:4]([n:9][c:5]([c:3]1[H:13])[N@:10]([C:7]([H:18])([H:19])[H:20])[C:8]([H:21])([H:22])[C:6]([H:15])([H:16])[H:17])[H:14])[H:12]
[H:16][c:1]1[c:3]([c:7]([c:11]([c:8]([c:4]1[H:19])[H:23])[C:14]([H:29])([H:30])[N@:15]([c:12]2[c:9]([c:5]([c:2]([c:6]([c:10]2[H:25])[H:21])[H:17])[H:20])[H:24])[C:13]([H:26])([H:27])[H:28])[H:22])[H:18]
And these two charge successfully in both cases:
[H:20][c:1]1[c:2]([c:8]([c:14]([c:9]([c:3]1[H:22])[H:28])[c:15]2[c:10]([c:4]([c:5]([c:11]([c:16]2[c:17]3[c:12]([c:6]([c:7]([c:13]([c:18]3[C:19]([H:33])([H:34])[H:35])[H:32])[H:26])[H:25])[H:31])[H:30])[H:24])[H:23])[H:29])[H:27])[H:21]
[H:17][c:1]1[c:2]([c:5]([c:9]([c:8]([c:4]1[H:20])[C:10]2=[C:6]([C:3](=[C:7]([C:11](=[O:15])[N:14]2[C:12]([H:24])([H:25])[H:26])[H:23])[H:19])[H:22])[O:16][C:13]([H:27])([H:28])[H:29])[H:21])[H:18]
About this issue
- Original URL
- State: closed
- Created 9 months ago
- Reactions: 1
- Comments: 17 (17 by maintainers)
I wonder if this is an OpenEye support issue; if the OpenEye toolkit previously could generate conformers for these but now it cannot, is that on their end?
I think so; if we’re not likely to do anything about it and if it’s too esoteric to document here, there is no reason to keep this open
I updated my last comment with some additional details and just sent an email to OpenEye support!
This fails with 2023.1.0 and works with 2022.1.1: