Dino is a molecular graphics program for "structural biology data" (as it says on the website...1) made by Ansgar Philippsen in Basel. It is very fancy (X windows, OpenGL) and runs on lots of architectures : IRIX, Linux, OSF1 and SunOS.

It is relevant that it is not a just a "molecule viewer" - it can apparently handle things like STM surfaces, vectors and so forth. It outputs stuff in png, ps and pov-ray. Fancy, like I said.

The interface is more like a 'real' molecular graphics program like O - multiple windows, molecule objects, dial box support etc. However, it is very clearly written by people with some computer science background. Subtle hints like the RPN feature, or the tcl like syntax, give it away.

Which brings us neatly to the major difficulty; the interface. Naturally it is command line driven (except for selecting objects to hide/display from a menu dialog). It is also very powerful, in that you can have a "recursive subprompt" - that is, a command that returns a value can be used inside another command :

scene center [.molecule]

This only makes sense if you know that ".molecule" will return the xyz co-ordinates of the center of the "molecule" dataset. You can also create objects (which are subsets of the dataset of atoms/things you loaded into the program) - and create them based on the selection of other objects. A particularly nice result of this is the ability to grow an object by starting with a seed and reapeatedly re-creating it from a selection from its center.

.dataset.object renew -sel NÅ<> [.dataset.object]

That is "renew the object as a new object containing everything within N Ångstroms of the center of the old object". Nice.

1 www.dino3d.org. All quote will be from there.