Electron density map calculations

If you follow some of MAIN standard procedures MAIN_DOC:1mol/1mol.html or MAIN_DOC:nmol/nmol.html then there is probably not much to say. Initial maps have been calculated and loaded already.

In order to update maps after refinement or model building steps, go to the "MAPS" depp page and click on "MAIN_MENU:map_atom.txt" menu items.

For more try to understand the MAIN syntax (commands MAIN_DOC:com/make.html, MAIN_DOC:com/reflect.html, MAIN_DOC:com/fourier.html. For exploring the syntax see "MAIN_MENU:map_atom.txt" macros.

Difference maps

In order to calculate difference maps "2FO-FC_MAP", "3FO-FC_MAP" and "FO-FC_MAP" first structure factors have to be calculated by clicking "RE_PHASE".

Phase combined map

Phase combination is performed using Hendrickson-Latmann coefficients and structure factors from the model. The structure factors from the mdoel are calculated in MAIN followed by phase combination in external "Sigma A" program.

Maximum likelihood map

Sigma A map (Read ) using the maximum likelihood formula is calculated. The "ML_MAP" is a switch.

Bulk solvent correction

Bulk solvent correction is calculated by adding partial structure factors to the fcalc of the model. Partial structure factors are derived from the molecular envelope using atomic radii of the model.

Before map calcualtion or during refinement they are merged with fcalc.

"BULK_SOL" is a switch, whereas the partial structure factors together with the density and exponential term (B-value) are optimized during "RE_PHASE" step.

The appropriate reference for this procedure is (Fokine and Urzhumtsev (2002) Acta Cryst. D58, 1387-1392).

Overall anisotropic correction

Anisotropic correction is calculated by optimizing anisotropic matrix (3x3) with a crystal lattice appropriate constraints.

"ANISO_B" is a switch, the matrix is optimized during "RE_PHASE" step.

Kicked maps, omit maps

Procedure that randomly displaces atoms from their positions is called "kicking". Kicked atoms are with increasing length of the kick less and less dependent from each other. An equivalent of a kick is a molecular dynamics run at high temperature. The difference, however, is that kick acts instantaneously and that after displacement atoms are returned back to their initial positions. Kicked structure therefore contains less model bias than an refined or regularized one since atomic positions in a kicked structure loose a significant part of their interdependency.

Kicking atoms results in their random displacement along X, Y and Z coordinate. A negative number with the same seed result in displacement of atom coordinates in a reverse direction.

Structure factors calculated form kicked atoms contain less model bias. When a part of a model is omitted from the structure factor calculation the resulting maps are called "kicked omit maps". Since the procedure takes about a minute it can be applied very often during an interactive session and the resulting density may help you through dubious places.

Kicked atoms reduce model bias (atomic correlation) introduced during model building, geometry optimization and refinement. Kicked maps can be averaged any number of times.

The maximal kick length is resolution dependent, but the values below 1/10 of resolution do not unbias the map. Errors cancel out even by kicks larger than 1.5 A in lower resolution range. With 3.0 data a kick of 1.4 averaged 12 times seem reasonable, whereas for 2.0A kicks up to 0.3 make sense and up to 3 times averaging.

To generate less model biased kick maps calculation see items of the "MAP_CALC" menu block MAIN_MENU:map_calc.html.

Displaying maps

All maps that have once been displayed can be recontoured (click on "RE_MAP" or pressed "r" on the keyboard) around the position of the current image center, which is the middle of the screen. To center on an atom click it and then click "CENTER" or press "c" on the keyboard.

Parameter changes apply only to the active map. Go to the "MAPS" page and choose the active map by clicking on a "MAP__n" item.

Change the contouring level using the scroll button on the mouse of explicitly by clivking ("MAP_CONT").

Maps are displayed displayed box of the map in grids ("MAP_BOX").

Map images are switched ON/OFF by clicking the "map" tags in the 3D image window or using the keybord shortcuts (keys from "1" to "0", where "0" is used for the map number 10).

To contour the same map twice, a virtual copy of the map should be created using MAIN command syntax. The following syntax creates map 3 as a virtual copy of map 2:


MAIN> copy map 2 3

For more see also MAIN_MENU:image_map.html,

Scattering factors

Before you actually generate density in a unit cell it is wise to be sure that all atoms were also accordingly recognized and that all required scattering constants are available.


> write select element 900 1000 end coor xpl

If this write command produced any output you should check this atomic records and at least set these atoms to dummy, because they will not be considered anyway, get a bunch of error messages will be delivered.


> set weight select element 900 1000 end 0.0

If you are not sure if MAIN already includes the correct and complete set of scattering factors related to your molecular model atoms, write and check them:


> write scatter
  C 2.31  20.85 1.0 10.21 1.59 0.57 0.86 51.65 0.216 0.0 ! 6 1

A line of output records contains the element identifier name and the nine Gaussian coefficients atomic structure factor description (from international tables). The numbers after the exclamation mark are the atomic number of the scatterer and a record counter. You can change the Gaussians by a READ-ing SCATTERING FACTORS. Element names can be modified or added with help of READ ELEMENTS command. There is a room for 110 different elements and them corresponding scattering factors.

Weighting of structure factors

Different weighting schemes are used in order to improve generated maps by proper weighting of structure factors. Weighting effect each structure factor independently. Currently there are two weighting schemes of structure factor available: CONSTANT and SIGMA. CONSTANT weighting means that each structure factor is weighted with weight one, whereas SIGMA means divided by sigma (it scales down the weak reflections). The maximulikelyhood weights using sigma A formulation are derived automatically during rfinement or map calculation when proper target function or map kind are chosen.

You can of course also read weights from other programs, for example see chapter "Electron density modifications", sections "Maximum likelihood map" and "Phase combination" to see how to get in MAIN SigmaA weights.

Insight into syntax of structure factors manipulation

Keywword: structure factors

This subsection explains several possibilities how to merge PHASE and AMPLITUDE information from FCALCULATE and FOBSERVED into FWORKSET in order to BACK transform an electron density map.

In order to combine amplitudes of FCALC with FOBS these two arrays need to be scaled to each other. Scaling constants are obtained with an R-VALUE calculation. MAIN calculates scale constants for each resolution shell independently. This resolution shell independent scaling allows to use all measured reflections including the low resolution terms. Simultaneously an overall reciprocal space B-value, is also calculated. R-VALUE and with it scaling constants and overall B-value depend upon the number of resolution shell divisions applied. This then of course effects also refinement of your model. Only defined reflections with FOBS and FCALC> 0 and reflections for which I/sigma is more than the specified threshold value (2.0 is the default) are accepted into the R-VALUE calculation.


> reflection shells 10 select defined .a sigma 2.0 end r-values

Here you may wish to write the Fobs, Fcalc and the phase information of the selected reflections (defined reflections are those with Fobs> 0 )


> write over file cb-inh-p21.phase refl fobs fcalc phase select defined end

Now the desired AMPLITUDE and PHASE information should be transferred into the FWORKSET array that will later fill the complex map MAP_ONE that will be transformed into electron density with a Fourier back-transformation.

Here it is decided what kind of map will be calculated. For a 2Fobs - Fcalc map calculation the Fcalc should be scaled to Fobs in using scaling constants from the last R-VALUE calculation. First the PHASES and AMPLITUDES are copied from FCALC to FWORK. Essentially only the PHASE information should be brought to FWORK, but since FWORKSET is an array of complex numbers, their phase can not exist without a certain nonzero amplitude. SCALE FCALC means that FCALC should be scaled in accordance with the last R-VALUE calculation.


> reflect set ampl phase fwork = fcalc * 1.
> reflect set ampl scale fcalc   fwork = fobs * 2. - fcalc * 1.

For an Fobs - Fcalc map calculation the scales of FOBS and FCALC amplitudes need to be set to one. Also here SCALE FCALC means that FCALC should be scaled in accordance with the last R-VALUE calculation.


> reflect set ampl phase fwork = fcalc * 1.
> reflect set ampl scale fcalc     fwork = fobs * 1. - fcalc * 1.

A Patterson Fobs map requires only a square of FOBS with zero phase. (You need to read appropriate Patterson symmetry operators.)


> refl set ampl phase fwork = fobs ^ 2

An Fcalc map with all reflection (P1 cell) needs only the FCALC information.


> refl set ampl phase fwork = fcalc * 1.

In addition to these you can also scale Fcalc resolution dependent with your own TEMPERATURE factor and a resolution shell independent constant.


> refl set temp 20. const 1.0 ampl phase scale fcalc   fwork = fcalc * 1.

For a translation function (or a correlation calculation) you need to transform the first FCALC set into FWORK, then perform another FCALC calculation and then multiply FCALC with FWORK and store results in FWORK:


> refl set ampl phase fwork = fcalc * 1.0 * fwork * 1.0