Warning : Abstraction!

This is a throwaway mathematical point, that I am not qualified to make, but it looks like three of the previous examples (diamantane, twistane, and cuneane) have a very abstract connection when colored by signature:

what I mean by this diagram is that diamantane has atoms colored by (a) connected to both other (a) atoms, and to (b) atoms. Its (c) atoms are only connected to (b)s; the arrows could well be double-headed, by the way.

The most complex situation is cuneane, where each 'type' of atom is connected to another in its type and to two in another type. Adamantane would just look like : (a)-(b).

Interesting, but it doesn't get the signature canonization methods debugged any faster...


Rich Apodaca said…
Gilleain, don't know what to make of it, but it looks interesting.

I'm curious - what are you planning on using your signature implementation for?
gilleain said…
Structure generation, mostly. They seem generally quite useful things, but for the moment, making structures is the goal.

This post :


has links to the relevant papers, and most of my recent posts have been examples in the form of recreating single structures from their exact signature.

The algorithm seems flexible enough that it can make an entire isomer space (like C4H10), or start from overlapping fragments.
Rich Apodaca said…
@Gilleain, what do you think of the possibility of using your code for molecular canonicalization (canonization?), i.e., converting equivalent molecular representations into a single form.
gilleain said…
Definitely. The molecular canonization is an essential part of the generation process.

Faulon's method relies on checking at each step that a generated structure is canonical. This allows the algorithm to avoid isomorphism checks.

In the paper that describes the algorithm, there are speed tests that are favourable with nauty.

The paper is here.