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

Parasubstituted chiral cyclobutyl causes "zero final chiral volume" warnings depending on 2D coords #7070

Open
pechersky opened this issue Jan 19, 2024 · 2 comments · May be fixed by #7376
Open
Labels

Comments

@pechersky
Copy link
Contributor

Describe the bug
An exported SDF from a parasubstituted chiral cyclobutyl raises an ambiguous stereochemistry warning, but only under some 2D coordinates. I thought it might be due to a non-local stereo (parasubstituted alkyl ring) but then I would have expected to see the same issue no matter the 2D coords.

To Reproduce

$ cat chiralvol.sdf

  ChemDraw01182422122D

  0  0  0     0  0            999 V3000
M  V30 BEGIN CTAB
M  V30 COUNTS 7 7 0 0 1
M  V30 BEGIN ATOM
M  V30 1 O 242.09 -314.16 0 0
M  V30 2 C 252.27 -324.34 0 0
M  V30 3 F 262.45 -314.16 0 0
M  V30 4 C 242.09 -334.52 0 0
M  V30 5 C 252.27 -344.7 0 0
M  V30 6 C 252.27 -359.1 0 0
M  V30 7 C 262.45 -334.52 0 0
M  V30 END ATOM
M  V30 BEGIN BOND
M  V30 1 1 1 2
M  V30 2 1 2 7
M  V30 3 1 2 3 CFG=3
M  V30 4 1 2 4
M  V30 5 1 4 5
M  V30 6 1 5 6 CFG=3
M  V30 7 1 5 7
M  V30 END BOND
M  V30 END CTAB
M  END
$$$$

$ docker run --rm -v $(pwd):/app python:3.11-slim sh -c 'pip install -q rdkit; python -c "import rdkit; import rdkit.Chem; print(rdkit.__version__); mol = rdkit.Chem.MolFromMolBlock(open(\"/app/chiralvol.sdf\").read());"'
2023.09.4
[03:31:02] Warning: ambiguous stereochemistry - zero final chiral volume - at atom 1 ignored
[03:31:02] Warning: ambiguous stereochemistry - zero final chiral volume - at atom 4 ignored

$ cat chiralvol_fine.sdf

  ChemDraw01182422322D

  0  0  0     0  0              0 V3000
M  V30 BEGIN CTAB
M  V30 COUNTS 7 7 0 0 0
M  V30 BEGIN ATOM
M  V30 1 O -0.583363 1.287639 0.000000 0
M  V30 2 C -0.000000 0.704277 0.000000 0
M  V30 3 F 0.583363 1.287639 0.000000 0
M  V30 4 C -0.583363 0.120913 0.000000 0
M  V30 5 C -0.000000 -0.462450 0.000000 0
M  V30 6 C -0.000000 -1.287639 0.000000 0
M  V30 7 C 0.583363 0.120913 0.000000 0
M  V30 END ATOM
M  V30 BEGIN BOND
M  V30 1 1 1 2
M  V30 2 1 2 7
M  V30 3 1 2 3 CFG=3
M  V30 4 1 2 4
M  V30 5 1 4 5
M  V30 6 1 5 6 CFG=3
M  V30 7 1 5 7
M  V30 END BOND
M  V30 END CTAB
M  END
$$$$

$ docker run --rm -v $(pwd):/app python:3.11-slim sh -c 'pip install -q rdkit; python -c "import rdkit; import rdkit.Chem; print(rdkit.__version__); mol = rdkit.Chem.MolFromMolBlock(open(\"/app/chiralvol_fine.sdf\").read());"'
2023.09.4

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
image

Configuration (please complete the following information):

  • RDKit version: 2023.9.4 (also tested at rdkit 2023.9.1)
  • OS: Ubuntu 20.04
  • Python version (if relevant): py3.11 via docker-slim
  • Are you using conda? no
  • If you are using conda, which channel did you install the rdkit from? n/a
  • If you are not using conda: how did you install the RDKit? pip install

Additional context
We promote warnings to errors in our mol reading, so this exposed how some of our molecules have more "ambiguous stereochemistry" than expected.

@pechersky pechersky added the bug label Jan 19, 2024
@greglandrum
Copy link
Member

confirmed. I can reproduce this

@greglandrum
Copy link
Member

as I'm tracking this down: If all the coordinates in the first example are divided by 100 things run without complaint, so this is likely a floating point/tolerance problem in the code

pechersky added a commit to pechersky/rdkit that referenced this issue Apr 19, 2024
Ref: rdkit#7070

Coordinates come from direct positions as drawn in ChemDraw
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants