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

Reply via email to