DINO: Visualizing Structural Biology
Table of Contents
User Manual

2 Overview

2.1 Structural Data

The different research fields generate different types of structural data. In x-ray crystallography, the experimental electron density is interpreted to yield a model with atomic coordinates and chemical connectivity. Structural NMR gives rise to an ensemble of structures, also in the form of atomic coordinates. Electron microscopy generates 2D images and reconstructed 3D density, while atomic force microscopy (AFM) offers surface topography information. Bioinformatics produces structural data as well: molecular dynamics and related methods in biophysical chemistry generate trajectories of atomic models or electrostatic potentials, other calculations result in the molecular or solvent accessible surface of a macromolecule.

DINO aims to combine the diverse structural data by implementing four different data types:

2.2 Startup

DINO supports a number of command line arguments:

dino [-s scriptfile] [-log logfile] [+log] [-nostereo] [-debug]

-s scriptfile: The file scriptfile is called immediately after startup, just as if @scriptfile had been entered as the first command.

- log logfile, +log : Per default, a file called logfile.dino is written out continuously with all issued commands. The name of the logfile can be changed with -log , or logging can be disabled completely with +log .

-nostereo : In certain situations in can be necessary to disable stereo detection.

-debug : will print out lots of debugging messages.

Upon startup, DINO will try to autodetect the stereo hardware and any additional input devices and print this along with the version info and the graphics hardware ID. A typical output might look like this:

Welcome to dino v0.8.0   (http://www.bioz.unibas.ch/~xray/dino)

HighEnd stereo detected
Dialbox detected
Spaceball detected
Graphics Subsystem ID: SGI RES/S/1/2
OpenGL Version 1.1


With the prompt awaiting input.

2.3 Concepts

2.3.1 Interaction

There are two levels of interaction with the program. One is via the graphical user interface, including the main graphics window and the object menu. The other is through the prompt, where commands can be typed in. The shell handles and interprets all typed input.

2.3.2 Dataset and Object

The data is loaded from a file into the program and is stored in memory. This memory block is called a dataset . From the dataset one or more objects are created, these objects appear on the graphics screen and can be interactively manipulated. A selection mechanism allows to specify only a subset of the data; this can be used during object creation or for modifying the objects (e.g. recoloring). A particularly powerful feature of the selection is called cross-selection, in which the selection is based on objects or properties from other datasets.


2.3.3 Special syntaxes


A color can be defined in two ways:

  • a color name as defined by the X-windows system. The UNIX command showrgb will list all available color names. A blank in the color name must be replaced with an underscore, e.g. light steel blue becomes light_steel_blue . Example: black white red blue green yellow cyan magenta medium_spring_green
  • an explicit rgb triplet in the form {r,g,b} , where r denotes the red component from 0 to 1, g the green component from 0 to 1 and b the blue component from 0 to 1. Example: {0.5,0.7,0.9} {1,1,0}

vectors and matrices

When dealing with position or transformation, it is necessary to specify vectors or matrices. One-dimensional vectors and two-dimensional matrices are specified as follows.

a vector is written as {x,y,z} , a 3x3 matrix is written as {{a,b,c},{d,e,f},{g,h,i}} and a 4x4 matrix accordingly.

2.3.4 Manual Naming and Conventions

This manual is evolving along with the code. I realize that some parts miss deeper explanation and/or examples. Any comments and criticisms regarding the manual are just as welcome as comments and criticisms regarding DINO itself. More examples are provided on the dino homepage.

Syntax and example

Throughout the manual, syntax and examples are given in the form

Syntax: this is a syntax statement


Example: this is an example of an example

The use of square brackets [] in the syntax describes optional parts, while square brackets in the example are meant literally.


Throughout the manual, the expresion PV denotes a Property-Value pair, in the form:

Property Op Value,[Value2 . .]

This is used during value assignement, comparison and parameter setting. During comparison, mutliple values can be given as a comma separated list. For boolean properties (meaning they are either True or False), Op and Value can be ommited, setting the property to True or - when prefixing it with an exlamation mark - to False.

Example: bg=white     rnum=10,14,20,33     v>2.0     !depthc