This repository has been archived by the owner on Jul 10, 2024. It is now read-only.
fix with some tests for issue #4, #3, #7, needs evaluation #17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This needs evaluation but is mostly a fix for issue #4 concerning meaningless stereo. This is quite similar to the strategy proposed in the issue. Specifically, if there is a non-R/S assignable center which has a wedge/dash bond, it will do the following:
To put it more simply, the code is looking for what's possible, abstractly, if the stereocenters were not given at all. It then does the same thing while "locking" the specified centers as they are specified. If there is no change in the set of possibilities, the specified centers are meaningless.
There are likely edge cases where this doesn't work. In particular, there may be cases with 0-dimensional input or intra-cyclic bonds in a molfile which may confuse it. The JUnit tests only add cases for those mentioned in the GitHub issue and a few other obvious analogues.
The rest of the tests are mostly confirming that the other issues mentioned above are actually fixed (which they appear to be).
I'd also like some better test sets to confirm that major parts of the hash are still working as expected.