> such as "FS(F)(F)(F)(F)F": two of the fluorine atoms are superposed, ... > (as well as a missed opportunity for a warning in avogadro): the
I think there are a few things going on here. I thought I got all of these bugs, but you clearly found a few more. ;-) In Open Babel, the force field implementations need a better penalty on superimposed atoms, particularly for the angular terms. This is particularly true for UFF, where people are more likely to impose strange valences. > Does it make sense to have new GetHyb() values, and if so, are 4 and 5 > the right choices? Yes, it does make sense to have new hybridization values above 3. However, I'd use "5" for pentavalent (e.g., PF5), and "6" for octahedral, with "4" reserved for square planar (i.e., Pt, Pd, Cu, etc.). It gets harder above this, since heavy elements like U can take very high valences. My guess is for these cases, it's probably OK for GetHyb() to return 0 as "unknown" and position atoms randomly. If someone cares about chiral uranium complexes, they probably already have the 3D coordinates for it. I'll admit that hybridization above 3 has long been on my todo list, so I'm a bit embarrassed but also happy that you got it first. > Are there hypervalent molecules with double bonds > which are not tetrahedral in shape (my understanding is H3PO4 is > tetrahedral around the P atom)? (Again going on wikipedia, sulfur > trioxide might be planar, but the UFF optimisation disagrees. This is > potentially a bug in the UFF implementation). Xenon isn't tetrahedral and XeOF4 is a semi-common VSEPR example. There are probably some octahedral examples (e.g. SOF4 perhaps?). I'll have to check the SO3 bug you filed. To be honest, classic UFF doesn't do well with hypervalent molecules, but I knew teachers would want the basic VSEPR rules enforced. So the Open Babel implementation has some heuristics to override the UFF typing rules. There's also some code in there which attempts to do pentavalent species correctly. If you're willing to help test out some of the common and less-common VSEPR examples using Avogadro and OB, I'm definitely interested in cleaning up any remaining bugs. I guess one other issue is that there's still code in atom.cpp:OBAtom::GetNewBondVector that should be switched to use the new OBBuilder code. This would improve issues with implicit hydrogen atoms and hypervalent molecules. Thanks very much, -Geoff ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ OpenBabel-Devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbabel-devel
