DINO: Visualizing Structural Biology |
|
User Manual
|
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:
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 dino>
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.
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.
A color can be defined in two ways:
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.
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.
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