The MASMAP menu is only callable from the MAP menu. It
allows you to do several things
with maps which you actually better should NOT do, unless you are very
certain about what you are doing.
I is important to note that most of the options in the MASMAP are highly
experimental. The description in this chapter was most likely valid one
day, but does not need to be so now. You should therefore run small testcases
and check the result byte by byte to be sure that the options perform as
promissed.
Several options in this menu can only work properly if the map
contains ones and zeros only. No checking is done by these options to see
if this is really the case.
There are some things you should be aware of. First, maps are internally
represented as bytes (ranging from -115 to plus 115). WHAT IF memorizes the
scale factors needed to go back and forth between the real values (which
may almost range from minus infinite till plus infinite) and these bytes.
Many options in the MASMAP menu automatically set these scale factors to
unity. Thus causing your map to range from -115 till 115, or from 0 till 100.
The MASMAP menu holds several routines that do something with the map (values).
Often there is some overlap between options. You will have to go
through all possible options and select a sequence of commands
that creates the answer to your question. Keep in mind that there are
three kinds of gridpoints when you work with WHAT IF generated maps. Inside
the protein all values are 100. The solvent has value 0.
The zone inbetween protein and solvent (and in cavities) has
values from 99 very close to the protein till 1 just next to the solvent.
The thickness of the shell with values between 1 and 99 is set by the
probe radius parameter that you use(d) in the SRFMAP option in the MAP menu.
The basis for most options in this menu is the map created by the SRFMAP
option in the map menu. This map is described in an article of which
the reference is
R.Voorintholt et al. J. Mol. Graphics. (1990)
The general principle is that gridpoints that fall inside an atom get value
100, far away points get value 0, and points near an atom get a value
inbetween that is a function of their distance to the nearest atom; 99 very
close to the atom, and 1 just inside the user defined limit.
These maps are normally used to visualize surfaces and cavities at the PS300
screen. The MASMAP menu allows you to misuse these maps for all other kinds
of purposes.
WHAT IF assumes that maps entered in the MASMAP menu have 90 degree angles,
and equal grid spacings in all directions. If this is not the case,
the program will not crash, but results might come out slightly different from
what you really wanted.
This is because many options in the MASMAP menu compare one grid point with
its six direct neighbours. In these cases the grid points differing one
in one of the three indices is meant. Especially for averaging oblique
grids, this is not the best thing to do.
Gridpoints with value 0 are called zero's. Gridpoints with value 100 are
called 100's. Gridpoints with values in the range 1 - 99 are called the
shell, or shell points.
Convex points are gridpoints that form a sharp external protrusion in the map.
They have more empty than filled points around them. In practice they are
defined as points in the shell with three or more orthogonal neighbours
that have the value zero.
The OUTER option will loop over all points in the map N times. You will be
prompted for N; the default is 10. It will in every cycle determine all
points that have three or more neighbours equal to zero, butt less than
three neighbours that have the value 100, and put these points to zero
if they were between 1 and 99.
In principle this boils down to removing the convex points from the
outside of the shell, and from the inside of large cavities.
The option CONVEX does the same without limits on the number of 100's it
has as a neighbour.
This option only works well on WHAT IF generated maps, or maps scaled such
that the values fall in the -115 till 115 range. Other maps will cause this
option to produce strange error messages.
This option allows you to remove the shell created by
the SRFMAP option in the MAP menu. If followed by the INV50 option the map
can be made such as only to show completely internal cavities upon contouring.
This option is VERY time consuming. And besides, the PEEL option virtually does
the same.
This option scales the whole map such that the smallest value is zero, and
the largest value is 100. All other points are scaled proportionally.
This is a good option to convert electron density maps into maps that can be
used throughout the MASMAP menu.
This option will cause WHAT IF to prompt you for a lower and an upper limit
of the byte values in the map. It will then put all grid values below
the lower limit at the lower limit, and all points above the upper limit
at the upper limit.
The extreme allowed lower limit is -115, the extreme upper limit 115.
You should not give the lower limit larger or equal to the upper one.
This option only works well on WHAT IF generated maps, or maps scaled such
that the values fall in the -115 till 115 range. Other maps will cause this
option to produce strange error messages.
The SMOOTH option will cause WHAT IF to prompt you for the number of cycles.
Thereafter so often as asked every point in the map will be replaced by
two times its own value plus the value of its six orthogonal neighbours
divided by eigth. The edges of the map remain unaltered.
Convex points are gridpoints that form a sharp external protrusion in the map.
They have more empty than filled points around them. In practice they are
defined as points in the shell with three or more orthogonal neighbours
that have the value zero.
The option CONVEX will loop over all points, and sets all points with a value
between 1 and 99 to zero when they border at least 3 other zero points. The
option got its name because it removes the points that are at a convex
surface. See also the OUTER option.
This option only works well on WHAT IF generated maps, or maps scaled such
that the values fall in the 0 till 100 range. Other maps will cause this
option to produce strange error messages.
The PEELIT option allows you to remove the outside layer of density created by
the SRFMAP option in the MAP menu. You can think of this option as peeling
one layer from the shell. If one were to repeatedly peel layers of the
shell, one would also remove the wall of tunnels into the protein; and
indeed this is what the PEEL option does. However, by stopping the peeling
process at the moment that the number of zero's added per cycle becomes
smaller than for example 200 or so, one can maintain the tunnels into
the protein as part of the shell.
This option only works well on WHAT IF generated maps, or maps scaled such
that the values fall in the 0 till 100 range. Other maps will cause this
option to produce strange error messages.
The option KPSHEL will set all points that are 100 (inside the protein) to
zero. This way only the shell is kept. This option is for example useful when
searching for cavities.
This option only works well on WHAT IF generated maps, or maps scaled such
that the values fall in the 0 till 100 range. Other maps will cause this
option to produce strange error messages.
The option KILISL goes over the whole map and removes all non-zero values
that have at most one non-zero neighbour point. This way you can remove
small islands in the density map, while at the same time cutting the
very sharp spikes of larger islands. (Also points at value 100 will be removed
by this option!).
This option only works well on WHAT IF generated maps, or maps scaled such
that the values fall in the -115 till 115 (but preferably between 0 and 100!)
range. Other maps will cause this option to produce strange error messages.
The option LINER is meant for usage with R2D2, it will set all
density values such that a radial gausian density distribution is obtained.
The option only works properly for perfect spheres and rods with rounded
caps (like a mathematical bacillus or alfalfa virus). Otherwise it
will only produce an approximate gausian distribution. This option is useful
if you want to fourier transform the map later.
The command AVER0 will cause WHAT IF to add a constant to every grid point
in such a way that the average map value will become zero.
This option sets all grid values above a user given value (MAX) to another
user given value (NEW). So all gridpoint larger than MAX will be set equal
to NEW.
If you want to see the actual density values rather then the derived
contour lines, you can use the DENMAP option. You will be prompted for
the number of points to average first. This number should at least
be one. If you give for example 2, then in all three directions two grid
points will be taken every time and averaged; so two means 2**3=8 points
are averaged per point at the screen; 3 means 27 points go in to
one number shown to you, etc. Thereafter you will be prompted for
the lower bounds of the box in the map you want to see. These lower
bounds should be given in grid points (and must therefore range between
1 and 100). You will have to do the conversion
to Angstroms yourself if you need that. The last thing you are
prompted for are the upper bounds. The number of gridpoints on every
axis may not exceed 24 times the number of points you average over.
If you choose the upper bounds to high, they will automatically be
reset to their allowed maximum.
Thereafter the density values (if requested locally averaged) will be
shown plate by plate along the z axis.
This option only works well on WHAT IF generated maps, or maps scaled such
that the values fall in the -99 till 115 range. Other maps will cause this
option to produce strange error messages.
The command HISTOG will count the frequency of occurrence of density
values in the range 0 - 100. The most important statistics (zero's, shell
and 100's) will be summarized.
In a map every gridpoint with a value 100 can have zero to six neighbours
with value zero, zero to six shell gridpoints, and zero to siz other 100's.
The sum must of course (except for the edges) always be six neighbours.
The CNT100 option will show you for every of the 216 possible and impossible
distributions of zero, shell point and 100 neighbours the frequency
of occurrence in the map.
The command SPIKER will cause WHAT IF to prompt you for a maximal allowed
absolute difference in value between two neighbouring gridpoints. It will
also prompt you for an attenuation factor. Every gridpoint which value
differs more than the given allowed maximum from all its neighbours, will
get that difference attenuated with the attenuation factor. So if for example
gridpoint A has value 100, and its largest neighbour has value 80, than
with an attenuation factor of 0.25, the new value of A will become
100 - 0.25*(100-80) = 95. With attenuation factor 1.0 A would have become 80.
At the low end of value range something similar happens. If A has the value
10, and its smallest neighbour has the value 30, then with attenuation factor
0.25 A will become 15.
PEEL removes recusively shellpoints that have at least one neighbouring zero.
The CAVITY option in the MAP menu is very much based on this option.
Because CAVITY first calls PEEL to peel of the shell. Thereafter KPSHEL is
called to remove the 100's (protein). Now only cavities are left. Finally
CAVITY uses INV50 to make the contouring smoother.
WHAT IF can hold ten maps in memory. That at least is what you are made to
believe. In practice all maps are stored as files on disk, and whenever
a map is needed, it will quickly be read. This implies that the map on disk
should be the same as the one in memory at every moment. Therefore, if you
have manipulated a map, and want to keep the new map for future reference,
you must make sure that the map-file on disk gets updated. The command
UPDATE does this for you.
The command MASMAP will prompt you for the number of the second map. Here
you should give the number that the SHOMAP command in the MAP menu
gives to the map you are interested in. All points that are zero in this
second map will also be set to zero in the present default map.
The second map may be the present default map if for whatever reason you
want to choose so.