[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
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

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):

Rotate + X Axis
Rotate - X Axis
Rotate + Y Axis
Rotate - Y Axis
Rotate + Z Axis
Rotate - Z Axis
Continuous Y Axis Rotation
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

Zoom out
Zoom in
Slim clip
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.

posts the Model/Fit/Refine dialog
posts the Go To Atom Window
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:


[ < ] [ > ]   [ << ] [ 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:


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


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)


(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:


[ < ] [ > ]   [ << ] [ 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:


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] [ ? ] 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:


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:


[ < ] [ > ]   [ << ] [ 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:


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 ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.8 Save Coordinates

On selecting from the menus File -> Save Coordinates... you are first presented with a list of molecules which have coordinates. As well as the molecule number, there is the molecule name - very frequently the name of the file that was read in to generate the coordinates in coot initially. However, this is only a molecule name and should not be confused with the filename to which the coordinates are saved. The coordinates filename can be selected using the Select Filename... button.

If your filename ends in .cif, .mmcif or .mmCIF then an mmCIF file will be written (not a "PDB" file).

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

4.9 Setting the Space Group

If for some reason, the pdb file that you read does not have a space group, or has the wrong space group, then you can set it using the following function:

(set-space-group imol symbol)


(set-spacegroup 0 "P 41 21 2")

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

4.10 Anisotropic Atoms

By default anisotropic atom information is not represented (44). To turn them on, use Draw -> Anisotropic Atoms -> Show Anisotropic Atoms? -> Yes, or the command: (set-show-aniso 1).

You cannot currently display thermal ellipsoids (45) for isotropic atoms.

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

4.11 Symmetry

Coordinates symmetry is "dynamic". Symmetry atoms can be labeled (46). Every time you recentre, the symmetry coordinates are updated. The information shown contains the atom information and the symmetry operation number and translations needed to generate the atom in that position.

By default symmetry atoms are not displayed.

If you want coot to display symmetry coordinates without having to use the gui, add to your `~/.coot' the following:

(set-show-symmetry-master 1)

The symmetry can be represented as C\alphas. This along with representation of the molecule as C\alphas (Section 3.6 Display Manager) allow the production of a packing diagram.

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

4.11.1 Missing symmetry

Sometimes (rarely) coot misses symmetry-related molecules that should be displayed. In that case you need to expand the shift search (the default is 1):

(set-symmetry-shift-search-size 2)

This is a hack, until the symmetry search algorithm is improved.

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

4.12 Sequence View

The protein is represented by one letter codes and coloured according to secondary structure. These one letter codes are active - if you click on them, they will change the centre of the graphics window - in much the same way as clicking on a residue in the Ramachandran plot.

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

4.13 Print Sequence

The single letter code (of the imolth molecule) is written out to the console in FASTA format. Use can use this to cut and paste into other applications:

(print-sequence imol)

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

4.14 Environment Distances

Environment distances are turned on using Info -> Environment Distances.... Contacts to other residues are shown and to symmetry-related atoms if symmetry is being displayed. The contacts are coloured by atom type (47).

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

4.15 Distances and Angles

The distance between atoms can be found using Info -> Distance (48). The result is displayed graphically, and written to the console.

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

4.16 Zero Occupancy Marker

Atoms of zero occupancy are marked with a grey spot. To turn off these markers, use:

(set-draw-zero-occ-markers 0)

Use an argument of 1 to turn them on.

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

4.17 Atomic Dots

You can draw dots round arbitary atom selections

(dots imol atom-selection dot-density radius) The function returns a handle.

e.g. put a sphere of dots around all atoms of the 0th molecule (it might be a set of heavy atom coordinates) at the default dot density and radius:

(dots 0 "/1" 1 1)

You can't change the colour of the dots.

There is no internal mechanism to change the radius according to atom type. With some cleverness you might be able to call this function several times and change the radius according to the atom selection.

There is a function to clear up the dots for a particular molecule imol and dots set identifier dots-handle

(clear-dots imol dots-handle)

There is a function to return how many dots sets there are for a particular molecule imol:

(n-dots-set imol)

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

4.18 Mean, Median Temperature Factors

Coot can be used to calculate the mean (average) and median temperatures factors:

(average-temperature-factor imol)

(median-temperature-factor imol)

-1 is returned if there was a problem (49).

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

4.19 Secondary Structure Matching (SSM)

The excellent SSM alogrithm(50) of Eugene Krissinel is available in Coot. The GUI interface is straight-forward and can be found under Calculate -> SSM Superpose. You can specify the specific chains that you wish to match using the "Use Specific Chain" check-button.

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

4.20 Least-Squares Fitting

There is currently no GUI specified for this, the scripting interface is as follows:

(simple-lsq-match ref-start-resno ref-end-resno ref-chain-id imol-ref mov-start-resno mov-end-resno mov-chain-id imol-mov match-type)


e.g.: (simple-lsq-match 940 950 "A" 0 940 950 "A" 1 'main)

More sophisticated (match molecule number 1 chain "B" on to molecule number 0 chain "A"):

(define match1 (list 840 850 "A" 440 450 "B" 'all))

(define match2 (list 940 950 "A" 540 550 "B" 'main))


(set-match-element match1)

(set-match-element match2)

(lsq-match 0 1) ; match molecule number 1 onto molecule number 0.

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

4.21 More on Moving Molecules

There are scripting functions available for this sort of thing:

(molecule-centre imol)

will tell you the molecule centre of the imolth molecule.

(translate-by imol x-shift y-shift z-shift)

will translate all the atoms in molecule imol by the given amount (in Ångstr@"{o}ms).

(move-molecule-to-screen-centre imol)

will move the imolth molecule to the current centre of the screen (sometimes useful for imported ligands). Note that this moves the atoms of the molecule - not just the view of the molecule.

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

5. Modelling and Building

5.1 Regularization and Real Space Refinement  
5.2 Changing the Map for Building/Refinement  
5.3 Rotate/Translate Zone  
5.4 Rigid Body Refinement  
5.5 Simplex Refinement  
5.6 Baton Building  
5.7 Reversing Direction of Fragment  
5.8 C\alpha -> Mainchain  
5.9 Backbone Torsion Angles  
5.10 Rotamers  
5.11 Editing \chi Angles  
5.12 Pep-flip  
5.13 Add Alternate Conformation  
5.14 Mutation  
5.15 Importing Monomers  
5.16 Find Ligands  
5.21 Place Helix  
5.22 Building Ideal DNA and RNA  
5.23 Merge Molecules  
5.24 Applying NCS Edits  
5.25 Running Refmac  
5.26 Running SHELXL  
5.27 Clear Pending Picks  
5.28 Delete  
5.29 Sequence Assignment  
5.30 Building Links and Loops  
5.31 Fill Partial Residues  
5.32 Setting Occupancies  
5.33 Fix Nomenclature Errors  
5.34 Rotamer Fix Whole Protein  
5.35 Refine All Waters  
5.36 Modifying the Labels on the Model/Fit/Refine dialog  

The functions described in this chapter manipulate, extend or build molecules and can be found under Calculate -> Model/Fit/Refine.... When activated, the dialog "stays on top" of the main graphics window (51). Some people think that this is not always desirable, so this behaviour can be undone using:

(set-model-fit-refine-dialog-stays-on-top 0)

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

5.1 Regularization and Real Space Refinement

Coot will read the geometry restraints for refmac and use them in fragment (zone) idealization - this is called "Regularization". The geometrical restraints are, by default, bonds, angles, planes and non-bonded contacts. You can additionally use torsion restraints by Calculate -> Model/Fit/Refine... -> Refine/Regularize Control -> Use Torsion Restraints. Truth to tell, this has not been successful in my hands (sadly).

"RS (Real Space) Refinement" (after Diamond, 1971 (52)) in Coot is the use of the map in addition to geometry terms to improve the positions of the atoms. Select "Regularize" from the "Model/Fit/Refine" dialog and click on 2 atoms to define the zone (you can of course click on the same atom twice if you only want to regularize one residue). Coot then regularizes the residue range. At the end Coot, displays the intermediate atoms in white and also displays a dialog, in which you can accept or reject this regularization. In the console are displayed the \chi^2 values of the various geometrical restraints for the zone before and after the regularization. Usually the \chi^2 values are considerably decreased - structure idealization such as this should drive the \chi^2 values toward zero.

The use of "Refinement" is similar - with the addition of using a map. The map used to refine the structure is set by using the "Refine/Regularize Control" dialog. If you have read/created only one map into Coot, then that map will be used (there is no need to set it explicitly).

Use, for example, (set-matrix 20.0)

to change the weight of the map gradients to geometric gradients. The higher the number the more weight that is given to the map terms (53). The default is 60.0. This will be needed for maps generated from data not on (or close to) the absolute scale or maps that have been scaled (for example so that the sigma level has been scaled to 1.0).

For both "Regularize Zone" and "Refine Zone" one is able to use a single click to refine a residue range. Pressing A on the keyboard while selecting an atom in a residue will automatically create a residue range with that residue in the middle. By default the zone is extended one residue either size of the central residue. This can be changed to 2 either side using (set-refine-auto-range-step 2).

Intermediate (white) atoms can be moved around with the mouse (click and drag with left-mouse, by default). Refinement will proceed from the new atom positions when the mouse button is released. It is possible to create incorrect atom nomenclature and/or chiral volumes in this manner - so some care must be taken. Press the A key as you left-mouse click to move atoms more "locally" (rather than a linear shear) and Ctrl key as you left-mouse click to move just one atom.

To prevent the unintentional refinement of a large number of residues, there is a "heuristic fencepost" of 20 residues. A selection of than 20 residues will not be regularized or refined. The limit can be changed using the scripting function: e.g. (set-refine-max-residues 30).

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

5.1.1 Dictionary

By default, the geometry dictionary entries for only the standard residues are read in at the start (54). It may be that your particular ligand is not amongst these. To interactively add a dictionary entry use File -> Import CIF Dictionary. Alternatively, you can use the function:

(read-cif-dictionary filename)

and add this to your .coot file (this may be the prefered method if you want to read the file on more than one occassion).

Note: the dictionary also provides the description of the ligand's torsions.

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

5.1.2 Planar Peptide Restraints

There is a new mechanism (as of 0.1.1) to introduce 5 atom (CA-1, C-1, O-1, N-2, CA-2) planar peptide restraints. These restraints should help in low resolution fitting (the main-chains becomes less distorted), reduce accidental cis-peptides and may help "clean up" Ramachandran plots.


And similarly they can be removed:


The old way used to be to edit the Refmac `monomers/list/mon_lib_list.cif' by hand.

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

5.2 Changing the Map for Building/Refinement

You can change the map that is used for the fitting and refinement tools using the Select Map.... button on the Model/Fit/Refine dialog.

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

5.3 Rotate/Translate Zone

"Rotate/Translate Zone" from the "Model/Fit/Refine" menu allows manual movement of a zone. After pressing the "Rotate/Translate Zone" button, select two atoms in the graphics canvas to define a residue range (55), the second atom that you click will be the local rotation centre for the zone. The atoms selected in the moving fragment have the same alternate conformation code as the first atom you click. To actuate a transformation, click and drag horizontally across the relevant button in the newly-created "Rotation \& Translation" dialog. The axis system of the rotations and translations are the screen coordinates. Alternatively (56), you can click using left-mouse on an atom in the fragment and drag the fragment around. Use Control Left-mouse to move just one atom, rather than the whole fragment. Click "OK" when the transformation is complete.

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

5.4 Rigid Body Refinement

"Rigid Body Fit Zone" from the "Model/Fit/Refine" dialog provides rigid body refinement. The selection is zone-based (57). So to refine just one residue, click on one atom twice.

Sometimes no results are displayed after Rigid Body Fit Zone. This is because the final model positions had too many final atom positions in negative density. If you want to over-rule the default fraction of atoms in the zone that have an acceptable fit (0.75), to be (say) 0.25:

(set-rigid-body-fit-acceptable-fit-fraction 0.25)

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

5.5 Simplex Refinement

Rigid body refinement via Nelder-Mead Simplex minimization is available in Coot. Simplex refinement has a larger radius of convergence and thus is useful in a position wher simple rigid body refinement finds the wrong mimimum. However the Simplex algorithm is much slower. Simplex refinement for a residue range start-resno to end-resno (inclusive) in chain chain-id can be accessed as follows:

(fit-residue-range-to-map-by-simplex start-resno end-resno alt-loc chain-id imol imol-for-map)

There is currently no GUI interface to Simplex refinement.

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

5.6 Baton Building

Baton build is most useful if a skeleton is already calculated and displayed (see Section 6.12 Skeletonization). When three or more atoms have been built in a chain, Coot will use a prior probability distribution for the next position based on the position of the previous three. The analysis is similar to that of Oldfield & Hubbard (1994) (58), however it is based on a more recent and considerably larger database.

Little crosses are drawn representing directions in which is is possible that the chain goes, and a baton is drawn from the current point to one of these new positions. If you don't like this particular direction (59), use Try Another. The list of directions is scored according to the above criterion and sorted so that the most likely is at the top of the list and displayed first as the baton direction.

When starting baton building, be sure to be about 3.8Å from the position of the first-placed C\alpha, this is because the next C\alpha is placed at the end of the baton, the baton root being at the centre of the screen. So, when trying to baton-build a chain starting at residue 1, centre the screen at about the position of residue 2.

It seems like a good idea to increase the map sampling to 2 or even 2.5 (before reading in your mtz file) [a grid sampling of about 0.5Å seems reasonable] when trying to baton-build a low resolution map.

Occasionally, every point is not where you want to position the next atom. In that case you can either shorten or lengthen the baton, or position it yourself using the mouse. Use "b" on the keyboard to swap to baton mode for the mouse (60).

Baton-built atoms are placed into a molecule called "Baton Atom" and it is often sensible to save the coordinates of this molecule before quitting coot.

If you try to trace a high resolution map (1.5Å or better) you will need to increase the skeleton search depth from the default (10), for example:

(set-max-skeleton-search-depth 20)

Alternatively, you could generate a new map using data to a more moderate resolution (2Å), the map may be easier to interpret at that resolution anyhow (61).

The guide positions are updated every time the "Accept" button is clicked. The molecule name for these atoms is "Baton Build Guide Points" and is is not usually necessary to keep them.

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

5.6.1 Undo

There is also an "Undo" button for baton-building. Pressing this will delete the most recently placed C\alpha and the guide points will be recalculated for the previous position. The number of "Undo"s is unlimited. Note that you should use the "Undo" button in the Baton Build dialog, not the one in the "Model/Fit/Refine" dialog (Section 3.9 Backups and Undo).

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

5.6.2 Missing Skeleton

Sometimes (especially at loops) you can see the direction in which the chain should go, but there is no skeleton (see Section 6.12 Skeletonization) is displayed (and consequently no guide points) in that direction. In that case, "Undo" the previous atom and decrease the skeletonization level (Edit -> Skeleton Parameters -> Skeletonization Level). Accept the atom (in the same place as last time) and now when the new guide points are displayed, there should be an option to build in a new direction.

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

5.6.3 Building Backwards

The following senario is not uncommon: you find a nice stretch of density and start baton building in it. After a while you come to a point where you stop (dismissing the baton build dialog). You want to go back to where you started and build the other way. How do you do that?

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

5.7 Reversing Direction of Fragment

After you've build a fragment, sometimes you might want to change the direction of that fragment (this function changes an already existing fragment, as opposed to Backwards Building which sets up Baton Building to place new points in reverse order).

The fragment is defined as a contiguous set of residues numbers. So that you should be sure that other partial fragments which have the same chain id and that are not connected to this fragment have residue numbers that are not contiguous with the fragment you are trying to reverse.

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

5.8 C\alpha -> Mainchain

Mainchain can be generated using a set of C\alphas as guide-points (such as those from Baton-building) along the line of Esnouf (63) or Jones and coworkers (64). Briefly, 6-residue fragments of are generated from a list of high-quality (65) structures. The C\alpha atoms of these fragments are matched against overlapping sets of the guide-point C\alphas. The resulting matches are merged to provide positions for the mainchain (and C\beta) atoms. This proceedure works well for helices and strands, but less well (66) for less common structural features.

This function is also available from the scripting interface:

(db-mainchain imol chain-id resno-start resno-end direction) where direction is either "backwards" or "forwards".

Recall that the chain-id needs to be quoted, i.e. use "A" not A. Note that chain-id is "" when the C\alphas have been built with Baton Mode in Coot.

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

5.9 Backbone Torsion Angles

It is possible to edit the backbone \phi and \psi angles indirectly using an option in the Model/Fit/Refine's dialog: "Edit Backbone Torsions..". When clicked and an atom of a peptide is selected, this produces a new dialog that offers "Rotate Peptide" which changes this residues \psi and "Rotate Carbonyl" which changes \phi. Click and drag across the button (67) to rotate the moving atoms in the graphics window. You should know, of course, that making these modifications alter the \phi/\psi angles of more than one residue.

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

5.10 Rotamers

The rotamers are generated from the backbone independent sidechain library of Roland Dunbrack and co-workers (68). According to this analysis, some sidechains have many rotamer options (69). By default only rotamers with a probability (as derived from the structural database) greater than 1% are considered. The initial position is the most likely for that residue type (based on prior structure statisics only).

To change the probability lower limit for the rotamer selection use e.g.:

(set-rotamer-lowest-probability 0.5)

(note that this is a percentage, therefore 0.5% is quite low and will allow the choice of more rotamers than the default).

Use keyboard . and , to cycle round the rotamers.

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

5.10.1 Auto Fit Rotamer

"Auto Fit Rotamer" will try to fit the rotamer to the electron density. Each rotamer is generated, rigid body refined and scored according to the fit to the map. Fitting the second conformation of a dual conformation in this way will often fail - the algorithm will pick the best fit to the density - ignoring the position of the other atoms.

The algorithm doesn't know if the other atoms in the structure are in sensible positions. If they are, then it is sensible not to put this residue too close to them, if they are not then there should be no restriction from the other atoms as to the position of this residue - the default is "are sensible", which means that the algorithm is prevented from finding solutions that are too close to the atoms of other residues. (set-rotamer-check-clashes 0) will stop this.

There is a scripting interface to auto-fitting rotamers:

(auto-fit-best-rotamer resno alt-loc ins-code chain-id imol-coords imol-map clash-flag lowest-rotamer-probability)


resno is the residue number

alt-loc is the alternate/alternative location symbol (e.g. "A" or "B", but most often "")

ins-code is the insertion code (usually "")

imol-coords is the molecule number of the coordinates molecule

imol-map is the molecule number of the map to which you wish to fit the side chains

clash-flag should the positions of other residues be included in the scoring of the rotamers (i.e. clashing with other other atoms gets marked as bad/unlikely)

lowest-rotamer-probability: some rotamers of some side chains are so unlikely that they shouldn't be considered - typically 0.01 (1%).

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

5.10.2 De-clashing residues

Sometimes you don't have a map (70) but nevertheless there are clashing residues (71) (for example after mutation of a residue range) and you need to rotate side-chains to a non-clashing rotamer. There is a scripting interface:

(de-clash imol chain-id start-resno end-resno)

start-resno is the residue number of the first residue you wish to de-clash

end-resno is the residue number of the last residue you wish to de-clash

imol is the molecule number of the coordinates molecule

This interface will not change residues with insertion codes or alternate conformation. The lowest-rotamer-probability is set to 0.01.

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

5.11 Editing \chi Angles

Instead of using Rotamers, one can instead change the \chi angles (often called "torsions") "by hand" (using "Edit Chi Angles" from the "Model/Fit/Refine" dialog). To edit a residue's \chi_1 press "1": to edit \chi_2, "2": \chi_3 "3" and \chi_4 "4". Use left-mouse click and drag to change the \chi value. Use keyboard "0" (72) to go back to ordinary view mode at any time during the editing. Alternatively, one can use the "View Rotation Mode" or use the Ctrl key when moving the mouse in the graphics window. Use the Accept/Reject dialog when you have finished editing the \chi angles.

For non-standard residues, the clicked atom defines the base of the atom, which defines the "head" of the molecule (it's the "tail" that wags). To emphasise, then: it matters on which atom you click!

By default torsions for hydrogen atoms are turned off. To turn them on:

(set-find-hydrogen-torsions 1)

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

5.11.1 Ligand Torsion angles

For ligands, you will need to read the mmCIF file that contains a description of the ligand's geometry (see Section 5.1 Regularization and Real Space Refinement). By default, torsions that move hydrogens are not included. Only 9 torsion angles are available from the keyboard torsion angle selection.

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

5.12 Pep-flip

Coot uses the same pepflip scheme as is used in O (i.e. the C, N and O atoms are rotated 180^o round a line joining the C\alpha atoms of the residues involved in the peptide). Flip the peptide again to return the atoms to their previous position.

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

5.13 Add Alternate Conformation

The allows the addition alternate (dual, triple etc.) conformations to the picked residue. By default, this provides a choice of rotamer (Section 5.10 Rotamers). If there are not the correct main chain atoms a rotamer choice cannot be provided, and Coot falls back to providing intermediate atoms.

The default occupancy for new atoms is 0.5. This can be changed by using use slider on the rotamer selection window or by using the scripting function:

(set-add-alt-conf-new-atoms-occupancy 0.4)

The default Split Type is to split the whole residue. If you want the default to be to split a residue after (and including) the CA, then add to your `.coot' file:

(set-add-alt-conf-split-type-number 0)

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

5.14 Mutation

Mutations are available on a 1-by-1 basis using the graphics. After selecting "Mutate..." from the "Model/Fit/Refine" dialog, click on an atom in the graphics. A "Residue Type" window will now appear. Select the new residue type you wish and the residue in the graphics is updated to the new residue type (73). The initial position of the new rotatmer is the a priori most likely rotamer. Note that in interactive mode, such as this, a residue type match (74) will not stop the mutation action occurring.

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

5.14.1 Mutating DNA/RNA

Mutation of DNA or RNA can be performed using "Simple Mutate" from the Model/Fit/Refine dialog. Residues need to be named "Ad", "Gr", "Ur" etc.

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

5.14.2 Multiple mutations

This dialog can be found under Calculate -> Mutate Residue Range. A residue range can be assigned a sequence and optionally fitted to the map. This is useful converting a poly-ALA model to the correct sequence (75).

Multiple mutations are also supported via the scripting interface. Unlike the single residue mutation function, a residue type match will prevent a modification of the residue (76). Two functions are provided: To mutate a whole chain, use (mutate-chain imol chain-id sequence) where:

chain-id is the chain identifier of the chain that you wish to mutate (e.g. "A") and

imol is molecule number.

sequence is a list of single-letter residue codes, such as "GYRESDF" (this should be a straight string with no additional spaces or carriage returns).

Note that the number of residues in the sequence chain and those in the chain of the protein must match exactly (i.e. the whole of the chain is mutated (except residues that have a matching residue type).)

To mutate a residue range, use


start-res-no is the starting residue for mutation

stop-res-no is the last residue for mutation, i.e. using values of 2 and 3 for start-res-no and stop-res-no respectively will mutate 2 residues.

Again, the length of the sequence must correspond to the residue range length.

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

5.14.3 Mutate and Autofit

The function combines Mutation and Auto Fit Rotamer and is the easiest way to make a mutation and then fit to the map. You can currently only "Mutate and Autofit" protein residues (i.e. things with a rotamer dictionary.

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

5.14.4 Renumbering

Renumbering is straightforward using the renumber dialog available under Calculate -> Renumber Residue Range.... There is also a scripting interface:

(renumber-residue-range imol chain-id start-res-no last-resno offset)

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

5.15 Importing Monomers

You can import monomers (often ligands) using File -> Get Monomer...(77) by providing the 3-letter code of your monomer/ligand. The resulting molecule will be moved so that it placed at the current screen centre.

Typically, when you are happy about the placement of the ligand, you'd then use Merge Molecules to add the ligand/monomer to the main set of coordinates.

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

5.15.1 Ligand from SMILES strings

Similarly, you can generate ligands using File -> SMILES... and providing a SMILES string and a code for the residue name (this is your name for the residue type and a dictionary will be generated for the monomer of this type)(78).

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

5.16 Find Ligands

You are offered a selection of maps to search (you can only choose one at a time) and a selection of molecules that act as a mask to this map. Finally you must choose which ligand types you are going to search for in this map (79). Only molecules with less than 400 atoms are suggested as potential ligands.

If you do not have any molecules with less that 400 atoms loaded in Coot, you will get the message:

"Error: you must have at least one ligand to search for!"

New ligands are placed where the map density is and protein (mask) atoms are not). The masked map is searched for clusters using a default cut-off of 1.0$\sigma. In weak density this cut-off may be too high and in such a case the cut-off value can be changed using something such as:

(set-ligand-cluster-sigma-level 0.8)

However, if the map to be searched for ligands is a difference map, a cluster level of 2.0 or 3.0 would probably be more appropriate (less likely to generate spurious sites).

Each ligand is fitted with rigid body refinement to each potential ligand site in the map and the best one for each site selected and written out as a pdb file. The clusters are sorted by size, the biggest one first (with an index of 0). The output placed ligands files have a prefix "best-overall" and are tagged by the cluster index and residue type of the best fit ligand in that site.

By default, the top 10 sites are tested for ligands - to increase this use:

(set-ligand-n-top-ligands 20)

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

5.16.1 Flexible Ligands

If the "Flexible?" checkbutton is activated, coot will generate a number of variable conformations (default 100) by rotating around the rotatable bonds (torsions). Each of these conformations will be fitted to each of the potential ligand sites in the map and the best one will be selected (again, if it passes the fitting criteria above).

Before you search for flexible ligands you must have read the mmCIF dictionary for that particular ligand residue type (File -> Import CIF dictionary).


(set-ligand-flexible-ligand-n-samples n-samples)

where n-samples is the number of samples of flexiblity made for each ligand. The more the number of rotatable bonds, the bigger this number should be.

By default the options to change these values are not in the GUI. To enable these GUI options, use the scripting function:


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

5.16.2 Adding Ligands to Model

After successful ligand searching, one may well want to add that displayed ligand to the current model (the coordinates set that provided the map mask). To do so, use Merge Molecules (Section 5.23 Merge Molecules).

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

5.17 Find Waters

As with finding ligands, you are given a chose of maps, protein (masking) atoms. A final selection has to be made for the cut-off level, note that this value is the number of standard deviation of the density of the map before the map has been masked. Then the map is masked by the masking atoms and a search is made of features in the map about the electron density cut-off value. Waters are added if the feature is approximately water-sized and can make sensible hydrogen bonds to the protein atoms. The new waters are optionally created in a new molecule called "Waters".

You have control over several parameters used in the water finding:


which writes ligand-waters-peaksearch-results.pdb, which contains the water peaks (from the clusters) without any filtering and ligand-waters.pdb which are a disk copy filtered waters that have been either added to the molecule or from which a new molecule has been created.

(set-ligand-water-spherical-variance-limit min-d max-d) sets the minimum and maximum allowable distances between new waters and the masking molecule (usually the protein).

(set-ligand-water-spherical-variance-limit varlim) sets the upper limit for the density variance around water atoms. The default is 0.12.

The map that is maked by the protein and is searched to find the waters is written out in CCP4 format as "masked-for-waters.map".

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

5.17.1 Blobs

After a water search, Coot will create a blobs dialog (see Section 7.3 Blobs: a.k.a. Unmodelled density).

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

5.17.2 Check Waters via Difference Map

Another check of waters that one can perform is the following:

(check-waters-by-difference-map imol-coords imol-diff-map)

where imol-coords is the molecule number of the coordinates that contain the waters to be checked

imol-diff-map is the molecule number of the difference map (it must be a difference map, not an "ordinary" map). This difference map must have been calculated using the waters. So there is no point in doing this check immediately after "Find Waters". You will need to run Refmac first (80).

This analysis will return a list of water atoms that have outstandingly high local variance of the difference map (by default a sphere of 1.5Å centred about the atom position). This analysis might find waters that are actually something else, for example: part of a ligand, a sulfate, an anion or cation, only partially occupied or should be deleted entirely. Coot doesn't decide what should be done about these atoms (81), it merely brings them to your attention. It may be interesting to use an anomalous map to do this analysis.

There is no GUI for this feature.

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

5.18 Add Terminal Residue

This creates a new residue at the C or N terminus by fitting to the map. \phi/\psi angle pairs are selected at random based on the Ramachandran plot probability (for a generic residue). By default there are 100 trials. It is possible that a wrong position will be selected for the terminal residue and if so, you can reject this fit and try again with Fit Terminal Residue (82). Each of the trial positions are scored according to their fit to the map (83) and the best one selected. It is probably a good idea to run "Refine Zone" on these new residues.

(set-terminal-residue-do-rigid-body-refine 0) will disable rigid body fitting of the terminal residue fragment for each trial residue position (the default is 1 (on)) - this may help if the search does not provide good results.

(set-add-terminal-residue-n-phi-psi-trials 50) will change the number of trials (default is 100).

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

5.19 Add OXT Atom to Residue

At the C-terminus of a chain of amino-acid residues, there is a "modification" so that the C-O becomes a carbonyl, i.e. an extra (terminal) oxygen (OXT) needs to be added. This atom is added so that it is in the plane of the C\alpha, C and O atoms of the residue.

Scripting usage:

(add-OXT-to-residue imol residue-number insertion-code chain-id) (84),

where insertion-code is typically "".

Note, in order to place OXT, the N, CA, C and O atoms must be present in the residue - if (for example) the existing carbonyl oxygen atom is called "OE1" then this function will not work.

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

5.20 Add Atom at Pointer

By default, "Add Atom At Pointer" will pop-up a dialog from which you can choose the atom type you wish to insert (85). Using (set-pointer-atom-is-dummy 1) you can by-pass this dialog and immediately create a dummy atom at the pointer position. Use an argument of 0 to revert to using the atom type selection pop-up on a button press.

The atoms are added to a new molecule called "Pointer Atoms". They should be saved and merged with your coordinates outside of Coot.

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

5.21 Place Helix

The idea is to place a helix more or less "here" (the screen centre) by fitting to the electron density map. The algorithm is straightforward. First we move to the local centre of density, then examine the density for characteristic directions and fit ideal helices (of length 20 residues) to these directions. The helix is then extended if possible (by checking the fit to the map of residues added in ideal helix conformation) and chopped back if not. If the fit is succesful, the helix is created in a new molecule called "Helix". If the fit is not successful, there is instead a message added to the status bar. You can build the majority of a helical protein in a few minutes using this method (you will of course have to assemble the helices and assign residue numbers and sequence later).

This is available as a scripting function (place-helix-here) and in the GUI (in the "Other Modelling Tools" dialog).

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

5.22 Building Ideal DNA and RNA

The interface to building ideal polynucleotides can be found by pressing the "Ideal RNA/DNA..." button on the "Other Modelling Tools" dialog.

For a given sequence, a choice of DNA or RNA, A or B form, single or double stranded is presented.

The interface may not gracefully handle uricils in DNA, thymines in RNA or B form RNA (86).

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

5.23 Merge Molecules

This dialog can be found under "Calculate" in the main menubar. This is typically used to add molecule fragments or residues that are in one molecule to the "working" coordinates (87).

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

5.24 Applying NCS Edits

Let's imagine that you have 3-fold NCS. You have molecule "A" as you master molecule and you make edits to that molecule. Now you want to apply the edits that you made to "A" (the NCS master chain ID) to the "B" and "C" molecules (i.e. you want the "B" and "C" molecules to be rotated/translated versions of the "A" molecule). How is that done?

(copy-from-ncs-master-to-others imol master-chain-id)

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

5.25 Running Refmac

Use the "Run Refmac...." button to select the dataset and the coordinates on which you would like to run Refmac. Note that only dataset which had Refmac parameters set as the MTZ file was read are offered as dataset that can be used with Refmac. By default, Coot displays the new coordinates and the new map generated from refmac's output MTZ file. Optionally, you can also display the difference map.

You can add extra parameters (data lines) to refmac's input by storing them in a file called refmac-extra-params in the directory in which you started coot.

Coot "blocks" (88) until Refmac has terminated (89).

The default refmac executable is refmac5 it is presumed to be in the path. If you don't want this, it can be overridden using a re-definition either at the scripting interface or in one's ~/.coot file e.g.:

After running refmac several times, you may find that you prefer if the new map that refmac creates (after refmac refinement) is the same colour as the previous one (from before this refmac refinement). If so, use:

(set-keep-map-colour-after-refmac 1)

which will swap the colours of then new and old refmac map so that the post-refmac map has the same colour as the pre-refmac map and the pre-refmac map is coloured with a different colour.

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

5.26 Running SHELXL

Coot can read shelx .res files and write .ins files, and thus one can refine using SHELXL in a convenient manner using the function

(shelxl-refine imol . hkl-file-name)

(the hkl-file-name is an optional argument)


(shelxl-refine 0)


(shelxl-refine 0 "insulin.hkl")

In the former case, coot will presume that there is a SHELX hkl file corresponding to the res file that you read in; if there is not coot will print a warning and not try to run shelxl. In the latter case, you can specify the location of the hkl file.

After shelxl has finished, coot will automatically read in the resulting res coordinates, the fcf file, convert the data to mmCIF format and read that, which generates a \sigma_A map and a difference map.

Coot creates a time stamped ins file and a time-stamped sym-link to the hkl file in the coot-shelxl directory.

There is as yet no GUI button for this operation. Also please note that the output ins file will not be particularly useful (and thus shelxl will fail) if the input file was not in SHELX ins format.

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

5.27 Clear Pending Picks

Sometimes one can click on a button (90) unintentionally. This button is there for such a case. It clears the expectation of an atom pick. This works not only for modelling functions, but also geometry functions (such as Distance and Angle).

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

5.28 Delete

Single atoms or residues can be deleted from the molecule using "Delete..." from the "Model/Fit/Refine"dialog. Pressing this button results in a new dialog, with the options of "Residue" (the default), "Atom" and "Hydrogen Atoms". Now click on an atom in the graphics - the deleted object will be the whole residue of the atom if "Residue" was selected and just that atom if "Atom" was selected.

Only waters are deletable if the "Water" check button is active and waters are not deletable if the "Residue/Monomer" check button is active. This is to reduce mis-clicking.

To rotate the view when in "Delete Mode", use Ctrl left-mouse.

If you want to delete multiple items you can use check the "Keep Delete Active" check-button on this dialog This will will keep the dialog open, ready for deletion of next item.

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

5.29 Sequence Assignment

You can assign a (fasta format) sequence to a molecule using:

(assign-fasta-sequence imol chain-id fasta-seq)

This function has been provided as a precursor to functions that will (as automatically as possible) mutate your current coordinates to one that has the desired sequence. It will be used in automatic side-chain assignment (at some stage in the future).

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

5.30 Building Links and Loops

Coot can make an attempt to build missing linking regions or loops (91). This is an area of Coot that needs to be improved, currently O does it much better. We will have several different loop tools here (92). For now there is Calculate -> Fit Gap or the scripting function:

(fit-gap imol chain-id start-resno stop-resno)


(fit-gap imol chain-id start-resno stop-resno sequence)

the second form will also mutate and try to rotamer fit the provided sequence.

Example usage: let's say for molecule number 0 in chain "A" we have residues up to 56 and then a gap after which we have residues 62 and beyond:

(fit-gap 0 "A" 57 61 "TYPWS")

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

5.31 Fill Partial Residues

After molecular replacement, the residues of your protein could well have the correct sequence but be chopped back to CG or CB atoms. There is a function to fill such partially-filled residues:

(fill-partial-residues imol)

This identifies residues with missing atoms, then fills them and does a rotamer fit and real-space refinement.

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

5.32 Setting Occupancies

As well as the editing "Residue Info" to change occupancies of individual atoms, one can use a scripting function to change occupancies of a whole residue range:

example usage:

(zero-occupancy-residue-range 0 "A" 23 28)

This is often useful to zero out a questionable loop before submitting for refinement. After refinement (with refmac) there should be relatively unbiased density in the resulting 2Fo-Fc-style and difference maps.

Similarly there is a function to reverse this operation:

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

5.33 Fix Nomenclature Errors

Currently this is available only in scripting form:

(fix-nomenclature-errors imol)

This will fix atoms nomenclature problems in molecule number imol according to the same criteria as WATCHECK (93) e.g. Chi-2 for Phe, Tyr, Asp, and Glu should be between -90 and 90 degrees.

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

5.34 Rotamer Fix Whole Protein

There is an experimental scripting function

(fit-protein imol)

which does a auto-fit rotamer and Real Space Refinement for each residue. The graphics follow the refinement.

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

5.35 Refine All Waters

All the waters in a model can be refined (that is, moved to the local density peak) using

(fit-waters imol)

This is a non-interactive function (the waters are moved without user intervention).

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

5.36 Modifying the Labels on the Model/Fit/Refine dialog

If you don't like the labels "Rotate/Translate Zone" or "Place Atom at Pointer" and rather they said something else, you can change the button names using:

(set-model-fit-refine-rotate-translate-zone-label "Move Zone")


(set-model-fit-refine-place-atom-at-pointer "Add Atom")

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

6. Map-Related Features

6.1 Maps in General  
6.3 Map Contouring  
6.4 Map Extent  
6.6 Map Line Width  
6.7 "Dynamic" Map colouring  
6.8 Difference Map Colouring  
6.9 Map Sampling  
6.10 Dragged Map  
6.11 Dynamic Map Sampling and Display Size  
6.12 Skeletonization  
6.13 Masks  
6.14 Trimming  
6.15 Map Transformation  
6.16 Export Map  

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

6.1 Maps in General

Maps are "infinite," not limited to pre-calculated volume (the "Everywhere You Click - There Is Electron Density" (EYC-TIED) paradigm) symmetry-related electron density is generated automatically. Maps are easily re-contoured. Simply use the scroll wheel on you mouse to alter the contour level (or -/+ on the keyboard). Maps follow the molecule. As you recentre or move about the crystal, the map quickly follows. If your computer is not up to re-contouring all the maps for every frame, then use Draw -> Dragged Map... to turn off this feature.

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

6.1.1 Map Reading Bug

Unfortunately, there is a bug in map-reading. If the map is not a bona-fide CCP4 map (94), then coot will crash. Sorry. A fix is in the works but "it's complicated". That's why maps are limited to the extension ".ext" and ".map", to make it less likely a non-CCP4 map is read.

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

6.2 Create a map

From MTZ, mmCIF and .phs (PHASES format) data use File -> Open MTZ, CIF or phs.... You can then choose the MTZ columns for the Fourier synthesis. The button "Expert mode" also adds to the options any anomalous columns you may have in the MTZ file. It also provides the option to apply resolution limits.

From a CCP4 map use File -> Read Map. After being generated/read, the map is immediately contoured and centred on the current rotation centre.

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

6.2.1 Auto-read MTZ file

This function allows Coot to read an MTZ file and make a map directly (without going through the column selection procedure). The default column labels for auto-reading are "FWT" and "PHWT" for the 2Fo-Fc-style map, "DELFWT" and "PHDELWT" for the difference map. You can change the column labels that Coot uses for auto-reading - here is an example of how to do that:

(set-auto-read-column-labels "2FOFCWT" "PHIWT" 0) (set-auto-read-column-labels "FOFCWT" "DELPHIWT" 1)

By default the difference map is created in auto-reading the MTZ file. If you don't want a difference map, you can use the function:

(set-auto-read-do-difference-map-too 0)

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

6.2.2 Reading CIF data

There are several maps that can be generated from CIF files that contain observed Fs, calculated Fs and calculated phases:

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

6.3 Map Contouring

Maps can be re-contoured using the middle-mouse scroll-wheel (buttons 4 and 5 in X Window System(TM) terminology). Scrolling the mouse wheel will change the map contour level and the map it redrawn. If you have several maps displayed then the map that is has its contour level changed can be set using HID -> Scrollwheel -> Attach scroll-wheel to which map?. If there is only one map displayed, then that is the map that has its contour level changed (no matter what the scroll-wheel is attached to in the menu). The level of the electron density is displayed in the top right hand corner of the OpenGL canvas.

Use keyboard + or - to change the contour level if you don't have a scroll-wheel (95).

If you are creating your map from an MTZ file, you can choose to click on the "is difference map" button on the Column Label selection widget (after a data set filename has been selected) then this map will be displayed in 2 colours corresponding to + and - the map contour level.

If you read in a map it is a difference map then there is a checkbutton to tell Coot that.

If you want to tell Coot that a map is a difference map after it has been read, use:

(set-map-is-difference-map imol)

where imol is the molecule number.

By default the change of the contour level is determined from the sigma of the map. You can change this in the map properties dialog or by using the scripting function:

(set-contour-by-sigma-step-by-mol step on/off? imol)


step is the difference in sigma from one level to the next (typically 0.2)

on/off? is either 0 (sigma stepping off) or 1 (sigma stepping on)

By default the map radius (96) is 10Å. The default increment to the electron density depends on whether or not this is a difference map (0.05 e^-/\AA^3 for a "2Fo-Fc" style map and 0.005 e^-/\AA^3 for a difference map). You can change these using Edit -> Map Parameters or by using the "Properties" button of a particular map in the Display Control (Display Manager) window.

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

6.4 Map Extent

The extent of the map can be set using the GUI (Edit -> Map Parameters -> Map Radius) or by using the scripting function, e.g.:

(set-density-size 13.2)

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

6.5 Map contour "scrolling" limits

Usually one doesn't want to look at negative contour levels of a map(97), so Coot has by default a limit that stops the contour level going beyond (less than) 0. To remove the limit:

(set-stop-scroll-iso-map 0) for a 2Fo-Fc style map

(set-stop-scroll-diff-map 0) for a difference map

To set the limits to negative (e.g. -0.6) levels:

(set-stop-scroll-iso-map-level -0.6)

and similarly:

(set-stop-scroll-diff-map-level -0.6)

where the level is specified in e^-/\AA^3.

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

6.6 Map Line Width

The width of the lines that descibe the density can be changed like this:

(set-map-line-width 2)

The default line width is 1.

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

6.7 "Dynamic" Map colouring

By default, maps get coloured according to their molecule number. The starting colour (i.e. for molecule 0) is blue. The colour of a map can be changed by Edit -> Map Colour... The map colour gets updated as you change the value in the colour selector (98). Use "OK" to fix that colour.

As subsequent maps are read, the are coloured by rotation round colour map. The default colour map step is 31 degrees. You can change this using

(set-colour-map-rotation-for-map step)

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

6.8 Difference Map Colouring

For some strange reason, some crystallographers (99) like to have their difference maps coloured with red as positive and green as negative, this option is for them:

(set-swap-difference-map-colours 1)

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

6.9 Map Sampling

By default, the Shannon sampling factor is the conventional 1.5. Use larger values (Edit -> Map Parameters -> Sampling Rate) for smoother maps (100).

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

6.10 Dragged Map

By default, the map is re-contoured at every frame during a drag (Ctrl Left-mouse). Sometimes this can be annoyingly slow and jerky so it is possible to turn it off: Draw -> Dragged Map -> No.

To change this by scripting:

(set-active-map-drag-flag 0)

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

6.11 Dynamic Map Sampling and Display Size

If activated (Edit -> Map Parameters -> Dynamic Map Sampling) the map will be re-sampled on a courser grid when the view is zoomed out. If "Display Size" is also activated, the box of electron density will be increased in size also. In this way, you can see electron density for big maps (many unit cells) and the graphics still remain rotatable.

If you want to have these functions active for all maps, add the following to your initialization file 3.8.2 Scheme:

(set-dynamic-map-sampling-on) (set-dynamic-map-size-display-on)

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

6.12 Skeletonization

The skeleton (also known as "Bones" (101)) can be displayed for any map. A map can be skeletonized using Calculate -> Map Skeleton.... Use the option menu to choose the map and click "On" then "OK" to the generate the map (the skeleton is off by default).

The level of the skeleton can be changed by using Edit -> Skeleton Parameters... -> Skeletonization Level... and corresponds to the electron density level in the map. By default this value is 1.2 map standard deviations. The amount of map can be changed using Edit -> Skeleton Parameters... -> Skeleton Box Radius...(102). The units are in Ångstr@"{o}ms, with 40 as the default value.

The skeleton is often recalculated as the screen centre changes - but not always since it can be an irritatingly slow calculation. If you want to force a regeneration of the displayed skeleton, simply centre on an atom (using the middle mouse button) or press the S key.

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

6.13 Masks

A map can be masked by a set of coordinates. Use the scripting function:

(mask-map-by-protein imol-map imol-model invert-mask?)

If invert-mask? is 0, this will create a new map that has density only where there are no (close) coordinates. If invert-mask? is 1 then the map densit values will be set to zero everywhere except close to the atoms of molecule number imol-model.

There is no GUI interface to this feature at the moment.

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

6.13.1 Example

If one wanted to show just the density around a ligand:

  1. Make a pdb file the contains just the ligand and read it in to Coot - let's say it is molecule 1 and the ligand is residue 3 of chain "L".
  2. Get a map that covers the ligand (e.g. from refmac). Let's say this map is molecule number 2.
  3. Mask the map:

    (mask-map-by-molecule 2 1 1)

    This creates a new map. Turn the other maps off, leaving only the masked map.

To get a nice rendered image, press F8 (see Section 3.5 Raster3D output).

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

6.14 Trimming

If you want to remove all the atoms (103) that lie "outside the map" (i.e. in low density) you can use

(trim-molecule-by-map imol-coords imol-map density-level delete/zero-occ?)

where delete/zero-occ? is 0 to remove the atoms and 1 to set their occupancy to zero.

There is no GUI interface to this feature.

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

6.15 Map Transformation

If you want to transform a map, you can do it thusly:

(transform-map imol rotation-matrix trans point)


rotation-matrix is a 9-membered list of numbers

trans is a 3-membered list of numbers

trans is a 3-membered list of numbers

This applies the rotation rotation-matrix and a translation trans to the map about the position point. The resulting map is built in a 20A grid around point.

Typical usage:

(transform-map 2 '(1 0 0 0 1 0 0 0 1) '(0 0 1) (rotation-centre))

which transforms map number 2 by a translation of 1A along the Z axis, centred at the screen centre.

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

6.16 Export Map

You can write out a map from Coot (e.g. one from NCS averaging, or masking or general transformation) using the export map function:

(export-map imol filename)


(export-map 4 "ncs-averaged.map")

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

7. Validation

The validation functions are in the process of being written. In future there will be more functions, particularly those that will interface to other programs (104).

7.1 Ramachandran Plots  
7.2 Chiral Volumes  
7.3 Blobs: a.k.a. Unmodelled density  
7.4 Check Waters by Difference Map  
7.5 Molprobity Tools Interface  
7.6 Validation Graphs  

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

7.1 Ramachandran Plots

Ramachandran plots are "dynamic". When you edit the molecule (i.e. move the coordinates of some of atoms) the Ramachandran plot gets updated to reflect those changes. Also the underlying \phi/\psi probability density changes according to the selected residue type (i.e. the residue under the mouse in the plot). There are 3 different residue types: GLY, PRO, and not-GLY-or-PRO (105).

When you mouse over a representation of a residue (a little square or triangle (106)) the residue label pops up. The residue is "active" i.e. it can be clicked. The "graphics" view changes so that the C\alpha of the selected residue is centred. In the Ramachandran plot window, the current residue is highlighted by a green square.

The underlying distributions are taken from the Richardson's Top500 structures http://kinemage.biochem.duke.edu/databases/top500.php.

The probability levels for acceptable (yellow) and preferred (red) are 0.12\% and 2\% respectively.

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

7.2 Chiral Volumes

The dictionary is used to identify the chiral atoms of each of the model's residues. A clickable list is created of atoms whose chiral volume in the model is of a different sign to that in the dictionary.

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

7.3 Blobs: a.k.a. Unmodelled density

This is an interface to the Blobs dialog. A map and a set of coordinates that model the protein are required.

A blob is region of relatively high residual election density that cannot be explained by a simple water. So, for example, sulfates, ligands, mis-placed sidechains or unbuilt terminal residues might appear as blobs. The blobs are in order, the biggest (107) at the top.

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

7.4 Check Waters by Difference Map

Sometimes waters can be misplaced - taking the place of sidechains or ligands or crystallization agents such as phosphate for example (108). In such cases the variance of the difference map can be used to identify them.

This function is also useful to check anomalous maps. Often waters are placed in density that is really a cation. If such an atom diffracts anomalously this can be identified and corrected.

By default the waters with a map variance greater than 3.5\sigma are listed. One can be more rigorous by using a lower cut-off:

(set-check-waters-by-difference-map-sigma-level 3.0)

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

7.5 Molprobity Tools Interface

The molprobity tools `probe' and `reduce' have been interfaced into Coot (currently, the interface is not slick). However, the tools are useful and can be used in the following way:

first we need to tell Coot where to find the relevant executables (typically you would add the following lines to you `~/.coot' file):

(define *probe-command* "/path/to/probe/executable")

(define *reduce-command* "/path/to/reduce/executable") now the probe hydrogens and probe dots can be generated using (in the Scripting Window):

(probe imol)

where imol is the molecule number of coordinates to be probed. A new molecule with Hydrogens is created (by `reduce') and read in.

This gives a "static" view of the molecule's interactions.

To get a dynamic view (which is currently only enabled on rotating chi angles) add these to your `~/.coot' file:

(set-do-probe-dots-on-rotamers-and-chis 1)

To get a semi-static view (dots are regenerated in the region of zone after a "Real Space Refinement"):

(set-do-probe-dots-post-refine 1)

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

7.6 Validation Graphs

Coot provides several graphs that are useful for model validation (on a residue by residue basis): residue denisty fit, geometry distortion, temperature factor variance, peptide distortion and rotamer analysis.

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

7.6.1 Residue Density Fit

The residue density fit is by default scaled to a map that is calculated on the absolute scale. Some users use maps that have maps with density levels considerably different to this, which makes the residue density fit graph less useful. To correct for this you can use the scripting function:

(set-residue-density-fit-scale-factor factor)

where factor would be 1/(4\sigma_{map)} (as a rule of thumb).

(residue-density-fit-scale-factor) returns the current scale factor (default 1.0).

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

7.6.2 Rotamer Analysis

Residue rotamers are scored according to the prior likelihood. Note that when CD1 and CD2 of a PHE residue are exchanged (simply a nomenclature error) this can lead to large red blocks in the graph (apparently due to very unlikely rotamers). There are several other residues that can have nomenclature errors like this.

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

7.6.3 Temperature Factor Variance

This idea is from Eleanor Dodson, who liked to use the standard deviation of a residue's temperature factors to highlight regions of questionable structure.

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

7.6.4 Peptide \omega Distortion

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

7.6.5 Geometry

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

8. Hints and Usage Tips

8.1 Coot Droppings  
8.2 Getting out of "Translate" Mode  
8.3 Getting out of "Label Atom Only" Mode  
8.4 Button Labels  
8.5 Picking  
8.6 Resizing View  
8.7 Scroll-wheel  
8.8 Slow Computer Configuration  

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

8.1 Coot Droppings

This describes the files and directory that coot leaves behind after it has been fed (sorry, I mean "used"). Everything except the 0-coot.state.scm state file can comfortably be deleted if needed after coot has finished.

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

8.2 Getting out of "Translate" Mode

If you get stuck in "translate" mode in the GL canvas (i.e. mouse does not rotate the view as you would expect) simply press and release the Ctrl key to return to "rotate" mode.

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

8.3 Getting out of "Label Atom Only" Mode

Similarly, if you are stuck in a mode where the "Model/Fit/Refine" buttons don't work (the atoms are not selected, only the atom gets labelled), press and release the Shift key.

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

8.4 Button Labels

Button labels ending in "..." mean that a new dialog will pop-up when this button is pressed.

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

8.5 Picking

Note that left-mouse in the graphics window is used for both atom picking and rotating the view, so try not to click over an atom when trying to rotate the view when in atom selection mode.

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

8.6 Resizing View

Click and drag using right-mouse (up and down or left and right) to zoom in and out.

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

8.7 Scroll-wheel

To change the map to which the scroll-wheel is attached, use the scroll check button in the Display Manager or use HID -> Scrollwheel -> Attach Scrollwheel to which map?
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.8 Slow Computer Configuration

Several of the parameters of Coot are chosen because they are reasonable on my "middle-ground" development machine. However, these parameters can be tweeked so that slower computers perform better:

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


Jump to:   .  
A   B   C   D   E   F   G   H   I   L   M   N   O   P   R   S   T   U   V   W   Y   Z  

Index Entry Section

.coot3.8.2 Scheme
.coot.py3.8.1 Python

alternate conformation5.13 Add Alternate Conformation
anisotropic atoms4.10 Anisotropic Atoms
atom colouring3.6 Display Manager
atom colouring4.4 Atom Colouring
atom info4.2 Atom Info
atom label, brief4.3 Atom Labeling
atom labeling4.3 Atom Labeling
atom picking5.27 Clear Pending Picks
atomic dots4.17 Atomic Dots
auto-fit rotamer5.10.1 Auto Fit Rotamer

background colour3.14 Background colour
backups3.9 Backups and Undo
baton build5.6 Baton Building
baton mode5.6 Baton Building
big maps6.11 Dynamic Map Sampling and Display Size
blobs7.3 Blobs: a.k.a. Unmodelled density
bond thickness4.5.1 Bond Thickness
bones6.12 Skeletonization

C-terminus5.19 Add OXT Atom to Residue
C\alpha representation3.6 Display Manager
C\alpha symmetry4.11 Symmetry
change contour level6.1 Maps in General
changing the Refinement Map5.2 Changing the Map for Building/Refinement
chi angles5.11 Editing \chi Angles
cif dictionary5.1.1 Dictionary
citing coot1.1 Citing Coot and Friends
clashing residues5.10.2 De-clashing residues
Clear Pending Picks5.27 Clear Pending Picks
clipping3.13 Clipping manipulation
colour by chain3.6 Display Manager
colouring, atoms4.4 Atom Colouring
colouring, map6.7 "Dynamic" Map colouring
command line arguments1.6 Command Line Arguments
contouring, map2.7 Scrollwheel
contouring, map6.3 Map Contouring
coordinates format4.1 Reading coordinates
crash1.8 Crash
crash recovery1.8 Crash
crosshairs3.17 Crosshairs

debugger1.8 Crash
default refmac executable5.25 Running Refmac
delete5.28 Delete
density line thickness6.6 Map Line Width
depth-cueing3.4 Display Issues
dictionary, cif1.5 Environment Variables
dictionary, cif5.16.1 Flexible Ligands
difference map6.3 Map Contouring
difference map colours6.3 Map Contouring
directory for save coordinates3.7.3 Save Coordinates Directory
Display Manager3.6 Display Manager
DNA, ideal5.22 Building Ideal DNA and RNA
DNA, mutating5.14.1 Mutating DNA/RNA
dual conformations5.13 Add Alternate Conformation
Dunbrack, Roland5.10 Rotamers

edit \chi angles5.11 Editing \chi Angles
edit B-factors4.2 Atom Info
edit occupancy4.2 Atom Info
Electron Density Server4.7 Get Coordintes and Map from EDS
executing commands3.8 Scripting
export map6.16 Export Map
EYC-TIED6.1 Maps in General

file-name filtering3.7.1 File-name Filtering
fill partial residues5.31 Fill Partial Residues
flip peptide5.12 Pep-flip
fragment direction change5.7 Reversing Direction of Fragment
frame rate3.18 Frame Rate

gdb1.8 Crash
goose4.6 Download coordinates
guile3.8.2 Scheme

helix placement5.21 Place Helix
hydrogens4.5.2 Display Hydrogens

initialization file3.8.2 Scheme

Least Squares Fitting4.20 Least-Squares Fitting
ligand torsion angles5.11.1 Ligand Torsion angles
ligands5.16 Find Ligands
ligands, flexible5.16.1 Flexible Ligands

mainchain5.8 C\alpha -> Mainchain
mainchain torsions5.9 Backbone Torsion Angles
map box radius6.4 Map Extent
map changing (for refinement/building)5.2 Changing the Map for Building/Refinement
map extent6.4 Map Extent
map line width6.6 Map Line Width
map scrolling2.7 Scrollwheel
map transformation6.15 Map Transformation
masks6.13 Masks
mean B-factor4.18 Mean, Median Temperature Factors
median B-factor4.18 Mean, Median Temperature Factors
merge molecules5.23 Merge Molecules
missing symmetry4.11.1 Missing symmetry
mmCIF dictionary5.1.1 Dictionary
modified labels5.36 Modifying the Labels on the Model/Fit/Refine dialog
molecule centre4.21 More on Moving Molecules
molecule number3.3 Molecule Number
Molprobity Tools7.5 Molprobity Tools Interface
monomers5.15 Importing Monomers
mouse1.4.1 Mouse
mouse buttons2. Mousing and Keyboarding
multi-mutate5.14.2 Multiple mutations
multiple coordinates files4.1.1 Read multiple coordinate files
mutate5.14 Mutation
mutating DNA5.14.1 Mutating DNA/RNA
mutating RNA5.14.1 Mutating DNA/RNA

NCS4.5.3 NCS Ghosts Coordinates
NCS averaging4.5.4 NCS Maps
NCS edits5.24 Applying NCS Edits
negative contour levels6.5 Map contour "scrolling" limits

OCA4.6 Download coordinates
OpenGL3.4 Display Issues
origin marker3.4.3 Origin Marker
output3.19 Program Output
OXT atom5.19 Add OXT Atom to Residue

packing diagram4.11 Symmetry
pepflip5.12 Pep-flip
peptide restraints, planar5.1.2 Planar Peptide Restraints
PHASES format6.2 Create a map
picking8.5 Picking
pink pointer3.16 Rotation Centre Pointer
planar peptide restraints5.1.2 Planar Peptide Restraints
planes5.1 Regularization and Real Space Refinement
polynucleotides5.22 Building Ideal DNA and RNA
Print Sequence4.13 Print Sequence
probe7.5 Molprobity Tools Interface
python3.8.1 Python

Ramachandran plot7.1 Ramachandran Plots
Raster3D3.5 Raster3D output
reading multiple pdb files4.1.1 Read multiple coordinate files
recentring view3.12 Recentring View
recover session1.8 Crash
redo3.9.1 Redo
reduce7.5 Molprobity Tools Interface
reference manual1. Introduction
reference structures1.5 Environment Variables
refine single click5.1 Regularization and Real Space Refinement
refinement5.1 Regularization and Real Space Refinement
refinement weight5.1 Regularization and Real Space Refinement
refinement, rigid body5.4 Rigid Body Refinement
refinement, simplex5.5 Simplex Refinement
refmac5.25 Running Refmac
refmac map colour5.25 Running Refmac
refmac parameters5.25 Running Refmac
refmac, default5.25 Running Refmac
regularization5.1 Regularization and Real Space Refinement
render3.5 Raster3D output
renumbering residues5.14.4 Renumbering
residue info4.2 Atom Info
resizing view8.6 Resizing View
restore after crash3.9.2 Restoring from Backup
reverse direction5.7 Reversing Direction of Fragment
rigid body fit5.4 Rigid Body Refinement
RNA, ideal5.22 Building Ideal DNA and RNA
RNA, mutating5.14.1 Mutating DNA/RNA
rotamers5.10 Rotamers
rotate/translate, manual5.3 Rotate/Translate Zone
rotation centre3.12 Recentring View
rotation centre pointer3.16 Rotation Centre Pointer
running refmac5.25 Running Refmac
running SHELXL5.26 Running SHELXL

save coordinates directory3.7.3 Save Coordinates Directory
scheme3.8.2 Scheme
scripting3.8 Scripting
Scroll3.6 Display Manager
scroll wheel, map for8.7 Scroll-wheel
scroll, map contour change by2.7 Scrollwheel
scroll-wheel2.7 Scrollwheel
Secondary Structure Matching (SSM)4.19 Secondary Structure Matching (SSM)
sequence view4.12 Sequence View
set-matrix5.1 Regularization and Real Space Refinement
set-rotation-centre3.12 Recentring View
setting space group4.9 Setting the Space Group
SHELX .ins4.1.2 SHELX .ins/.res files
simplex refinement5.5 Simplex Refinement
single click refine5.1 Regularization and Real Space Refinement
skeleton updating6.12 Skeletonization
skeleton, missing5.6.2 Missing Skeleton
skeletonization6.12 Skeletonization
slab3.13 Clipping manipulation
sliding3.12 Recentring View
slow computer8.8 Slow Computer Configuration
SMILES strings5.15.1 Ligand from SMILES strings
startup dialog (state)3.8.3 Coot State
startup settings (python)3.8.1 Python
startup settings (scheme)3.8.2 Scheme
state3.8.3 Coot State
symmetry4.11 Symmetry

terminal oxygen5.19 Add OXT Atom to Residue
terminal residue5.18 Add Terminal Residue
thickness of density lines6.6 Map Line Width
tooltips3. General Features
torsion angles, ligand5.11.1 Ligand Torsion angles
torsion restraints5.1 Regularization and Real Space Refinement
torsions5.11 Editing \chi Angles
trackball, virtual2.9 Virtual Trackball
translate molecule4.21 More on Moving Molecules
translation, keyboard2.5 Keyboard Translation
translation, mouse2.4 Mouse Z Translation and Clipping
trimming atoms6.14 Trimming

undo3.9 Backups and Undo
unexplained density7.3 Blobs: a.k.a. Unmodelled density
unit cell3.15 Unit Cell
unmodelled density7.3 Blobs: a.k.a. Unmodelled density

Validation Graphs7.6 Validation Graphs
version number3.1 Version number
view matrix3.10 View Matrix

waters, finding5.17 Find Waters
web page1.7 Web Page
weight, real space refinement5.1 Regularization and Real Space Refinement
width, bonds4.5.1 Bond Thickness
write map6.16 Export Map

yellow box3.4.3 Origin Marker

z-rotation2.9 Virtual Trackball
zero occupancy4.16 Zero Occupancy Marker
zoom8.6 Resizing View
zoom, slider2.10 More on Zooming

Jump to:   .  
A   B   C   D   E   F   G   H   I   L   M   N   O   P   R   S   T   U   V   W   Y   Z  

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



Coot is part of that project. The official program (which contains parts of Coot), ccp4mg is under the direct control of Liz Potterton and Stuart McNicholas.


although it does have a local refinement algorithm it is no substitute for refmac (a wrapper for refmac is available).


that's the job of the CCP4 Program Suite.


so far only 8.2 verified.


it's Free Software after all and I could give you a hand.


I can get by with a one button Machintosh - but it's not ideal.


as it is known in Clipper.


coot has several influences and dependencies, but these will not be discussed here in the User Manual.


COOT_BACKUP_DIR is used in preference if set


The map-reading problem (documented in Section 6.1 Maps in General) is already known.


now there's a hostage to fortune.


to do so, please send me the output of the following: $ gdb `which coot` corefile and then at the (gdb) prompt type: where, where corefile is the core dump file, `core' or `core.4536' or some such.


particularly for those with PowerMates (the amount of rotation can be changed to 2 degrees (from the default 1 degree) using (set-idle-function-rotate-angle 2.0)).


See also 2.10 More on Zooming


Mouse movement in "Spherical Surface" mde generates a component of (often undesirable) screen z-rotation, particularly noticeable when the mouse is at the edge of the screen.


(set-vt 0) to turn it back to "Spherical" mode.


this is off by default because I find it annoying.


Put your mouse over a widget for a couple of seconds, if that widget has a tooltip, it will pop-up in a yellow box (or a grey box for some reason if you are using Macintosh).


Povray support is only semi-working, there is a problem with the orientation of the image.


to a limited extent.


the substantial majority of the time you will want your the buttons to be both either depressed or undepressed, rarely one but not the other.


which causes the evalution of the command.


such as the Coot state file (Section 3.8.3 Coot State).


in that particular directory.


this might be initally surprising since this could chew up a lot of disk space. However, disk space is cheap compared to losing you molecule.


The coordinates are written in pdb format - that's OK, isn't it?.


unless you tell it not to, of course - use (e.g.) (turn-off-backup 0) to turn off the backup (for molecule 0 in this case).


or system manager.


It works like the "Forwards" buttons in a web browser - which is not available immediately after viewing a new page.


for example, if coot crashes.


if no space group has been assigned it returns "No spacegroup for this molecule"


I find a clipping level of about 3.5 to 4 comfortable for viewing electron density maps - it is a little "thinner" than the default startup thickness.


and C again to toggle them off.


compared to some other one.


prompted by changing the contour level.


i.e. the terminal in which you started Coot.


Hue Saturation Value (Intensity).


they can be redisplayed using (set-draw-hydrogens mol-no 1).


the reference chain is the first chain of that type in the coordinates file.


that also only makes sense in the region of the reference chain.


OCA is "goose" in Spanish (and Italian)


the default is the Weizmann Institute - which for reasons I won't go into here is currently much faster than the EBI server.


which (currently) only a fraction are.


using thermal ellipsoids


in the case of isotropic atoms, ellipsoids are spherical, of course.


symmetry labels are in pale blue and also provide the symmetry operator number and the translations along the a, b and c axes.


contacts not involving a carbon atom are yellow.


Use Angle for an angle, of course.


e.g. this molecule was a map or a closed molecule.


the same one as in the CCP4 program SUPERPOSE


given a half-decent window manager


Diamond, R. (1971). A Real-Space Refinement Procedure for Proteins. Acta Crystallographica A27, 436-452.


but the resulting \chi^2 values are higher.


And a few extras, such as phosphate


if you want to move only one residue, then click the same atom twice.


like Refinement and Regularization


like Regularization and Refinement.


T. J. Oldfield & R. E. Hubbard (1994). "Analysis of C\alpha Geometry in Protein Structures" Proteins-Structure Function and Genetics 18(4) 324 -- 337.


which is quite likely at first since coot has no knowledge of where the chain has been and cannot score according to geometric criteria.


"b" again toggles the mode off.


high-resolution map interpretation is planned.


i.e. one less than the starting residue in the forward direction (defaults to 1).


R. M. Esnouf "Polyalanine Reconstruction from C\alpha Positions Using the Program CALPHA Can Aid Initial Phasing of Data by Molecular Replacement Procedures" Acta Cryst. , D53, 666-672 (1997).


T.A. Jones & S. Thirup "Using known substructures in protein model building and crystallography" EMBO J. 5, 819--822 (1986).


and high resolution


i.e. there are severely misplaced atoms


as for Rotate/Translate Zone (Section 5.3 Rotate/Translate Zone).


R. L. Dunbrack, Jr. & F. E. Cohen. "Bayesian statistical analysis of protein sidechain rotamer preferences" Protein Science, 6, 1661--1681 (1997).


LYS, for example has 81.


for example, in preparation of a model for molecular replacement


atoms of residues that are too close to each other


that's "zero".


Note that selecting a residue type that matches the residue in the graphics will also result in a mutation


i.e. the current residue type matches the residue type to which you wish to mutate the residue


e.g. after using Ca -> Mainchain.


i.e. the residue atoms will remain untouched


this is a wrapper round LIBCHECK


this function is also a wrapper to LIBCHECK


you can search for many different ligand types.


and remember to check the difference map button in the "Run Refmac" dialog


as yet


usually if this still fails after two repetitions then it never seems to work.


The map is selected using "Refine/Regularize Control"


e.g. (add-OXT-to-residue 0 428 "" "A")


including sulfate or phosphate ions (in such a case, it is probably useful to do a "Rigid Body Fit Zone" on that new residue).


But you don't want those things anyway, right?


For example, after a ligand search has been performed.


i.e. Coot is idle and ignores all input.


This is not an idea feature, of course and will be addressed in future..... Digressive Musing: If only computers were fast enough to run Refmac interactively...


such that Coot would subsequently expect an atom selection "pick" in the graphics window.


the current single function doesn't always perform very well in tests


I suspect that there is not one tool that fits for all.


R.W.W. Hooft, G. Vriend, C. Sander, E.E. Abola, Errors in protein structures. Nature (1996) 381, 272-272.


e.g. it's a directory or a coordinate filename.


like I don't on my Mac.


actually, it's a box.


in a coot difference map you will get to see the negative level contoured at the inverted level of the positive level, what I mean is that you don't want to see the "positive" level going less than 0.


takes you right back to the good old Frodo days, no?


Jan Dohnalek, for instance.


a value of 2.5 is often sufficient.


If you're living in Sweden.... or Captain Kirk, that is.


you may think it strange that a box has a radius, this is an idiosyncrasy of Coot.


or set their occupancy to zero


the Richardsons' reduce and probe are being interfaced


the not-GLY-or-PRO is the most familiar Ramachandran plot.


prolines have a grey outline rather than a black one, triangles are glycines.


and therefore most interesting


or the water should be more properly modelled as anistrotropic or a split partial site

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

Table of Contents

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

Short Table of Contents

1. Introduction
2. Mousing and Keyboarding
3. General Features
4. Coordinate-Related Features
5. Modelling and Building
6. Map-Related Features
7. Validation
8. Hints and Usage Tips

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

About this document

This document was generated by Paul Emsley on July, 10 2006 using texi2html

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back previous section in reading order 1.2.2
[ > ] Forward next section in reading order 1.2.4
[ << ] FastBack previous or up-and-previous section 1.1
[ Up ] Up up section 1.2
[ >> ] FastForward next or up-and-next section 1.3
[Top] Top cover (top) of document  
[Contents] Contents table of contents  
[Index] Index concept index  
[ ? ] About this page  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

This document was generated by Paul Emsley on July, 10 2006 using texi2html