Re: [OpenBabel-Devel] Ring conformations from builder

2017-07-27 Thread Geoffrey Hutchison
> I think the all-axial groups are the result of trying to configure as many 
> bonds as trans as possible.

Yes, exactly. So there needs to be a special case for ring bonds.

> By looking at the current code, it seems implementing the new DG method 
> wouldn't be incompatible with the perception of higher-order bond geometries.

No, not at all.

> Although, following up on the old discussion started by Noel, I'm suspecting 
> that specific section of the code could benefit by being rewritten to use 
> SMARTS (i.e., generic topologies of 5-bonded atoms), and remove all the "if" 
> statements.

The code probably needs better commenting, but I don't think that using SMARTS 
would be the way to go.

-Geoff
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel


Re: [OpenBabel-Devel] Ring conformations from builder

2017-07-26 Thread Stefano Forli

That's where I was looking at, but I wasn't sure.

I think the all-axial groups are the result of trying to configure as many bonds as trans 
as possible.


I've fiddled with RdKit for a while, and their geometry building method is extremely fast, 
thanks to all the lookup they do, I guess.


By looking at the current code, it seems implementing the new DG method wouldn't be 
incompatible with the perception of higher-order bond geometries.


Although, following up on the old discussion started by Noel, I'm suspecting that specific 
section of the code could benefit by being rewritten to use SMARTS (i.e., generic 
topologies of 5-bonded atoms), and remove all the "if" statements.


Thanks for the reply, Geoff.

S

On 07/26/2017 01:57 PM, Geoffrey Hutchison wrote:

I've tried looking into it to propose a possible solution, but I couldn't pin 
exactly
where this happens in the code.

...

I suspect the problem might be in builder.cpp, where the math for the bond 
angles is
computed, but where exactly I have no idea.



It's most likely here in GetNewBondVector()
https://github.com/openbabel/openbabel/blob/master/src/builder.cpp#L150

I suspect that the code that attempts to place alkyl chains correctly is the 
culprit -
can't find the exact line.

I've been playing with the DG and knowledge-based DG methods in RDKit more and 
would love
to have an OB equivalent. Greg's code is definitely better for 3D structure 
generation of
organics. (Not sure if they've handled all the square planar, octahedral, etc. 
cases that
are in OB, though.)

-Geoff


--

 Stefano Forli, PhD

 Assistant Professor
 Dept. of Integrative Structural
 and Computational Biology, MB-112A
 The Scripps Research Institute
 10550  North Torrey Pines Road
 La Jolla,  CA 92037-1000,  USA.

tel: +1 (858)784-2055
fax: +1 (858)784-2860
email: fo...@scripps.edu
http://www.scripps.edu/~forli/


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel


Re: [OpenBabel-Devel] Ring conformations from builder

2017-07-26 Thread Geoffrey Hutchison
> I've tried looking into it to propose a possible solution, but I couldn't pin 
> exactly where this happens in the code.
...
> I suspect the problem might be in builder.cpp, where the math for the bond 
> angles is computed, but where exactly I have no idea.


It's most likely here in GetNewBondVector()
https://github.com/openbabel/openbabel/blob/master/src/builder.cpp#L150 


I suspect that the code that attempts to place alkyl chains correctly is the 
culprit - can't find the exact line.

I've been playing with the DG and knowledge-based DG methods in RDKit more and 
would love to have an OB equivalent. Greg's code is definitely better for 3D 
structure generation of organics. (Not sure if they've handled all the square 
planar, octahedral, etc. cases that are in OB, though.)

-Geoff--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel


[OpenBabel-Devel] Ring conformations from builder

2017-07-26 Thread Stefano Forli
I've noticed a that when building unsaturated  6-membered rings with attached groups (e.g. 
"CC1CCC(C)CC1"), the result will have the groups systematically placed in axial position, 
instead of equatorial.


I've tried looking into it to propose a possible solution, but I couldn't pin exactly 
where this happens in the code.


I know that the ring conformation is built from the fragments.txt, but it that file there 
isn't any information about atoms other than those constituting the ring (as far as I can 
tell).


I suspect the problem might be in builder.cpp, where the math for the bond angles is 
computed, but where exactly I have no idea.


The issue becomes a problem when there are more than a handful of molecules to process, 
because geometries must be corrected by hand (unless there is an ob.method that can be 
used for that).


Any insights on how to deal with it?

Thanks,

S





--

 Stefano Forli, PhD

 Assistant Professor
 Dept. of Integrative Structural
 and Computational Biology, MB-112A
 The Scripps Research Institute
 10550  North Torrey Pines Road
 La Jolla,  CA 92037-1000,  USA.

tel: +1 (858)784-2055
fax: +1 (858)784-2860
email: fo...@scripps.edu
http://www.scripps.edu/~forli/


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel