Doh -- of course ... THANKS

any comments about the second part of my query?

"Also, any ideas what the energy units returned from ff.CalcEnergy() are?"

The UFF values vary wildly from the ones offered by obenergy using UFF
forcefield (this doesn't mean they are wrong of course, just want to
understand why)

OBenergy UFF (kJ/mol)
TOTAL ENERGY = 603.32957 kJ/mol
TOTAL ENERGY = 582.35037 kJ/mol
TOTAL ENERGY = 483.29385 kJ/mol
TOTAL ENERGY = 504.88763 kJ/mol
TOTAL ENERGY = 555.16601 kJ/mol
TOTAL ENERGY = 579.55593 kJ/mol
TOTAL ENERGY = 581.58096 kJ/mol
TOTAL ENERGY = 557.90448 kJ/mol
TOTAL ENERGY = 532.21012 kJ/mol
TOTAL ENERGY = 503.59585 kJ/mol

RDKit Calc Energy (UFF) for exactly the same molecules...
16700300.472
154163.203
132597.990
124078.437
140688.066
4863030.479
20278658.428
3690505.452
145837.684
150862.539

Some of the values I see for other molecules are huge - 4083891061152.739
(but this is not the case when I use obenergy to calculate the energy
values)

Cheers

-
Jean-Paul Ebejer
Early Stage Researcher


On 13 January 2012 13:11, Stiefl, Nikolaus <[email protected]>wrote:

>  Hi JP,****
>
> ** **
>
> When you generate a mol from a smiles I don’t think a conformer is added
> by default.****
>
> ** **
>
> So you have to do this yourself:****
>
> ** **
>
> molecule = Chem.MolFromSmiles('CCCC')****
>
> mol_h = AllChem.AddHs(molecule)****
>
> mol_h.AddConformer(Chem.Conformer(mol_h.GetNumAtoms()))****
>
> ff = AllChem.UFFGetMoleculeForceField(mol_h)****
>
> energy_value = str(ff.CalcEnergy())****
>
> print energy_value****
>
> ** **
>
> Should at least get rid of the error ... not that the above code is tested
> ... plus it obviously doesn’t make any sense since all coordinates will be
> 0.0 L****
>
> ** **
>
> Ciao****
>
> Nik****
>
> ** **
>
> ** **
>
> *From:* JP [mailto:[email protected]]
> *Sent:* Friday, January 13, 2012 1:07 PM
> *To:* [email protected]
> *Subject:* [Rdkit-discuss] UFF energy question(s)...****
>
> ** **
>
> ** **
>
> Hi there, (using RDKit 2011.09.01)****
>
> ** **
>
> Any ideas why ****
>
> ** **
>
> molecule = Chem.MolFromSmiles('CCCC')****
>
> mol_h = AllChem.AddHs(molecule)****
>
> ff = AllChem.UFFGetMoleculeForceField(mol_h)****
>
> energy_value = str(ff.CalcEnergy())****
>
> print energy_value****
>
> ** **
>
> Gives me:****
>
> ** **
>
> Traceback (most recent call last):****
>
>   File "./energy_test.py", line 8, in <module>****
>
>     ff = AllChem.UFFGetMoleculeForceField(mol_h)****
>
> ValueError: Bad Conformer Id****
>
> ** **
>
> There are no conformers in the molecule - so the default (implicit) confId
> -1 should do the work no?****
>
> This code somehow works when I use suppliers...****
>
> ** **
>
> Also, any ideas what the energy units returned from ff.CalcEnergy() are?
>  They must be in calories (not K/cal) as they are massive.  Correct?****
>
>
> -
> Jean-Paul Ebejer
> Early Stage Researcher****
>
------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to