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

Reply via email to