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:
Structure: Coordinates of atoms with chemical connectivity, optionally organized in residues, which in turn are optionally organized in chains. For ensembles of structures, a model number is present as an additional hierarchy. For trajectory data, each frame can be addressed with a number.
Scalar Field: 3-dimensional array of scalar values, representing e.g. electron density or electrostatic potential.
Surface: Collection of faces (triangles) build from list of vertices (points in 3D space), approximating the surface.
Surface Topography: 2-dimensional grid, each grid point carries a height value.
DINO supports a number of command line arguments:
dino [-s scriptfile] [-log logfile] [+log] [-nostereo] [-debug]
is called immediately after startup, just as if
had been entered as the first command.
log logfile, +log
: Per default, a file called
is written out continuously with all issued commands. The name of the logfile can be changed with
, or logging can be disabled completely with
: In certain situations in can be necessary to disable stereo detection.
: 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
Graphics Subsystem ID: SGI RES/S/1/2
OpenGL Version 1.1
With the prompt awaiting input.
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
. From the dataset one or more
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
will list all available color names. A blank in the color name must be replaced with an underscore, e.g.
light steel blue
black white red blue green yellow cyan magenta medium_spring_green
an explicit rgb triplet in the form
denotes the red component from 0 to 1,
the green component from 0 to 1 and
the blue component from 0 to 1. Example:
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.
is written as
, a 3x3 matrix
is written as
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
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),
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