Skip to main content


Showing posts from May, 2011

External Symmetry Numbers and Graph Automorphism Groups

So, there was a question on BioStar about calculating the 'external symmetry number' of a molecule - something I hadn't heard of, but turns out to be something like the subgroup of rotations and reflections of the automorphism group of a graph. Since I have some code to calculate the automorphism group, I naïvely thought it would be simple...
The questioner - Nick Vandewiele - kindly provided some test cases, which ended up as this code. Although many of these tests now pass, they only do so because I commented out the hydrogen adding! :)
On the one hand, there are some recent improvements that try to handle vertex and edge 'colors' - in other words, element symbols and bond orders. For example, consider the improbable molecule C1OCO1 : These are the three permutations that leave the carbons and the oxygens in the same positions; when you include the identity, that makes 4. Cyclobutane (without hydrogens!) has a symmetry group of order 8. Similarly, cyclobutadiene now…