DINO: Visualizing Structural Biology |
|
User Manual
|
The structure dataset is probably the most complex of all datasets present in DINO. Its most basic element is the atom. There are two different ways to think about the organization of atoms in this dataset. In one organization, all atoms are in a list and carry properties such as position, name, number, chemical-info (element, charge, vdW-radius), residue-name, residue-number, chain-id, model etc .... Another way is to envision a hierarchy where the structure dataset consists of of or more models, each model consists of one or more chains, each chain consists of one or more residues and each residue is build up from atoms, which carry atom-only properties such as position, chemical-info, name and number.
Most file-formats use the first representation. DINO internaly uses the second way to organize the structural data, but for selection and direct addressing purposes, its easier to think about it in the first way.
Additionally, a trajectory can be loaded into a structure dataset. A trajectory consists of a collection of frames, each with the same set of atoms but different coordinates for each atom (see also below). The trajectory can be played while retaining full interactivity.
S1 |
G2 |
||
fast updates of trajectories, cannot be used with render mode custom, default is on |
|||
S3 |
G4 |
L5 |
R6 |
||
element properties shared between dataset and object; modified with .dataset set |
|||||
element properties copied from dataset to object, setting on the dataset changes default |
|||||
New structure objects are created with new . There are two object types for the structure dataset:
Syntax: .struct new [-name NAME][-type TYPE][-set SET] [-selection SEL]
NAME defaults to the dataset name. TYPE defaults to connect . Object properties that can be set are listed in Table 8 (P. 27). A selection with selectable atom properties (column L in Table 9 (P. 28)) can be given.
Example: load myo.pdb .myo new -name all .myo new -name ca -type trace .myo new -name prot -sel not rname=HEM .myo new -name helix1 -type trace -sel rnum=4:14
Following are all structure dataset commands:
new : creates a new object (see "6.1 Structure Objects" on page 27)
set get : retrieves or modifies a dataset property (columns S and G in Table 8 (P. 27))
Syntax: .struct set PV[, PV ...] .struct get P
restrict : shadow out a subset of the dataset which will not be considered in selection or property setting (see "5.1.7 Dataset Restriction" on page 25).
Syntax: .struct restrict SELECTION
delete : remove one or more objects
Syntax:.struct delete obj [obj2 ...]
load step play stop : trajectory related commands (see "6.6 Trajectories" on page 31)
grab reset fix center : transformation related commands (see "5.1.8 Transformation" on page 25) ; reset additionally can have the parameters all (default) or center , the latter will set the center of rotation back to the center of geometry after a modification with scene set center
Syntax:.struct reset [all | center]
Example: .struct grab dials // dial input moves dataset .struct set center=[$CS] // rotation now around current selection .struct reset center // rotation now around geometric center of dataset scene grab dials // dial input back to camera
write : writes the dataset into a file ( taking restriction into account !)
Syntax: .struct write file.ext [-type T]
The type of the file is recognized by its extension if not explicitly given. Supported types with extensions are listed in Table 10 (P. 29).
connect : Adds a bond between two atoms (see "6.5 Connectivity" on page 31).
Structure object commands are issued as:
Syntax: .struct.obj command [parameters]
Following is a list of all structure object commands:
renew : Similar to dataset command new , except the type and name are already determined, so only selection and setting is possible. If either selection or setting (or both) are omitted, the current selection resp. setting is maintained (see "5.1.5 Modifying Objects" on page 23).
Syntax: .struct.obj renew [-selection SEL] [-set SET]
show hide : turns display of the object in the graphics window on or off. Identical to clicking on the object name in the object menu (see "4.12 The GUI" on page 20).
Syntax: .struct.obj show .struct.obj hide
clear : removes all labels. Hint: use .struct.* clear to get rid of all labels.
set get : modify or retrieve structure object properties (columns S and G in Table 8 (P. 27) under structure object properties and see "5.1.5 Modifying Objects" on page 23).
Syntax: .struct.obj get P .struct.obj set PV [-selection SEL] [-range [src=SRC][,PROP=prop][val=VAL1:VAL2]]
Example: .myo.all set color=cyan -sel ele=C .myo.ca set color=green:purple -range prop=rnum,val=1:146
render : modifies the graphical appearance of an object (see "6.7 Render & Graphical Appearance" on page 32)
write : Similar to the the dataset command write , the same file-types are supported (see Table 10 (P. 29)). Only the atoms in the object are written and the dataset restriction is ignored.
Syntax: .struct.obj write file.ext [-type T]
If no command is given, then get center is used. This is an useful shortcut for e.g. centering the object in the graphics window:
Example: // these two are identical scene center [.myo.all get center] scene center [.myo.all]
The syntax for addressing an element in a structure dataset is
Syntax: .struct:ELEMENT command [parameters]
The format of ELEMENT depends on the dataset itself, to be more precise whether chain and/or model are present. The general format is
ELEMENT = [model.][chain.][rnum.]aname
model , chain and rnum are only required if the structure dataset contains different models, chains and/or residues. The atom name is case sensitive and must be entered as present in the coordinate file.
// no chain or model .struct:143.CA // chain also present .struct:B.99.N // model and chain present .struct:3.A.76.O // model but no chain .struct:2.81.CB
Since the dataset 'knows' if a chain or model is present, it expects a certain format. No wild-cards can be used.
The only command implemented so far is get, which retrieves an atom property:
Syntax: .struct:[model.][chain.][rnum.]aname get PROPERTY
If no command is given, get xyz (the coordinate of the atom) is assumed.
Example: scene center [.myo:148.FE] // is equal to [.myo:148.FE get xyz]
As mentioned above, a structure dataset is automatically created when loading a file which contains coordinate-data. Although most coordinate-files do not contain explicit connectivity information, the connectivity is implicitly given by:
DINO uses an auto-connectivity routine that exploits both implicit and explicit connectivity rules. It contains an internal connectivity table for the 20 amino-acids and the 5 bases, including a rule which atoms connect residues n and n+17 . If an atom is encountered that is not defined by the internal connectivity table, it is connected to all atoms that lie within CUTOFF of its position; where CUTOFF is defined as the sum of the two van der Waals radii divided by two. Additionally, connectivity defined in the coordinate-file is considered (e.g. CONECT in PDB). As a consequence, disulfide bridges must be either explicitely defined with CONECT, or the atom name of the cystein sulfur (normally SG) must be changed to force distance-based connectivity (e.g. into SS).
Trajectories are an addition to a structure dataset. They provide a collection of frames which contain new coordinates for each atom of the structure dataset. First a trajectory needs to be loaded from a file
Syntax: .struct load file.ext [-type T] [-swap]
If the type is not given, it is guessed from the extension. Currently, CHARMM (extension .trj type charmm ) and CNS (extension .crd , type cns ) trajectories are supported The parameter -swap can be used to apply byte-order swapping to the trajectory.
Once trajectories are loaded, they can be played continuously or each frame can be looked at one by one.
Syntax: .struct play [-wait w] [-begin b] [-end e] [-step s] [-mode m] .struct stop .struct step [n]
wait denotes the number of wait-cycles until the next frame is displayed, default is 0. begin and end specify from which to which frame the trajectory shall run, default is 1 to max. mode can be loop (default) or rock .
While the trajectory is playing, full interactivity is available.
The structure dataset property tfast can be used to turn off the recalculation of internal parameters needed for render mode custom. This will considerably speed up trajectory display, but will only work if all structure dataset objects are not in render mode custom . This flag is true (fast trajectory) per default.
The command render modifies the graphical appearance of an object:
Syntax: .struct.obj render PV [,PV ...]
The render properties applicable to the structure dataset objects are given in Table 11 (P. 33). Depending on the type of object (connect or trace), several rendering modes are available, specified as
Syntax: .struct.obj render MODE
Additionally, the command material can be used to change the material settings, this has been described above, see "5.1.6 Graphical Appearance" on page 24.