[Rdkit-discuss] UFFOptimizeMolecule Question

2011-04-04 Thread JP
Does this AllChem.UFFOptimizeMolecule(mol_h) optimize all the
conformers present in mol_h ?

The documentation is vague:
http://www.rdkit.org/Python_Docs/rdkit.Chem.AllChem-module.html#UFFOptimizeMolecule

Thanks
JP

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


Re: [Rdkit-discuss] Beta of Q1 2011 Release Available

2011-04-04 Thread James Davidson
Hi Greg - great news about the beta / new functionality!

> Greg wrote:
> This morning I tagged the beta for the Q1 2011 (2011.03 in the new
> numbering) release in svn:
> http://rdkit.svn.sourceforge.net/viewvc/rdkit/tags/Release_201
> 1_03_1beta1/
> 
> and uploaded a source distribution to the google code site:
> http://code.google.com/p/rdkit/downloads/detail?name=RDKit_201
> 1_03_1beta1.tgz
> If there's demand for it, I will also put up a windows binary.

As usual, "yes, please" for a python 2.6 windows binary if possible  : )

Kind regards

James

__
PLEASE READ: This email is confidential and may be privileged. It is intended 
for the named addressee(s) only and access to it by anyone else is 
unauthorised. If you are not an addressee, any disclosure or copying of the 
contents of this email or any action taken (or not taken) in reliance on it is 
unauthorised and may be unlawful. If you have received this email in error, 
please notify the sender or postmas...@vernalis.com. Email is not a secure 
method of communication and the Company cannot accept responsibility for the 
accuracy or completeness of this message or any attachment(s). Please check 
this email for virus infection for which the Company accepts no responsibility. 
If verification of this email is sought then please request a hard copy. Unless 
otherwise stated, any views or opinions presented are solely those of the 
author and do not represent those of the Company.

The Vernalis Group of Companies
Oakdene Court
613 Reading Road
Winnersh, Berkshire
RG41 5UA.
Tel: +44 118 977 3133

To access trading company registration and address details, please go to the 
Vernalis website at www.vernalis.com and click on the "Company address and 
registration details" link at the bottom of the page..
__

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


Re: [Rdkit-discuss] UFFOptimizeMolecule Question

2011-04-04 Thread Greg Landrum
On Mon, Apr 4, 2011 at 3:17 PM, JP  wrote:
> Does this AllChem.UFFOptimizeMolecule(mol_h) optimize all the
> conformers present in mol_h ?

It just optimizes a single conformer.

Since it might be interesting, here's how I answered that question:

[1]>>> from rdkit import Chem

[2]>>> from rdkit.Chem import AllChem

[3]>>> m = Chem.MolFromSmiles('CC')

[4]>>> mh = Chem.AddHs(m)

[5]>>> AllChem.EmbedMultipleConfs(mh,10)
Out[5] 

[6]>>> mh.GetNumConformers()
Out[6] 10

[7]>>> print Chem.MolToMolBlock(mh,confId=0)
-> print(Chem.MolToMolBlock(mh,confId=0))

 RDKit  3D

  8  7  0  0  0  0  0  0  0  0999 V2000
   -0.7598   -0.0046   -0.0515 C   0  0  0  0  0  0  0  0  0  0  0  0
0.7378   -0.03480.0054 C   0  0  0  0  0  0  0  0  0  0  0  0
   -1.1359   -0.18480.9895 H   0  0  0  0  0  0  0  0  0  0  0  0
   -1.07371.0224   -0.3246 H   0  0  0  0  0  0  0  0  0  0  0  0
   -1.2022   -0.7902   -0.6806 H   0  0  0  0  0  0  0  0  0  0  0  0
1.05400.90020.5419 H   0  0  0  0  0  0  0  0  0  0  0  0
1.22770.0246   -0.9876 H   0  0  0  0  0  0  0  0  0  0  0  0
1.1520   -0.93290.5076 H   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0
  1  3  1  0
  1  4  1  0
  1  5  1  0
  2  6  1  0
  2  7  1  0
  2  8  1  0
M  END


[8]>>> print Chem.MolToMolBlock(mh,confId=1)
-> print(Chem.MolToMolBlock(mh,confId=1))

 RDKit  3D

  8  7  0  0  0  0  0  0  0  0999 V2000
   -0.7524   -0.07790.0214 C   0  0  0  0  0  0  0  0  0  0  0  0
