Re: [Rdkit-discuss] AllChem.GetConformerRMSD: this is not RMSD between two conformers but an upper bound of it

2017-06-15 Thread Brian Kelley
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

2017-06-15 Thread Brian Kelley
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

2017-06-15 Thread Greg Landrum
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

2017-06-14 Thread Francois BERENGER

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