[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MMFFOptimizeMolecule removes aromatic property from some atoms #7961

Open
k-ujihara opened this issue Oct 25, 2024 · 1 comment
Open

MMFFOptimizeMolecule removes aromatic property from some atoms #7961

k-ujihara opened this issue Oct 25, 2024 · 1 comment
Labels

Comments

@k-ujihara
Copy link
Contributor
k-ujihara commented Oct 25, 2024

Describe the bug

MMFFOptimizeMoleculeConfs removes an aromatic property from some atoms in imidazopyridine.

To Reproduce

from rdkit import Chem
from rdkit.Chem import AllChem

smiles = "c2ccn3ccnc3c2"
for optimize_molecule_confs in [
    AllChem.UFFOptimizeMoleculeConfs,
    AllChem.MMFFOptimizeMoleculeConfs,
]:
    mol = Chem.AddHs(Chem.MolFromSmiles(smiles))
    AllChem.EmbedMolecule(mol)
    expected_n_aromatics = len([a for a in mol.GetAtoms() if a.GetIsAromatic()])
    optimize_molecule_confs(mol)
    # Chem.SanitizeMol(mol)  # SanitizeMol works
    actual_n_aromatics = len([a for a in mol.GetAtoms() if a.GetIsAromatic()])
    print(
        f"{optimize_molecule_confs.__name__}: {expected_n_aromatics=} == {actual_n_aromatics=}"
    )
    assert expected_n_aromatics == actual_n_aromatics

Expected behavior

All atoms are aromatic after calling MMFFOptimizeMoleculeConfs.

Screenshots

UFFOptimizeMoleculeConfs: expected_n_aromatics=9 == actual_n_aromatics=9
MMFFOptimizeMoleculeConfs: expected_n_aromatics=9 == actual_n_aromatics=5
Traceback (most recent call last):
    assert expected_n_aromatics == actual_n_aromatics
AssertionError

Configuration (please complete the following information):

  • RDKit version: 2024.3.5
  • OS: Ubuntu 22.04
  • If you are not using conda: how did you install the RDKit?: PIP
@k-ujihara
Copy link
Contributor Author

The discussion #7970 is that pyridine may not be planar in MMFF. However, in this example, ie, the conformation of imidazopyridine from MMFF is essentially planar.
I investigated the difference between conformations from MMFF and UFF, but I could not find any essential difference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant