Hi Uli, For computing the maximum common substructure there is UniversalIsomorphismTester or Small Molecule Subgraph Detector SMSD (in cdk-legacy). There is a newer version of SMSD in a separate repo ( https://github.com/asad/SMSD) which was a rewrite, we were going to integrate this in but there were too many API changes and differences (test failures) to make sense. Edmund Duesbury also wrote one during his PhD which I think does pretty well and has some nice properties/tunability - https://pubmed.ncbi.nlm.nih.gov/25602464/ - I think there is code in Knime to use.
Personally I try to avoid using MCS as there is usually a better way to solve the problem which is also one of the reasons I've not written one. What reason do you need MCS for - Reaction Atom Mapping? Thanks, John On Mon, 7 Jul 2025 at 16:37, Uli Fechner <u...@pending.ai> wrote: > Hi, > > I am looking for a method to find the maximum common subgraph of two > IAtomContainer. For each solution, I would like to get the mappings of > matched atoms for both input structures. > > The UniversalIsomorphismTester looked like an obvious choice. There is a > method to find the maximum common subgraph (getOverlaps), but it does not > look obvious to me how to then get the atom mappings. > > Looking through the code of UniversalIsomorphismTester, it also does not > inspire a lot of confidence (e.g., usage of clone(), the javadoc comment > 'this implementation of the algorithm has not been optimized for speed' in > RGraph) so I am wondering if I am looking in the right place. > > Any pointer in the right direction is much appreciated. > > Best > Uli > _______________________________________________ > Cdk-user mailing list > Cdk-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/cdk-user >
_______________________________________________ Cdk-user mailing list Cdk-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cdk-user