0.74510.0137   -0.0773 C   0  0  0  0  0  0  0  0  0  0  0  0
   -1.1939   -0.8209   -0.6615 H   0  0  0  0  0  0  0  0  0  0  0  0
   -1.13670.9473   -0.2152 H   0  0  0  0  0  0  0  0  0  0  0  0
   -1.0496   -0.35681.0611 H   0  0  0  0  0  0  0  0  0  0  0  0
1.07740.6281   -0.9534 H   0  0  0  0  0  0  0  0  0  0  0  0
1.05630.61930.8159 H   0  0  0  0  0  0  0  0  0  0  0  0
1.2538   -0.95280.0090 H   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0
  1  3  1  0
  1  4  1  0
  1  5  1  0
  2  6  1  0
  2  7  1  0
  2  8  1  0
M  END

[9]>>> AllChem.UFFOptimizeMolecule(mh)
Out[9] 0

[10]>>> print Chem.MolToMolBlock(mh,confId=0)
--> print(Chem.MolToMolBlock(mh,confId=0))

 RDKit  3D

  8  7  0  0  0  0  0  0  0  0999 V2000
   -0.75920.0080   -0.0156 C   0  0  0  0  0  0  0  0  0  0  0  0
0.7592   -0.00800.0156 C   0  0  0  0  0  0  0  0  0  0  0  0
   -1.1643   -0.10201.0158 H   0  0  0  0  0  0  0  0  0  0  0  0
   -1.12310.9691   -0.4441 H   0  0  0  0  0  0  0  0  0  0  0  0
   -1.1379   -0.8312   -0.6419 H   0  0  0  0  0  0  0  0  0  0  0  0
1.13790.83120.6419 H   0  0  0  0  0  0  0  0  0  0  0  0
1.16430.1020   -1.0158 H   0  0  0  0  0  0  0  0  0  0  0  0
1.1231   -0.96910.4442 H   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0
  1  3  1  0
  1  4  1  0
  1  5  1  0
  2  6  1  0
  2  7  1  0
  2  8  1  0
M  END


[11]>>> print Chem.MolToMolBlock(mh,confId=1)
--> print(Chem.MolToMolBlock(mh,confId=1))

 RDKit  3D

  8  7  0  0  0  0  0  0  0  0999 V2000
   -0.7524   -0.07790.0214 C   0  0  0  0  0  0  0  0  0  0  0  0
0.74510.0137   -0.0773 C   0  0  0  0  0  0  0  0  0  0  0  0
   -1.1939   -0.8209   -0.6615 H   0  0  0  0  0  0  0  0  0  0  0  0
   -1.13670.9473   -0.2152 H   0  0  0  0  0  0  0  0  0  0  0  0
   -1.0496   -0.35681.0611 H   0  0  0  0  0  0  0  0  0  0  0  0
1.07740.6281   -0.9534 H   0  0  0  0  0  0  0  0  0  0  0  0
1.05630.61930.8159 H   0  0  0  0  0  0  0  0  0  0  0  0
1.2538   -0.95280.0090 H   0  0  0  0  0  0  0  0  0  0  0  0
  1  2  1  0
  1  3  1  0
  1  4  1  0
  1  5  1  0
  2  6  1  0
  2  7  1  0
  2  8  1  0
M  END

Best,
-greg

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


[Rdkit-discuss] Energy? (and how to get 10 representative conformers from a group of 50)

2011-04-04 Thread JP
Hi there,

I am doing a UFFOptimizeMolecule - to optimize a molecule - is it
possible to get the final energy value for this?

Details:  I have a list of 50 conformers and I would like to sample
the conformational space (I do not want to have lots of similar
conformers).
I though I could find the 50 energy values, cluster in say 6 groups
and sample from each (different) group.

Do you see any problems with this approach ?



-- 

Jean-Paul Ebejer
Early Stage Researcher
InhibOx Ltd
Pembroke House
36-37 Pembroke Street
Oxford
OX1 1BP
UK
(+44 / 0) 1865 262 034


This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. Any unauthorised dissemination or copying of this email
or its attachments, and any use or disclosure of any information
contained in them, is strictly prohibited and may be illegal.  If you
have received this email in error please notify the sender and delete
all copies from your system.

We and our group companies accept no liability or responsibility for
personal emails or emails unconnected with our business.

Internet communications including emails and access and use of web
sites cannot be guaranteed to be secure or error free as information
can be intercepted, corrupted, lost or arrive late. Furthermore, while
we have taken steps to control the spread of viruses on our systems,
we cannot guarantee that this email and any files transmitted with it
are virus free. No liability is accepted for any errors, omissions,
interceptions, corrupted mail, lost communications or late delivery
arising as a result of receiving this message via the Internet or for
any virus that may be contained in it.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


