Re: [Rdkit-discuss] AllChem.GetConformerRMSD: this is not RMSD between two conformers but an upper bound of it
Thanks for the documentation fix, I had read the same as Francois. Brian Kelley > On Jun 15, 2017, at 8:02 AM, Greg Landrum wrote: > > > >> On Thu, Jun 15, 2017 at 6:30 AM, Francois BERENGER >> wrote: >> >> I am afraid that in AllChem.GetConfomerRMSD: one doesn't get the RMSD >> between the two conformers but an upper bound of it. > > The documentation to this function is misleading: > > In [21]: AllChem.GetConformerRMS? > Signature: AllChem.GetConformerRMS(mol, confId1, confId2, atomIds=None, > prealigned=False) > Docstring: > Returns the RMS between two conformations. > By default, the conformers will be aligned to the first conformer > of the molecule (i.e. the reference) before RMS calculation and, > as a side-effect, will be left in the aligned state. > > Arguments: > - mol:the molecule > - confId1:the id of the first conformer > - confId2:the id of the second conformer > - atomIds:(optional) list of atom ids to use a points for > alingment - defaults to all atoms > - prealigned: (optional) by default the conformers are assumed > be unaligned and will therefore be aligned to the > first conformer > > > The alignment is done to the first conformer (i.e confId1).[1] > Here's a demonstration of that: > In [31]: AllChem.GetConformerRMS(m,0,1,prealigned=True) > Out[31]: 9.1593890932638349 > > In [32]: AllChem.GetConformerRMS(m,0,2,prealigned=True) > Out[32]: 3.8219771356556071 > > In [33]: AllChem.GetConformerRMS(m,1,2,prealigned=True) > Out[33]: 8.597878324406647 > > In [34]: AllChem.GetConformerRMS(m,1,2) > Out[34]: 1.1067869816465845 # conformer 2 is now aligned to conformer 1 > > In [35]: AllChem.GetConformerRMS(m,0,1,prealigned=True) > Out[35]: 9.1593890932638349 # the RMS between confs 0 and 1 hasn't changed > > In [36]: AllChem.GetConformerRMS(m,0,2,prealigned=True) > Out[36]: 9.4691776880629508 # the RMS between confs 0 and 2 has changed > > I will clean that documentation up. > > > -greg > [1] since that's a "conformer of the molecule" the documentation isn't > actually wrong, but it's misleading enough to be effectively wrong. > >> >> I understand from the doc that if they are aligned, they are aligned >> to the first conformer of the molecule. >> >> To get the real RMSD between two conformers, they must >> be superimposed together, not to a third conformer. >> >> Please tell me if I'm wrong. >> >> Regards, >> F. >> >> -- >> 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 > > -- > 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 -- 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
Re: [Rdkit-discuss] AllChem.GetConformerRMSD: this is not RMSD between two conformers but an upper bound of it
The function you want is GetBestRMS, note that you can set the conformer idx for the probe and ref. http://www.rdkit.org/Python_Docs/rdkit.Chem.AllChem-module.html#GetBestRMS Brian Kelley > On Jun 15, 2017, at 5:30 AM, Francois BERENGER > wrote: > > Hello, > > I am afraid that in AllChem.GetConfomerRMSD: one doesn't get the RMSD > between the two conformers but an upper bound of it. > > I understand from the doc that if they are aligned, they are aligned > to the first conformer of the molecule. > > To get the real RMSD between two conformers, they must > be superimposed together, not to a third conformer. > > Please tell me if I'm wrong. > > Regards, > F. > > -- > 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 -- 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
Re: [Rdkit-discuss] AllChem.GetConformerRMSD: this is not RMSD between two conformers but an upper bound of it
On Thu, Jun 15, 2017 at 6:30 AM, Francois BERENGER < beren...@bioreg.kyushu-u.ac.jp> wrote: > > I am afraid that in AllChem.GetConfomerRMSD: one doesn't get the RMSD > between the two conformers but an upper bound of it. > The documentation to this function is misleading: In [21]: AllChem.GetConformerRMS? Signature: AllChem.GetConformerRMS(mol, confId1, confId2, atomIds=None, prealigned=False) Docstring: Returns the RMS between two conformations. By default, the conformers will be aligned to the first conformer of the molecule (i.e. the reference) before RMS calculation and, as a side-effect, will be left in the aligned state. Arguments: - mol:the molecule - confId1:the id of the first conformer - confId2:the id of the second conformer - atomIds:(optional) list of atom ids to use a points for alingment - defaults to all atoms - prealigned: (optional) by default the conformers are assumed be unaligned and will therefore be aligned to the first conformer The alignment is done to the first conformer (i.e confId1).[1] Here's a demonstration of that: In [31]: AllChem.GetConformerRMS(m,0,1,prealigned=True) Out[31]: 9.1593890932638349 In [32]: AllChem.GetConformerRMS(m,0,2,prealigned=True) Out[32]: 3.8219771356556071 In [33]: AllChem.GetConformerRMS(m,1,2,prealigned=True) Out[33]: 8.597878324406647 In [34]: AllChem.GetConformerRMS(m,1,2) Out[34]: 1.1067869816465845 # conformer 2 is now aligned to conformer 1 In [35]: AllChem.GetConformerRMS(m,0,1,prealigned=True) Out[35]: 9.1593890932638349 # the RMS between confs 0 and 1 hasn't changed In [36]: AllChem.GetConformerRMS(m,0,2,prealigned=True) Out[36]: 9.4691776880629508 # the RMS between confs 0 and 2 has changed I will clean that documentation up. -greg [1] since that's a "conformer of the molecule" the documentation isn't actually wrong, but it's misleading enough to be effectively wrong. > > I understand from the doc that if they are aligned, they are aligned > to the first conformer of the molecule. > > To get the real RMSD between two conformers, they must > be superimposed together, not to a third conformer. > > Please tell me if I'm wrong. > > Regards, > F. > > > -- > 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 > -- 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
[Rdkit-discuss] AllChem.GetConformerRMSD: this is not RMSD between two conformers but an upper bound of it
Hello, I am afraid that in AllChem.GetConfomerRMSD: one doesn't get the RMSD between the two conformers but an upper bound of it. I understand from the doc that if they are aligned, they are aligned to the first conformer of the molecule. To get the real RMSD between two conformers, they must be superimposed together, not to a third conformer. Please tell me if I'm wrong. Regards, F. -- 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