Algorithm behind GaussView 5.0 Clean function?


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.


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.


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