[Rdkit-discuss] RMS vs RMSD

2011-04-04 Thread JP
Sorry for the repeated emails/questions.

I am a bit confused about the RMS usage in RDKit.

When comparing two different structures you can easily get an RMSD
score (as the delta takes the difference between the coordinates from
one structure to the other -
http://en.wikipedia.org/wiki/Root_mean_square_deviation_(bioinformatics)).

But how does the RMS work? As far as I can see it is a value based on
one structure only (http://en.wikipedia.org/wiki/Root_mean_square).
There must be a numerical relationship between the two.

How do these two relate and how are they used in RDKit.
Specifically I am interested in pruneRmsThres in
http://rdkit.org/Python_Docs/rdkit.Chem.rdDistGeom-module.html#EmbedMultipleConfs

many thanks
JP

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


[Rdkit-discuss] Bond-type perception.

2011-04-04 Thread Jacco van de Streek
Dear Greg,

we have started using RDKit today. We would like to use RDKit to
perceive bond types, even for topological molecules without 3D
coordinates. We tried to do this by creating an RWMol object for methane
consisting of one carbon and four hydrogen atoms, with four C-H bonds
all of type Bond::UNSPECIFIED. The atoms do not have 3D coordinates, so
this is a topological model. We then called sanitizeMol() and
constructed an ROMol from the RWMol. When we then wrote the smiles
representation of the ROMol to screen, however, the bond types were
still Bond::UNSPECIFIED.

Any thoughts?

Best wishes,
-- 
Dr Jacco van de Streek
Senior Scientist
Avant-garde Materials Simulation
Freiburg im Breisgau, Germany


--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


[Rdkit-discuss] Question based on some code... RMS

2011-04-04 Thread JP
Can anyone explain why the conformer RMS values which are printed out
are all smaller than 1.0?
I am pruning using the pruneRmsThresh (=1.0) variable in
EmbedMultipleConfs method so I was expecting this would not happen.
I am expecting to see values > 1.0 since they should be at least this
distance from the first conformer so not to be pruned

# usual imports
from rdkit import Chem
from rdkit.Chem import AllChem

# generate a mol
mol = Chem.MolFromSmiles('O=CCC=O')
# add hydrogens
mol_h = AllChem.AddHs(mol)
# notice the prune threshold - set to 1.0 RMS...
conformation_ids = AllChem.EmbedMultipleConfs(mol_h, numConfs=50,
pruneRmsThresh=1.0)

for i in range(mol_h.GetNumConformers()):
# match the first (original) conformer to the rest
rms = AllChem.GetBestRMS(mol_h, mol_h, 0, i)
# why are these all smaller than the 1.0 I set earlier??!!
print(rms)


Where am I wrong?

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


Re: [Rdkit-discuss] Bond-type perception.

2011-04-04 Thread Greg Landrum
Dear Jacco,

On Mon, Apr 4, 2011 at 6:48 PM, Jacco van de Streek
 wrote:
> Dear Greg,
>
> we have started using RDKit today. We would like to use RDKit to
> perceive bond types, even for topological molecules without 3D
> coordinates. We tried to do this by creating an RWMol object for methane
> consisting of one carbon and four hydrogen atoms, with four C-H bonds
> all of type Bond::UNSPECIFIED. The atoms do not have 3D coordinates, so
> this is a topological model. We then called sanitizeMol() and
> constructed an ROMol from the RWMol. When we then wrote the smiles
> representation of the ROMol to screen, however, the bond types were
> still Bond::UNSPECIFIED.
>
> Any thoughts?

I'm not quite sure what you're trying to do. Aside from recognizing
aromaticity, the RDKit does not do any bond perception; it assumes
that bond types are set properly in the input molecules. So if you
want to build methane, you need to set the four C-H bonds to type
Bond::SINGLE.

Best Regards,
-greg

--
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


Re: [Rdkit-discuss] Beta of Q1 2011 Release Available

2011-04-04 Thread Greg Landrum
On Mon, Apr 4, 2011 at 3:29 PM, James Davidson  wrote:
>>
>> and uploaded a source distribution to the google code site:
>> http://code.google.com/p/rdkit/downloads/detail?name=RDKit_201
>> 1_03_1beta1.tgz
>> If there's demand for it, I will also put up a windows binary.
>
> As usual, "yes, please" for a python 2.6 windows binary if possible  : )

It's up now:
http://code.google.com/p/rdkit/downloads/detail?name=RDKit_2011_03_1beta1.win32.ziip

Best,
-greg

--
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


Re: [Rdkit-discuss] RMS vs RMSD

2011-04-04 Thread Greg Landrum
Dear JP,

On Mon, Apr 4, 2011 at 6:27 PM, JP  wrote:
> Sorry for the repeated emails/questions.

No worries, that's what the list is for. :-)

> I am a bit confused about the RMS usage in RDKit.
>
> When comparing two different structures you can easily get an RMSD
> score (as the delta takes the difference between the coordinates from
> one structure to the other -
> http://en.wikipedia.org/wiki/Root_mean_square_deviation_(bioinformatics)).
>
> But how does the RMS work? As far as I can see it is a value based on
> one structure only (http://en.wikipedia.org/wiki/Root_mean_square).
> There must be a numerical relationship between the two.
>
> How do these two relate and how are they used in RDKit.
> Specifically I am interested in pruneRmsThres in
> http://rdkit.org/Python_Docs/rdkit.Chem.rdDistGeom-module.html#EmbedMultipleConfs

The use of RMS in the names of functions/function arguments in the
RDKit should probably be viewed as a bug. It's a lazy shorthand for
RMSD (root mean squared distance).
Unfortunately actually fixing the nomenclature would change the API,
which would breaking a lot of code, so we may be stuck with it as is.
I can/should certainly fix the doc strings to make this more clear.

-greg

--
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


Re: [Rdkit-discuss] Energy? (and how to get 10 representative conformers from a group of 50)

2011-04-04 Thread Greg Landrum
Dear JP,

On Mon, Apr 4, 2011 at 5:28 PM, JP  wrote:
> Hi there,
>
> I am doing a UFFOptimizeMolecule - to optimize a molecule - is it
> possible to get the final energy value for this?

You need to work directly with the force field if you want the energy:
>>> ff = AllChem.UFFGetMoleculeForceField(mol_h)
>>> ff.Minimize()
0#<- 0 means that the minimization converged
>>> ff.CalcEnergy()
1.3281838347010912
>>>

> Details:  I have a list of 50 conformers and I would like to sample
> the conformational space (I do not want to have lots of similar
> conformers).
> I though I could find the 50 energy values, cluster in say 6 groups
> and sample from each (different) group.
>
> Do you see any problems with this approach ?

Though conformations that have different energies will have different
structures, it is certainly possible to have similar energies and
different structures. A better way to do this would be to cluster the
conformations based on their RMSD to each other and then take
representatives. The RDKit has general-purpose code for picking
representatives from a set, take a look at section 5.5 of the Getting
Started in Python document. For this application you would need to
provide a different distij() function (one that calls
AllChem.GetBestRMS).

A note: the distance-geometry based conformation generator that the
RDKit uses has a tendency to produce pretty diverse conformations "out
of the box".

-greg

--
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss


Re: [Rdkit-discuss] Question based on some code... RMS

2011-04-04 Thread Greg Landrum
Dear JP,

On Mon, Apr 4, 2011 at 6:53 PM, JP  wrote:
> Can anyone explain why the conformer RMS values which are printed out
> are all smaller than 1.0?
> I am pruning using the pruneRmsThresh (=1.0) variable in
> EmbedMultipleConfs method so I was expecting this would not happen.
> I am expecting to see values > 1.0 since they should be at least this
> distance from the first conformer so not to be pruned

The difference is that the conformation-generation code isn't using
the best RMSD, as your code does, instead it's just using the standard
RMSD. You can see this by printing an additional value in your code:

#-
# usual imports
from rdkit import Chem
from rdkit.Chem import AllChem

# generate a mol
mol = Chem.MolFromSmiles('O=CCC=O')
# add hydrogens
mol_h = AllChem.AddHs(mol)
# notice the prune threshold - set to 1.0 RMS...
conformation_ids = AllChem.EmbedMultipleConfs(mol_h, numConfs=50,
pruneRmsThresh=1.0)

for i in range(mol_h.GetNumConformers()):
   # match the first (original) conformer to the rest
   rms = AllChem.AlignMol(mol_h, mol_h, 0, i)
   bestrms = AllChem.GetBestRMS(mol_h, mol_h, 0, i)
   print(rms,bestrms)
#-

The output from this is:
$ python script.py
(0.0, 0.0)
(1.3379167659438125, 0.60362436042913903)
(1.1782030519271443, 0.59622250108412145)
(1.2243862716355582, 0.30392328812710512)
(1.1984592787588044, 0.55143501013497576)
(1.0641915526094825, 0.68902440786535935)


Best,
-greg

--
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
___
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss