Skip to main content

lone pair rendering

JCP now has minimal lone pair display. I would prefer the layout to be at the corners of a square, rather than on the edges. Videlicet, they are currently only at N, W, S, E; I think that NW, SW, SW, and NE would be better.

Strangely lone pairs don't seem to appear in CML files when written out, but Egon says he will look at this. Perhaps I should file a bug report...
Oh, and radicals are implemented too, but I don't have a picture of that (see right). They are in different generators, but I guess a single 'DotGenerator' could do both :)

Comments

Kirill said…
According to this IUPAC Recommendations (section GR-5.2 Lone pairs):
Isolated lone pairs should be positioned, like unpaired electrons, close to the atom with which they are associated. They should normally be positioned exactly above, below, to the left, or to the right of the atom label, with the two dots of the lone pair parallel to the closest side (horizontally if above or below the label, vertically if to the left or the right). Positioning of lone pairs at other angles should be strongly avoided unless it is impossible to do otherwise.
To illustrate the latter point, there is an example of ClF3 where two lone pairs are shown to NE and SE of Cl atom.
Kirill said…
Do they (lone pairs) actually have to be present in CML file? I think this is a matter of representation / style. The lone pair in ammonia is there irrespectively of whether we want to see it or not.
gilleain said…
wow - I didn't know there were so many ways to get a chemical diagram wrong! :)

That looks like a very useful document, thanks.

I had assumed that the lone pair should be drawn where a bond would be. So an COH would have a trigonal planar structure...

This is true that lone pairs are implicit. I was distracted by the fact that the CDK requires there to be an explicit lone pair object attached to an atom.

I guess the situation is a lot like hydrogens, actually.
Gillean, looks great!

Kirill, the LPs are there always, sure. However, diagrams are somewhat special, where you might want to put focus on some lone pairs, not all. For example, those involved in a reaction. This is why one would be interested in serializing this to CML.

Regarding the oxygen lone pairs... it actually has two lone pairs, and the diagram chooses to show only one...
Kirill said…
Sure, it would be great to show where lone pair is, especially if that adds clarity to the sketch. Another IUPAC Recommendations (you see, I am promoting my own work here), p. 1942, top, show two examples of trigonal pyramidal confuguration due to lone pair. If you do not draw this lone pair, you may not even realise that sulfur and phosphorus are chiral atoms there.

Popular posts from this blog

Adamantane, Diamantane, Twistane

After cubane, the thought occurred to look at other regular hydrocarbons. If only there was some sort of classification of chemicals that I could use look up similar structures. Oh wate, there is . Anyway, adamantane is not as regular as cubane, but it is highly symmetrical, looking like three cyclohexanes fused together. The vertices fall into two different types when colored by signature: The carbons with three carbon neighbours (degree-3, in the simple graph) have signature (a) and the degree-2 carbons have signature (b). Atoms of one type are only connected to atoms of another - the graph is bipartite . Adamantane connects together to form diamondoids (or, rather, this class have adamantane as a repeating subunit). One such is diamantane , which is no longer bipartite when colored by signature: It has three classes of vertex in the simple graph (a and b), as the set with degree-3 has been split in two. The tree for signature (c) is not shown. The graph is still bipartite accordin

1,2-dichlorocyclopropane and a spiran

As I am reading a book called "Symmetry in Chemistry" (H. H. Jaffé and M. Orchin) I thought I would try out a couple of examples that they use. One is 1,2-dichlorocylopropane : which is, apparently, dissymmetric because it has a symmetry element (a C2 axis) but is optically active. Incidentally, wedges can look horrible in small structures - this is why: The box around the hydrogen is shaded in grey, to show the effect of overlap. A possible fix might be to shorten the wedge, but sadly this would require working out the bounds of the text when calculating the wedge, which has to be done at render time. Oh well. Another interesting example is this 'spiran', which I can't find on ChEBI or ChemSpider: Image again courtesy of JChempaint . I guess the problem marker (the red line) on the N suggests that it is not a real compound? In any case, some simple code to determine potential chiral centres (using signatures) finds 2 in the cyclopropane structure, and 4 in the

General Graph Layout : Putting the Parts Together

An essential tool for graph generation is surely the ability to draw graphs. There are, of course, many methods for doing so along with many implementations of them. This post describes one more (or perhaps an existing method - I haven't checked). Firstly, lets divide a graph up into two parts; a) the blocks, also known as ' biconnected components ', and b) trees connecting those blocks. This is illustrated in the following set of examples on 6 vertices: Trees are circled in green, and blocks in red; the vertices in the overlap between two circles are articulation points. Since all trees are planar, a graph need only have planar blocks to be planar overall. The layout then just needs to do a tree layout  on the tree bits and some other layout on the embedding of the blocks. One slight wrinkle is shown by the last example in the image above. There are three parts - two blocks and a tree - just like the one to its left, but sharing a single articulation point. I had