How to optimize the molecular geometry under PyMol?

I already now about the Optimize.py plugin, which seems to be working well, but I don't see an option to prevent it from changing double bonds to single ones. If Optimize isn't capable of such, how can I achieve a minimized molecule from a hand-built one?


*As far as I know Optimize uses Open Babel. I could imagine that the problem is, that it doesn't export the state of bonds at all.*




Disclaimer: I don't typically use PyMol, so I only made a quick look at the [Optimize.py script](https://github.com/Pymol-Scripts/Pymol-script-repo/blob/master/plugins/optimize.py).


You're right that the problem is with the bond orders. The Optimize.py script uses a PDB file as an intermediate representation that it sends to [Open Babel](http://openbabel.org/) for force field optimization and other properties.


The problem is that PDB does not support bond orders. So yes, you don't get double-bond information back, and I can't verify if Open Babel is getting bond orders from PyMol and Optimize.py.


I looked through the PyMol commands and it seems as if there's a way to write an MDL Molfile (which would have bond orders) but not read one - PDB is the only option for reading and writing in a PyMol script.


My suggestions:


* Either push the PyMol developers to support other formats (e.g., Sybyl .mol2 or MDL Mol) in the scripting commands.
* Use another program like [Avogadro](http://avogadro.cc/) to draw and optimize the geometry and export to read into PyMol later.


(Disclaimer: I'm an Avogadro and Open Babel developer, but there are many programs that could be used.)


 5