Algorithm behind GaussView 5.0 Clean function?


#1

I understand that this my question is off topic. Nevertheless I hope that – it being in the same field – it is interesting for others in the forum as well.

Anyhow, a colleague recently showed me GAUSSIAN 09. It comes with GaussView 5 for drawing structures. What impressed me was the snappiness of the Clean function. (menu Edit / Clean)

Any idea what algorithm may be used for the Clean function?

Background: As part of a project called SAN – Self Aware Network, I have a similar problem, though with additional constraints (chirality among others). To find the distribution of points in space, I implemented a genetic algorithm. Unfortunately, with large structures, this algorithm tends to get stuck in local minima. I documented the algorithm in the report SAN: Location Optimizer. A mathematician friend implemented a solution using gradient descend. Yesterday, he showed me some nice results, but it’s nowhere as snappy as GaussView.


#2

They likely use cheminformatic heuristics to cleanup the bonding patterns and add hydrogens and then optimize with a UFF-like force field. The RDKit community could probably supply further details.


#3

Thanks, have to look into UFF. I asume, though, that what is most interesting for me is the method of optimization.