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

6. Map-Related Features

6.1 Maps in General  
6.2 Create a Map  
6.3 Map Contouring  
6.4 Map Extent  
6.6 Map Line Width  
6.7 "Dynamic" Map colouring  
6.8 Difference Map Colouring  
6.10 Map Sampling  
6.9 Make a Difference Map  
6.11 Dragged Map  
6.12 Dynamic Map Sampling and Display Size  
6.13 Skeletonization  
6.14 Masks  
6.15 Trimming  
6.16 Map Transformation  
6.17 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 (96), 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 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.2.3 Reading PHS data

There are 2 ways to read data by scripting:

(read-phs-and-make-map-using-cell-symm phs-file-name space-group-name a b c alpha beta gamma)

(read-pdb-and-make-map-with-reso-limits imol-previous phs-file-name reso-limit-low reso-limit-high)

The first specifies the cell explicitly, and alpha, beta and gamma are specified in degrees.

The second form allows the specification of resolution limits and takes the cell and symmetry from a previous molecule (typically a pdb file).


[ < ] [ > ]   [ << ] [ 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 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 (97).

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

where

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 (98) 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-map-radius 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(99), 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 describe 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 (100). Use "OK" to fix that colour.

As subsequent maps are read, they are coloured by rotation round a colour wheel. 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 (101) 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)

This option will allow the "blue is positive, red is negative" colour scheme on "Edit -> Map Colour".


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

6.9 Make a Difference Map

Using the "Make a Difference Map" function in the Extensions menu, one can make a difference from two arbitrary maps. The maps need not be on the same griding, or in the same group even. The resulting map will be on the same griding and space group as the "Reference" map.


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

6.10 Map Sampling

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

This value can be set by the scripting command

(set-map-sampling-rate 2.5)


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

6.11 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.12 Dynamic Map Sampling and Display Size

If activated (Edit -> Map Parameters -> Dynamic Map Sampling) the map will be re-sampled on a more coarse 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.10.2 Scheme:

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


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

6.13 Skeletonization

The skeleton (also known as "Bones" (103)) 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...(104). 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.14 Masks

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

(mask-map-by-molecule 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 density values will be set to zero everywhere except close to the atoms of molecule number imol-model.

The radius of the mask around each atom is 2.0Å by default. You can change this using:

(set-map-mask-atom-radius radius)

There is a GUI interface to Map Masking under the Extensions menu.


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

6.14.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.6 Raster3D output).


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

6.15 Trimming

If you want to remove all the atoms (105) 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 a GUI interface for this feature under the "Extensions" menu item.


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

6.16 Map Transformation

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

(transform-map imol rotation-matrix trans point radius)

where:

rotation-matrix is a 9-membered list of numbers for an orthogonal rotation matrix.

trans is a 3-membered list of numbers (distances in Ångst@"{o}ms).

point is a 3-membered list of numbers (centre point in Ångst@"{o}ms).

radius is a single number (also in Ångst@"{o}ms).

This applies the rotation rotation-matrix and a translation trans to a map fragment, so that when the transformation is applied the centre of the new map is at point.

Example usage:

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

which transforms map number 2 by a translation of 1Å along the Z axis, centred at the screen centre for 10Å around that centre.

Here's a more real-world example:

Let's say we want to tranform the density over the "B" molecule to a position over the "A" molecule. First we do a LSQ transformation to get the rotation and translation that moves the "B" coordinates over the "A" coordinates:

In the terminal output we get:

@verbatim | 0.9707, 0.2351, 0.05033| | -0.04676, 0.39, -0.9196| | -0.2358, 0.8903, 0.3896| ( -33.34, 21.14, 18.82)

The centre of the "A" molecule is at (58.456, 5.65, 11.108). So we do:

(transform-map 3 (list 0.9707 0.2351 0.05033 -0.04676 0.39 -0.9196 -0.2358 0.8903 0.3896) (list -33.34 21.14 18.82) (list 58.456 5.65 11.108) 8)

Which creates a map over the middle of the "A" molecule. Note that using a too high radius can cause overlap problems, so try with a small radius (e.g. 5.0) if the resulting map looks problematic.

Alternatively, instead of typing the whole matrix, you can use a coordinates least-squares fit to generate the matrix for you. (transform-map-using-lsq-matrix) does just that.

Heres how to use it:

(transform-map-using-lsq-matrix imol-ref ref-chain ref-resno-start ref-resno-end imol-mov mov-chain mov-resno-start mov-resno-end imol-map about-pt radius)

Hopefully the arguments are self explanatory (ref refers to the reference molecule, of course and about-pt is a 3-number list such as is returned by (rotation-centre)).

We can now export that map, if we want.


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

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

e.g.

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


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

This document was generated by Paul Emsley on June, 6 2009 using texi2html