Commit Graph

9 Commits

Author SHA1 Message Date
Greg Landrum
5086391cdb Fix a bunch of edge cases in the pseudo 3d chiral assignment code. (#6669)
* handle bonds with zero length around chiral centers

* chirality perception fixes
- fix handling of T-shaped chirality
- catch zero-length bonds
- catch opposing bonds with opposite wedging

* another special case

* more quasi-linear handling

* more progress

* backup

* update

* remove some complication with the neighbor order sorting by just doing a sort
🤦
passing all tests again

* oh, isn't this fun?

* no more t-shaped three-coordinate chirality

* still a couple of tests failing

* all tests pass

* overlapping neighbors without wedges remove stereo

* add test for overlapping atoms with wedged bonds

* make warnings consistent to allow easy parsing

* more testing

* docs
2023-08-31 17:30:16 +02:00
Greg Landrum
a57060225f Fixes #6479 (#6482)
* make sure we don't try to access an SG which no longer exists

* Fixes #6479
updates a bunch of tests to support this

* test ring stereo too

* update expected results from the tests
2023-07-13 19:29:06 +02:00
Greg Landrum
fee12b0aa6 Switch to determining atom chiral types from pseudo 3D instead of bond dirs (#6456)
* backup

* backup

* passes a lot of tests

* cleanup; still failing some tests

* pay attention to bond starting points... duh

* all tests pass

* invert y coords

* Scale bonds, make the Wedge detection cleaner, add more tests

* Readd comment

* Use document bond length

* Adds roundtrip test through a molblock

* a bit of cleanup

* remove the old code since we aren't using it any more.

* changes in response to review

---------

Co-authored-by: Brian Kelley <bkelley@relaytx.com>
2023-07-04 04:48:55 +02:00
Greg Landrum
fcfbb7b083 Fix a couple CDXML issues (#6463)
* Scale bonds, make the Wedge detection cleaner, add more tests

* Readd comment

* Use document bond length

* Adds roundtrip test through a molblock

* a bit of cleanup

* change expected results for a bogus structure
add a non-ambiguous version of it

* fixes #6462

* document incompatibility

---------

Co-authored-by: Brian Kelley <bkelley@relaytx.com>
2023-06-15 05:05:33 +02:00
Greg Landrum
58b79c6f8e BondDir not cleared from bonds that aren't stereoactive (#6162)
* backup

* update .gitignore

* passes tests

* all tests now pass

* update release notes

* cleanup

* changes in response to review
2023-03-07 15:15:11 +01:00
Greg Landrum
a8c8e9a8e1 Add canonicalization of stereo groups (enhanced stereo) (#6051)
* add function to canonicalize enhanced stereo representations

* use enhanced stereo in canonicalization

* Fixes #6045
enables the doc tests for EnumerateStereoisomers.py
Re-enables the BRICS tests

* some things work... tests need to be updated

* c++ and python tests pass

* update expected psql results

* run the canonicalization on SMILES generation;
c++ and python tests pass

* cartridge and java tests pass

* update doctests
2023-02-08 04:21:51 +01:00
Brian Kelley
6d10f90a8b Add wavy stereo bond support to cdxml (#5755)
* Add wavy stereo bonds

* Add wavy single bonds

* Single bonds have bond stereo stripped

Co-authored-by: Brian Kelley <bkelley@relaytx.com>
2022-11-17 04:58:46 +01:00
Greg Landrum
1f4584b2ca run clang_format (#5676) 2022-11-01 04:14:26 +01:00
Brian Kelley
d1985caaa7 cdxml parser (#5273) 2022-09-28 05:49:27 +02:00