Thanks Greg for this detailed answer.
Yes, indeed this helps.
From: Greg Landrum [mailto:greg.land...@gmail.com]
Sent: Freitag, 8. September 2017 12:10
To: Udvarhelyi, Aniko
Cc: rdkit-discuss@lists.sourceforge.net
Subject: Re: [Rdkit-discuss] GetConformerRMS() vs GetBestRMS()
Hi Anikó,
Both functions do an alignment. The big difference here is coming because
GetBestRMS() looks at all 2D-identical alignments of the molecules to each
other while GetConformerRMS() only does the alignment once: using the atom
numbers.
Practically speaking what does that mean for your molecule?
Here's a 2D sketch without the Hs:
[Inline image 1]
By 2D symmetry atoms 8 and 9 are equivalent as are atoms 4 and 5.
So there are four possible 2D isomorphisms between those molecules :
8->8, 9->9, 4->4, 5->5 (all others the same)
8->9, 9->8, 4->4, 5->5 (all others the same)
8->8, 9->9, 4->5, 5->4 (all others the same)
8->9, 9->8, 4->5, 5->4 (all others the same)
GetBestRMS() does alignments for all of these and takes the one that provides
the lowest RMS value.
GetConformerRMS() only does the first alignment and uses that RMS.
In general you want to always use GetBestRMS() for symmetric molecules.
Does that help?
-greg
p.s. Adding the Hs leads to additional mappings which just makes the overall
problem worse.
On Fri, Sep 8, 2017 at 9:26 AM, Udvarhelyi, Aniko
<aniko.udvarhe...@novartis.com<mailto:aniko.udvarhe...@novartis.com>> wrote:
Dear All,
I would like to compute RMS values between conformers of the same molecule that
are not aligned. Unfortunately, I can´t get along very well with the
GetConformerRMS() function, it gives far too high RMS values even for
conformers that are clearly (near-)identical as judged by visual inspection
after alignment. I attach one example of 2 conformers of a molecule, that are
near-identical.
GetConformerRMS() returns an RMS value of 1.32 (with Hydrogens) and 0.70
(disregarding Hydrogens).
GetBestRMS() returns an RMS value of 0.03 (with Hydrogens) and 0.02
(disregarding Hydrogens).
Clearly, the GetBestRMS() result is the one I´d expect (I am interested in the
all-atom RMSDs with Hydrogens). I guess GetConformerRMS() cannot align the two
conformers properly hence the high RMS value. My question is why not? The atom
ordering and all bonds are exactly the same in both conformers. Why do I need
the GetBestRMS() alignment of all possible permutations of matching atom orders
in both conformers to get the alignment correct? I would like to avoid using
GetBestRMS()as it is far too slow for my purposes (processing many molecules
with many conformers).
Many thanks for any hints,
Anikó
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net<mailto:Rdkit-discuss@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss