[Top] [Contents] [Index] [ ? ]

The Coot User Manual

1. Introduction  
2. Mousing and Keyboarding  
3. General Features  
4. Coordinate-Related Features  
5. Modelling and Building  
6. Map-Related Features  
7. Validation  
Index  Complete index.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1. Introduction

This document is the Coot User Manual, giving an overview of the interactive features. Other documentation includes the Coot Reference Manual and the Coot Tutorial. These documents should be distributed with the source code.

1.1 Citing Coot and Friends  
1.2 What is Coot?  
1.3 What Coot is Not  
1.4 Hardware Requirements  
1.5 Environment Variables  
1.6 Command Line Arguments  
1.7 Web Page  
1.8 Crash  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.1 Citing Coot and Friends

If have found this software to be useful, you are requested (if appropriate) to cite:

"Coot: model-building tools for molecular graphics" Emsley P, Cowtan K Acta Crystallographica Section D-Biological Crystallography 60: 2126-2132 Part 12 Sp. Iss. 1 DEC 2004

The reference for the REFMAC5 Dictionary is:

REFMAC5 dictionary: "Organization of Prior Chemical Knowledge and Guidelines for its Use" Vagin AA, Steiner RA, Lebedev AA, Potterton L, McNicholas S Long F, Murshudov GN Acta Crystallographica Section D-Biological Crystallography 60: 2184-2195 Part 12 Sp. Iss. 1 DEC 2004"

If using "SSM Superposition", please cite:

"Secondary-structure matching (SSM), a new tool for fast protein structure alignment in three dimensions" Krissinel E, Henrick K Acta Crystallographica Section D-Biological Crystallography 60: 2256-2268 Part 12 Sp. Iss. 1 DEC 2004


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.2 What is Coot?

Coot is a stand-alone portion of CCP4's Molecular Graphics project. Its focus is crystallographic model-building and manipulation rather than representation i.e. more like Frodo than Rasmol .

Coot is Free Software. You can give it away. If you don't like the way it behaves, you can fix it yourself.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.3 What Coot is Not

Coot is not:


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.4 Hardware Requirements

The code is designed to be portable to any Unix-like operating system. Coot certainly runs on SGI IRIX64, RedHat Linux of various sorts, SuSe Linux(4) and MacOS X (10.2). The sgi Coot binaries shouold also work on IRIX.

If you want to port to some other operating system, you are welcome (5). Note that your task will be eased by using GNU GCC to compile the programs components.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.4.1 Mouse

Coot works best with a 3-button mouse and works better if it has a scroll-wheel too (see Chapter 2 for more details) (6).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.5 Environment Variables

Coot responds to several environment variables that modify its behaviour.

And of course extension language environment variables are used too:

Normally, these environment variables will be set correctly in the coot setup script (which can be found in the setup directory in the binary distribution. See the web site (Section 1.7 Web Page) for setup details.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.6 Command Line Arguments

Rather that using the GUI to read in information, you can use the following command line arguments:

So, for example, one might use:


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.7 Web Page

Coot has a web page:

There you can read more about the CCP4 molecular graphics project in general and other projects which are important for Coot (8).

The web page also contains an example "setup" file which assigns the environment variables to change the behaviour of Coot.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.8 Crash

Coot might crash on you - it shouldn't.

There are backup files in the directory coot-backup (9). You can recover the session (until the last edit) by reading in the pdb file that you started with last time and then use File -> Recover Session....

I would like to know about coot crashing (10) so that I can fix it as soon as possible. If you want your problem fixed, this involves some work on your part sadly.

First please make sure that you are using the most recent version of coot. I will often need to know as much as possible about what you did to cause the bug. If you can reproduce the bug and send me the files that are needed to cause it, I can almost certainly fix it (11) - especially if you use the debugger (gdb) and send a backtrace too(12).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. Mousing and Keyboarding

How do we move around and select things?

Left-mouse Drag
Rotate view
Ctrl Left-Mouse Drag
Translates view
Shift Left-Mouse
Label Atom
Right-Mouse Drag
Zoom in and out
Ctrl Shift Right-Mouse Drag
Rotate View around Screen Z axis
Middle-mouse
Centre on atom
Scroll-wheel Forward
Increase map contour level
Scroll-wheel Backward
Decrease map contour level

See also Chapter 8.2 Getting out of "Translate" Mode for more help.

2.1 Next Residue  
2.2 Keyboard Contouring  
2.3 Keyboard Rotation  
2.4 Mouse Z Translation and Clipping  
2.5 Keyboard Translation  
2.6 Keyboard Zoom and Clip  
2.7 Scrollwheel  
2.8 Selecting Atoms  
2.9 Virtual Trackball  
2.10 More on Zooming  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1 Next Residue

"Space"
Next Residue
"Shift" "Space"
Previous Residue

See also "Recentring View" (Section 3.12 Recentring View).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 Keyboard Contouring

Use + or - on the keyboard if you don't have a scroll-wheel.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3 Keyboard Rotation

By popular request keyboard equivalents of rotations have been added (13):

Q
Rotate + X Axis
W
Rotate - X Axis
E
Rotate + Y Axis
R
Rotate - Y Axis
T
Rotate + Z Axis
Y
Rotate - Z Axis
I
Continuous Y Axis Rotation
U
Undo Last Navigation Move


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.4 Mouse Z Translation and Clipping

Here we can change the clipping and Translate in Screen Z

Ctrl Right-Mouse Drag Up/Down
changes the slab (clipping planes)
Ctrl Right-Mouse Drag Left/Right
translates the view in screen Z


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.5 Keyboard Translation

Keypad 3
Push View (+Z translation)
Keypad .
Pull View (-Z translation)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.6 Keyboard Zoom and Clip

N
Zoom out
M
Zoom in
D
Slim clip
F
Fatten clip


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.7 Scrollwheel

When there is no map, using the scroll-wheel has no effect. If there is exactly one map displayed, the scroll-wheel will change the contour level of that map. If there are two or more maps, the map for which the contour level is changed can be set using either HID -> Scrollwheel -> Attach scroll-wheel to which map? and selecting a map number or clicking the "Scroll" radio button for the map in the Display Manager.

You can turn off the map contour level changing by the scroll wheel using:

(set-scroll-by-wheel-mouse 0)

(the default is 1 [on]).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.8 Selecting Atoms

Several Coot functions require the selecting of atoms to specify a residue range (for example: Regularize, Refine (Section 5.1 Regularization and Real Space Refinement) or Rigid Body Fit Zone (Section 5.4 Rigid Body Refinement)). Select atoms with the Left-mouse. See also Picking (Section 8.5 Picking).

Use the scripting function (quanta-buttons) to make the mouse functions more like other molecular graphics programs to which you may be more accustomed (14).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.9 Virtual Trackball

You may not completely like the way the molecule is moved by the mouse movement (15). To change this, try: HID -> Virtual Trackball -> Flat. To do this from the scripting interface: (set-vt 1) (16).

If you do want screen-z rotation screen-z rotation, you can either use Shift Right-Mouse Drag or set the Virtual Trackball to Spherical Surface mode and move the mouse along the bottom edget of the screen.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.10 More on Zooming

The function (quanta-like-zoom) adds the ability to zoom the view using just Shift + Mouse movement (17).

There is also a Zoom slider (Draw -> Zoom) for those without a right-mouse button.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. General Features

The map-fitting and model-building tools can be accessed by using Calculate -> Model/Fit/Refine.... Many functions have tooltips (18) describing the particular features and are documented in Chapter 5. Modelling and Building.

F5:
posts the Model/Fit/Refine dialog
F6:
posts the Go To Atom Window
F7:
posts the Display Control Window

3.1 Version number  
3.5 Raster3D output  
3.6 Display Manager  
3.8 Scripting  
3.8.2 Scheme  
3.8.3 Coot State  
3.9 Backups and Undo  
3.12 Recentring View  
3.13 Clipping manipulation  
3.14 Background colour  
3.15 Unit Cell  
3.16 Rotation Centre Pointer  
3.17 Crosshairs  
3.18 Frame Rate  
3.19 Program Output  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 Version number

The version number of Coot can be found at the top of the "About" window (Help -> About).

There is also a script function to return the version of coot:

(coot-version)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 Antialiasing

Antialiasing (for what it's worth) can be enabled using:

(set-do-anti-aliasing 1)

The default is 0 (off).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 Molecule Number

Coot is based on the concept of molecules. Maps and coordinates are different representations of molecules. The access to the molecule is via the molecule number. It is often important therefore to know the molecule number of a particular molecule.

The Molecule Number of a molecule can be found by clicking on an atom of that molecule (if it has coordinates of course). The first number in brackets in the resulting text in the status bar and console is the Molecule Number. The Molecule Number can also be found in Display Control window (Section 3.6 Display Manager). It is also displayed on the left-hand side of the molecule name in the option menus of the "Save Coordinates" and "Go To Atom" windows.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 Display Issues

The "graphics" window is drawn using OpenGL. It is considerably smoother (i.e. more frames/sec) when using a 3D accelerated X server.

The view is orthographic (i.e. the back is the same size as the front). The default clipping is about right for viewing coordinate data, but is often a little too "thick" for viewing electron density. It is easily changed (see Section 3.13 Clipping manipulation).

Depth-cueing is linear and fixed on.

The graphics window can be resized, but it has a minimum size of 400x400 pixels.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.1 Stereo

Hardware Stereo is an option for Coot (Draw -> Stereo... -> Hardware Stereo -> OK), side-by-side stereo is not an option.

The angle between the stereo pairs (the stereo separation) can be changed to suit your personal tastes using:

(set-hardware-stereo-angle-factor angle-factor)

where angle-factor would typically be between 1.0 and 2.0


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.2 Pick Cursor

When asked to pick a residue or atom, the cursor changes from the normal arrow shape to a "pick" cursor. Sometimes it is difficult to see the default pick cursor, so you can change it using the function

(set-pick-cursor-index i)

where i is an integer less than 256. The cursors can be viewed using an external X program:

xfd -fn cursor


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.3 Origin Marker

A yellow box called the "origin marker" marks the origin. It can be removed using:

(set-show-origin-marker 0)

Its state can be queried like this:

(show-origin-marker-state)

which returns an number (0 if it is not displayed, 1 if it is).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5 Raster3D output

Output suitable for use by Raster3D's "render" can be generated using the scripting function

(raster3d file-name)

where file-name is such as "test.r3d" (19).

There is a keyboard key to generate this file, run "render" and display the image: Function key F8.

You can also use the function

(render-image)

which will create a file `coot.r3d', from which "render" produces `coot.png'. This png file is displayed using ImageMagick's display program (by default). Use something like:

(set! coot-png-display-program "gqview")

to change that to different display program ("gqview" in this case).

(set! coot-png-display-program "open")

would use Preview (by default) on Macintosh.

To change the widths of the bonds and density "lines" use (for example):

(set-raster3d-bond-thickness 0.1)

and

(set-raster3d-density-thickness 0.01)

To turn off the representations of the atoms (spheres):

(set-renderer-show-atoms 0)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.6 Display Manager

This is also known as "Map and molecule (coordinates) display control". Here you can select which maps and molecules you can see and how they are drawn (20). The "Display" and "Active" are toggle buttons, either depressed (active) or undepressed (inactive). The "Display" buttons control whether a molecule (or map) is drawn and the "Active" button controls if the molecule is clickable (21) (i.e. if the molecule's atoms can be labeled).

The "Scroll" radio buttons sets which map is has its contour level changed by scrolling the mouse scroll wheel.

By default, the path names of the files are not displayed in the Display Manager. To turn them on:

(set-show-paths-in-display-manager 1)

If you pull across the horizontal scrollbar in a Molecule view, you will see the "Render as" menu. You can use this to change between normal "Bonds (Colour by Atom)","Bonds (Colour by Chain)" and "C\alpha" representation There is also available "No Waters" and "C\alpha + ligands" representations.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.7 The file selector


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.7.1 File-name Filtering

The "Filter" button in the fileselection filters the filenames according to extension. For coordinates files the extensions are ".pdb" ".brk" ".mmcif" and others. For data: ".mtz", ".hkl", ".phs", ".cif" and for (CCP4) maps ".ext", ".msk" and ".map". If you want to add to the extensions, the following functions are available:

where extension is something like: ".mycif".

If you want the fileselection to be filtered without having to use the "Filter" button, use the scripting function

(set-filter-fileselection-filenames 1)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.7.2 Filename Sorting

If you like your files initially sorted by date (rather than lexographically, which is the default) use:

(set-sticky-sort-by-date)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.7.3 Save Coordinates Directory

Some people prefer that the fileselection for saving coordinates starts in the original directory (rather than the directory from which they last imported coordinates). This option is for them:

(set-save-coordinates-in-original-directory 1)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.8 Scripting

3.8.1 Python  
3.8.2 Scheme  
3.8.3 Coot State  

There is an compile-time option of adding a script interpreter. Currently the options are python and guile. It seems possible that in future you will be able to use both in the same executable. The binary distribution of Coot are linked with guile.

Hundreds of commands are made available for use in scripting by using SWIG, some of which are documented here. Other functions are are currently not well documented but can be found in the Coot Reference Manual or the source code (`c-interface.h').

Commands described throughout this manual (such as (vt-surface 1)) can be evaluated directly by Coot by using the "Scripting Window" (Calculate -> Scripting...). Note that you type the commands in the lower entry widget and the command gets echoed (in red) and the return vaule and any output is displayed in the text widget above. The typed command should be terminated with a carriage return (22). Files (23) can be evaluated (executed) using Calculate -> Run Script.... Note that in scheme (the usual scripting language of Coot), the parentheses are important.

To execute a script file from the command line use the --script filename arguments (except when also using the command line argument --no-graphics, in which case you should use -s filename).

After you have used the scripting window, you may have noticed that you can no longer kill Coot by using Ctrl-C in the console. To recover this ability:

(exit)

in the scripting window.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.8.1 Python

Coot has an (optional) embedded python interpreter. Thus the full power of python is available to you. Coot will look for an initialization script ($HOME/.coot.py) and will execute it if found. This file should contain python commands that set your personal preferences.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.8.1.1 Python Commands

The scripting functions described in this manual are formatted suitable for use with guile, i.e.:

(function arg1 arg2...)

If you are using Python instead: the format needs to be changed to:

function(arg1,arg2...)

Note that dashes in guile function names become underscores for python, so that (for example) (raster-screen-shot) becomes raster_screen_shot().


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.8.2 Scheme

The scheme interpreter is made available by embedding guile. The initialization script used by this interpreter is $HOME/.coot. This file should contain scheme commands that set your personal preferences.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.8.3 Coot State

The "state" of coot is saved on Exit and written to a file called 0-coot.state.scm (scheme) 0-coot.state.py (python). This state file contains information about the screen centre, the clipping, colour map rotation size, the symmetry radius, and other molecule related parameters such as filename, column labels, coordinate filename etc..

Use Calculate -> Run Script... to use this file to re-create the loaded maps and models that you had when you finished using Coot (24) last time. A state file can be saved at any time using (save-state) which saves to file 0-coot.state.scm or (save-state-filename "thing.scm") which saves to file thing.scm.

When Coot starts it can optionally run the commands in 0-coot.state.scm.

Use (set-run-state-file-status i) to change the behaviour: i is 0 to never run this state file at startup, i is 1 to get a dialog option (this is the default) and i is 2 to run the commands without question.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9 Backups and Undo

By default, each time a modification is made to a model, the old coordinates are written out (25). The backups are kept in a backup directory and are tagged with the date and the history number (lower numbers are more ancient (26)). The "Undo" function discards the current molecule and loads itself from the most recent backup coordinates. Thus you do not have to remember to "Save Changes" - coot will do it for you (27).

If you have made changes to more than one molecule, Coot will pop-up a dialog box in which you should set the "Undo Molecule" i.e. the molecule to which the Undo operations will apply. Further Undo operations will continue to apply to this molecule until there are none left. If another Undo is requested Coot checks to see if there are other molecules that can be undone, if there is exactly one, then that molecule becomes the "Undo Molecule", if there are more than one, then another Undo selection dialog will be displayed.

You can set the undo molecule using the scripting function:

(set-undo-molecule imol)

If for reasons of strange system(28) requirements you want to remove the path components of the backup file name you can do so using:

(set-unpathed-backup-file-names 1)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.1 Redo

The "undone" modifications can be re-done using this button. This is not available immediately after a modification (29).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9.2 Restoring from Backup

There may be certain circumstances (30) in which you wish to restore from a backup but can't get it by the "Undo" mechanism described above. In that case, start coot as normal and then open the (typically most recent) coordinates file in the directory coot-backup (or the directory pointed to the environment varialble COOT_BACKUP_DIR if it was set) . This file should contain your most recent edits. In such a case, it is sensible for neatness purposes to immediately save the coordinates (probably to the current directory) so that you are not modifying a file in the backup directory.

See also Section 1.8 Crash.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.10 View Matrix

It is sometimes useful to use this to orient the view and export this orientation to other programs. The orientation matrix of the view can be displayed (in the console) using:

(view-matrix)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.11 Space Group

Occassionally you may want to know the space group of a particular molecule. Interactively (for maps) you can see it using the Map Properties button in the Molecule Display Control dialog.

There is a scripting interface function that returns the space group for a given molecule (31):

(show-spacegroup imol)

You can force a space group onto a molecule using the following:

(set-space-group imol space-group)

where space-group is one of the standard CCP4 space group names (e.g. "P 21 21 21").


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.12 Recentring View

If you don't want smooth recentring (sliding) Draw -> Smooth Recentring -> Off. You can also use this dialog to speed it up a bit (by decreasing the number of steps instead of turning it off).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.13 Clipping manipulation

The clipping planes (a.k.a. "slab" ) can be adjusted using Edit -> Clipping and adjusting the slider. There is only one parameter to change and it affects both the front and the back clipping planes (32). The clipping can also be changed using keyboard "D" and "F".

One can "push" and "pull" the view in the screen-Z direction using keypad 3 and keypad "." (see Section 2.5 Keyboard Translation).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.14 Background colour

The background colour can be set either using a GUI dialog (Edit$ -> Background Colour) or the function (set-background-colour 0.00 0.00 0.00), where the arguments are 3 numbers between 0.0 and 1.0, which respectively represent the red, green and blue components of the background colour. The default is (0.0, 0.0, 0.0) (black).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.15 Unit Cell

If coordinates have symmetry available then unit cells can be drawn for molecules (Draw -> Cell & Symmetry -> Show Unit Cell?).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.16 Rotation Centre Pointer

There is a pink pointer at the centre of the screen that marks the rotation centre. The size of the pointer can be changed using Edit -> Pink Pointer Size... or using scripting commands: (set-rotation-centre-size 0.3).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.16.1 Pointer Distances

The Rotation Centre Pointer is sometimes called simply "Pointer". One can find distances to the pointer from any active set of atoms using "Pointer Distances" (under Measures). If you move the Pointer (e.g. by centering on an atom) and want to update the distances to it, you have to toggle off and on the "Show Pointer Distances" on the Pointer Distances dialog.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.17 Crosshairs

Crosshairs can be drawn at the centre of the screen, using either the C key(33) in graphics window or Draw -> Crosshairs.... The ticks are at 1.54Å, 2.7Å and 3.8Å.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.18 Frame Rate

Sometimes, you might as yourself "how fast is the computer?" (34). Using Calculate -> Frames/Sec you can see how fast the molecule is rotating, giving an indication of graphics performance. It is often better to use a map that is more realistic and stop the picture whizzing round. The output is written to the status bar and the console, you need to give it a few seconds to "settle down". It is best not to have other widgets overlaying the GL canvas as you do this.

The contouring elapsed time (35) gives an indication of CPU performance.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.19 Program Output

Due to its "in development" nature (at the moment), Coot produces a lot of "console" (36) output - much of it debugging or "informational". This will go away in due course. You are advised to run Coot so that you can see the console and the graphics window at the same time, since feedback from atom clicking (for example) is often written there rather than displayed in the graphics window.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4. Coordinate-Related Features

4.1 Reading coordinates  
4.2 Atom Info  
4.3 Atom Labeling  
4.4 Atom Colouring  
4.5 Bond Parameters  
4.6 Download coordinates  
4.7 Get Coordintes and Map from EDS  
4.8 Save Coordinates  
4.9 Setting the Space Group  
4.10 Anisotropic Atoms  
4.11 Symmetry  
4.12 Sequence View  
4.13 Print Sequence  
4.14 Environment Distances  
4.15 Distances and Angles  
4.16 Zero Occupancy Marker  
4.17 Atomic Dots  
4.18 Mean, Median Temperature Factors  
4.19 Secondary Structure Matching (SSM)  
4.20 Least-Squares Fitting  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1 Reading coordinates

The format of coordinates that can be read by coot is either PDB or mmCIF. To read coordinates, choose File -> Read Coordinates from the menu-bar. Immediately after the coordinates have been read, the view is (by default) recentred to the centre of this new molecule and the molecule is displayed. To disable the recentring of the view on reading a coordinates file, use: (recentre-on-read-pdb 0).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1.1 Read multiple coordinate files

The reading multiple files using the GUI is not available (at the moment). However the following scripting functions are available:

(read-pdb-all)

which reads all the "*.pdb" files in the current directory

(multi-read-pdb glob-pattern dir)

which reads all the files matching glob-pattern in directory dir. Typical usage of this might be:

(multi-read-pdb "a*.pdb" ".")

Alternatively you can specify the files to be opened on the command line when you start coot (see Section 1.6 Command Line Arguments).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1.2 SHELX .ins/.res files

SHELX ".res" (and ".ins" of course) files can be read into Coot, either using the GUI File -> Open Coordinates... or by the scripting function:

(read-shelx-ins-file file-name)

where file-name is quoted, such as "thox.ins".

Although Coot should be able to read any SHELX ".res" file, it may currently have trouble displaying the bonds for centro-symmetric structures.

ShelxL atoms with negative PART numbers are given alternative configuration identifiers in lower case.

To write a SHELX ".ins" file:

(write-shelx-ins-file imol file-name)

where imol is the number of the molecule you wish to export.

This will be a rudamentary file if the coordinates were initially from a "PDB" file, but will contain substantial SHELX commands if the coordinates were initially generated from a SHELX ins file.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2 Atom Info

Information about about a particular atom is displayed in the text console when you click using middle-mouse. Information for all the atoms in a residue is available using Info -> Residue Info....

The temperature factors and occupancy of the atoms in a residue can be set by using Edit -> Residue Info....


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3 Atom Labeling

Use Shift + left-mouse to label atom. Do the same to toggle off the label. The font size is changeable using Edit -> Font Size.... The newly centred atom is labelled by default. To turn this off use:

(set-label-on-recentre-flag 0)

Some people prefer to have atom labels that are shorter, without the slashes and residue name:

(set-brief-atom-labels 1)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.4 Atom Colouring

The atom colouring system in coot is unsophisticated. Typically, atoms are coloured by element: carbons are yellow, oxygens red, nitrogens blue, hydrogens white and everything else green (see Section 3.6 Display Manager for colour by chain). However, it is useful to be able to distinguish different molecules by colour, so by default coot rotates the colour map of the atoms (i.e. changes the H value in the HSV (37) colour system). The amount of the rotation depends on the molecule number and a user-settable parameter:

The default value is 31^\circ.

Also one is able to select only the Carbon atoms to change colour in this manner: (set-colour-map-rotation-on-read-pdb-c-only-flag 1).

The colour map rotation can be set individually for each molecule by using the GUI: Edit -> Bond Colours.....


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.5 Bond Parameters

The various bond parameters can be set using the GUI dialog Draw -> Bond Parameters or via scripting functions.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.5.1 Bond Thickness

The thickness (width) of bonds of inividual molecules can be changed. This can be done via the Bond Parameters dialog or the scripting interface:

(set-bond-thickness thickness imol)

where imol is the molecule number. The default thickness is 3.0. The bond thickness also applies to the symmetry atoms of the molecule. There is no means to change the bond thickness of a residue selection within a molecule.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.5.2 Display Hydrogens

Initially, hydrogens are displayed. They can be undisplayed using

(set-draw-hydrogens mol-no 0) (38)

where mol-no is the molecule number.

There is a GUI to control this too, under "Edit -> Bond Parameters".


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.5.3 NCS Ghosts Coordinates

It is occasionally useful when analysing non-crystallographically related molecules to have "images" of the other related molecules appear matched onto the current coordinates. It is important to understand that these ghosts are for displaying differences of NCS-related molecules by structure superposition, not displaying neighbouring NCS related molecules. As you read in coordinates in Coot, they are checked for NCS relationships and clicking on "Edit -> Bond Parameters -> Show NCS Ghosts" -> "Yes" -> "Apply" will create "ghost" copies of them over the reference chain (39).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.5.4 NCS Maps

Coot can use the relative transformations of the NCS-related molecules in a coordinates molecule to transform maps. Use Calulate -> NCS Maps... to do this (note the NCS maps only make sense in the region of the reference chain (see above). This will also create an NCS averaged map (40).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.5.5 Using Strict NCS

Coot can use a set of strict NCS matrices to specify NCS which means that NCS-related molecules can appear like convention symmetry-related molecules.

(add-strict-ncs-matrix imol ncs-chain-id ncs-target-chain-id m11 m12 m13 m21 m22 m23 m31 m32 m33 t1 t2 t3)

where ncs-chain-id might be "B", "C" "D" (etc.) and ncs-target-chain-id is "A", i.e. the B, C, D molecules are NCS copies of the A chain.

for icosohedral symmetry the translation components t1, t2, t3 will be 0.

You need to turn on symmetry for molecule imol and set the displayed symmetry object type to "Display Near Chains".


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.6 Download coordinates

Coot provides the possibility to download coordinates from an OCA (41). (e.g. EBI) server (42) (File -> Get PDB Using Code...). A popup entry box is displayed into which you can type a PDB accession code. Coot will then connect to the web server and transfer the file. Coot blocks as it does this (which is not ideal) but on a semi-decent internet connection, it's not too bad. The downloaded coordinates are saved into a directory called `coot-download'.

It is also possible to download mmCIF data and generate a map. This currently requires a properly formatted database structure factors mmCIF file (43).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.7 Get Coordintes and Map from EDS

With the assistance of Gerard Kleywegt I have added the ability to download coordinates and view the map from structures in the Electron Density Server (EDS) at Uppsala University. This is a much more robust and faster way to see maps from deposited structures. This function can be found under the File menu item. Very nice.


[ < ] [ > ]   [ << ] [ Up ] [ >> </