Re: [Open Babel] Structure is not tanimoto similar to itself

2012-07-12 Thread Chris Morley
On 09/07/2012 20:59, Jeff Janes wrote:
 If I make a file foo.smi with just this in it:

 [N-]=[N+]=c1c(=O)ccc2=c1c(=O)c1c1c2=O

 And then make and use an index file:

 ~/openbabel/bin/obabel foo.smi -ofs
 ~/openbabel/bin/obabel foo.fs  -ocan  -sfoo.smi -at5 -aa --title 

 I find that the structure is only 0.7 similar to itself.

The problem is the [N-]=[N+]= structure, which could also be written 
[N]#[N]= . When indexing, dative bonds like these are converted into the 
second form. So when searching the target should also be in this form.

   obabel foo.smi -O foo1.smi -b
   1 molecule converted

   obabel foo.fs  -ocan  -sfoo1.smi -at5 -aa --title 
   [N-]=[N+]=c1c(=O)ccc2=c1c(=O)c1c1c2=O   1
   1 molecule converted

It has proved difficult to find a suitable user interface for this that 
does not interfere with other features, especially as the charged form 
is the more common one. Originally the target molecule was also 
automatically converted; this may be a better way. In the meantime I 
will add a note to the documentation.

Chris



--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


Re: [Open Babel] OBPointGroup in Python

2012-07-12 Thread Geoff Hutchison
 I've recently been writing some code to automatically write GAMESS input 
 files for me. As these files require a point group it would be advantageous 
 to determine this automatically from a geometry. Unfortunately I'm having 
 some difficulty accessing the OBPointGroup class with the python bindings. 
 I'm not sure if this is a problem with how i'm trying to access the class or 
 a bug in the python bindings. I would greatly appreciate any help or advise 
 you can offer.

It's simple enough to add the OBPointGroup to the python bindings, but it won't 
be enough.  I'd also like to see GAMESS input files with automatic point groups.

The problem is that GAMESS expects a particular frame of reference once you've 
specified, say C2V, and also expects only the symmetry-unique atoms. The 
OBPointGroup code is not yet at that level of sophistication. (Indeed, I think 
I may need to use a different implementation that was given to me -- I'm happy 
if someone wants to adapt it.)

Sorry I can't be more help,
-Geoff
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


Re: [Open Babel] OBPointGroup in Python

2012-07-12 Thread Edward Holland

Hi Geoff,

Thanks for the response. Is it not possible to rotate the molecule into the 
correct frame once you have determined its point group? 

Yours

Ed

On 12 Jul 2012, at 13:12, Geoff Hutchison wrote:

 I've recently been writing some code to automatically write GAMESS input 
 files for me. As these files require a point group it would be advantageous 
 to determine this automatically from a geometry. Unfortunately I'm having 
 some difficulty accessing the OBPointGroup class with the python bindings. 
 I'm not sure if this is a problem with how i'm trying to access the class or 
 a bug in the python bindings. I would greatly appreciate any help or advise 
 you can offer.
 
 It's simple enough to add the OBPointGroup to the python bindings, but it 
 won't be enough.  I'd also like to see GAMESS input files with automatic 
 point groups.
 
 The problem is that GAMESS expects a particular frame of reference once 
 you've specified, say C2V, and also expects only the symmetry-unique atoms. 
 The OBPointGroup code is not yet at that level of sophistication. (Indeed, I 
 think I may need to use a different implementation that was given to me -- 
 I'm happy if someone wants to adapt it.)
 
 Sorry I can't be more help,
 -Geoff


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


[Open Babel] Weighted-rotor search

2012-07-12 Thread scott_m
Is it possible to do a weighted rotor search in pybel? I have been using
openbabel and the WeightedRotorSearch function. I couldn't find any simple
example online and wanted to find out if the approach below is ok and if
anyone would advise changes. Am I right in saying that the mol is updated to
the best conformer and this is what will be written to the output file?


import openbabel
filename = 'test.mol2'

mol = openbabel.OBMol()
conversion = openbabel.OBConversion()
conversion.SetInAndOutFormats('mol2', 'mol2')
conversion.ReadFile(mol, filename)

ff = openbabel.OBForceField.FindForceField(MMFF94)
ff.SetLogLevel(openbabel.OBFF_LOGLVL_LOW)
ff.SetLogToStdErr()
ff.Setup(mol)

ff.WeightedRotorSearch(5, 500)
ff.GetConformers(mol)
conversion.WriteFile(mol, 'TEST1.mol2')
  

One thing I notice with a calculation, was that the lowest energy did not
match any of the conformer energies (see below). Is this an error?

CONFORMER ENERGY

 1   192.047
 2   212.909
 3   234.580
 4   216.623
 5   211.296

  LOWEST ENERGY:  191.771


Thanks in advance,

Scott


--
View this message in context: 
http://forums.openbabel.org/Weighted-rotor-search-tp4655264.html
Sent from the General discussion mailing list archive at Nabble.com.

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


Re: [Open Babel] OpenCL

2012-07-12 Thread ovalerio

Hi Chris,

On 12.07.2012 13:16, Geoff Hutchison wrote:
I've just seen a demo of the impact of running applications on the 
GPU and it does seem for some operations you can get striking 
performance gains. Would it be worth considering porting openbabel to 
OpenCL?


Much like muti-threading, it's not clear how some operations in Open
Babel would work in OpenCL.


As Geoff points out they are couple of factors to consider in this 
regard. Sometimes making algorithmic changes can boost performance even 
more than going the GPU way. In my case however, I'm interested in 
optimization through parallel approaches. That's why I'm researching on 
GPU and I will be very glad to hear whatever ideas you might have.




That said, there are certain types of code which make clear sense as
multi-threaded and/or OpenCL, for example the force fields and
conformer generation code, or the charge assignment. There's actually
a student in Ireland sponsored by Noel who's investigating this as we
speak. (You may have seen some posts from Omar already.)



I have look at force fields and conformer generation codes since they 
are both related. When you are doing conformational search you also need 
to asses the energy of the conformer to decide if you are going to keep 
it. Improving forcefields calculation should also improve performance 
for conformer generation.


Conformer generation also looks promising, Attached you can find a plot 
of the time spent generating conformers for several different drug like 
molecules using Confab [1]. I used the optimized Borodina set that you 
can get from Confab's article [2].  As you can appreciate from the plot 
as the number of conformers involved increases, execution times for 
conformational search increases noticeably. I will be happy if I can 
shave those numbers by a half factor offloading some operations to the 
GPU.


Cheers,
--
Omar

[1] Confab -  http://confab.googlecode.com/
[2] Confab Article (Borodina Optimized Set) - 
http://www.jcheminf.com/content/3/1/8


conformers_vs_generation_time.png
Description: Binary data
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss