Exhaustive fragmenter saturation fix and optimization#1
Exhaustive fragmenter saturation fix and optimization#1
Conversation
… saturated or unsaturated fragments, added a test and renamed some tests to prepare for the tests for unsaturated fragments
… algorithm changes to use a power set to reduce computations
…ve or too small because of truncation of BigInt to int
…se and therefore cant have more elements than 2^31 - 1
…ion and added more comprehensive comments for subset generation
Bringing this feature branch up to date.
JonasSchaub
left a comment
There was a problem hiding this comment.
Review part I, continuation later.
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
JonasSchaub
left a comment
There was a problem hiding this comment.
Second and final part of first review.
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Show resolved
Hide resolved
|
@ToLeWeiss here is our code from Scaffold Generator that transfers stereo information: https://github.com/cdk/cdk-scaffold/blob/0847806199324735355d508c296b1b3c9c4d0ff0/src/main/java/org/openscience/cdk/tools/scaffold/ScaffoldGenerator.java#L1176 |
|
@ToLeWeiss another thing to think about: is there any chance to have a substructure/fragment that is there multiple times in the input structure also appear multiple times in the fragments, despite the deduplication using SMILES? |
…tries to implement the pseudo-R-atom saturation
Update to be on par with the cdk main branch.
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
|
@ToLeWeiss I finished my review. Please have a look at the comments and talk to me if anything is unclear. |
JonasSchaub
left a comment
There was a problem hiding this comment.
Review of ExhaustiveFragmenter class.
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
|
@ToLeWeiss the code is becoming really nice! |
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Show resolved
Hide resolved
…added a setting for copying setereo information + tests
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
tool/fragment/src/test/java/org/openscience/cdk/fragment/ExhaustiveFragmenterTest.java
Show resolved
Hide resolved
tool/fragment/src/main/java/org/openscience/cdk/fragment/ExhaustiveFragmenter.java
Outdated
Show resolved
Hide resolved
Bringing branch up to date with upstream cdk repositories main branch
…nds per fragmentation
…integers instead of BigInt
…lied the changes from BigInt back to int manually
updated to incorporate last cdk changes
Fix for Saturation Issues in
ExhaustiveFragmenter(#1119)Aims to resolve the saturation-related issues in the
ExhaustiveFragmenter, as described in issue #1119.Fixes & Improvements
Ensures Correct Fragment Saturation:
Optimized Bond Splitting Logic:
Improvements
Testing & Verification