MAIN 9 8


GRASP surfaces

GRASP generates surfaces which can be read in MAIN and displayed as graph objects. (The grasp files have to be converted with "ungrasp" program delivered with raster3d software.)

MAIN> graph
GRAPH> read file xxx raster3d
GRAPH> exit

In order to get them into the molecular world with the correct proportions and positions they have to be shifted from the GRAPH into molecular objects. Unfortunatelly you have to do some typing. When a surface apears as the 4th image object ("A__4") the following commands move it into molecular world:

> image remove 4
> image includ 4 4 0
> image remove 4
> image includ 4

When you want to display the surface as a transparent object you have to draw it last.

The GRASP surface file must be converted into a raster3d file, which can be then read by MAIN.

Introduction as a guide

Creation of a short chapter in a form of a guide to "How to start ..." is in progress. Furter wishes and comments appeciated. See intro/intro.html.

Stereo in a window under OpenGL

Stereo in a window under OpenGL for DEC ALPHA-s and OCTANE-s (Irix 6.4), O2 (IRIX 6.5) and Indigo2 with impact graphics including all graphical features available in GL and PHIGS versions is ready.

How to setup your DEC workastation for stereo:

If you have a PowerStorm 4D40T or 4D50T edit /usr/var/X11/Xserver.conf to read as follows:

    ! Cateye Server args start
    -pn -nice -2 -bs -su -screen 800x600
    ! Cateye Server args end

If you have a PowerStorm 4D60T edit /usr/var/X11/Xserver.conf to read as follows:

    ! Cateye Server args start
    -pn -nice -2 -bs -su -I -e3bpp 102
    ! Cateye Server args end

For more see Alwyn's".

How to setup your SGI workastation for stereo:

For SGI-s etc run an appropriate "setmon" command to reduce the screen resolution to the ones that supports "stereo in a window". Run the command (or a simialr one - particularly the Herz field may be other then 96 for your graphics board).

> /usr/gfx/setmon -x 1024x768_96s


> /usr/gfx/setmon 1280x1024_100s

The find command will tell you your choices:

> find /usr/gfx/ucode -print | grep -i 1024x768

and then logout to restart the Xserver and than login again.

> /usr/gfx/setmon -x 1280x1024_76

will have the reverse effect on your screen resolution.

For some users the GL version ist still the choice of favor, so "split screen" stereo can be used. However, the windows appear on O2 at awkward positions. A MAIN command can takes care of these shifts. The example below worked in some cases (O2). Unit is one pixel and you need to provide 3 pairs of X,Y shifts for the 3 MAIN windows: image, menu and dials.

> image stereo shift -15 -18  0 -18  0 0

See also MAIN_COM:image.html.

Seleno Methionine residue (SME)

Seleno methionine residue added to 19_cds files. Its residue name is "SME".

See MAIN:top/top_sme.main file.

Steps towards automatic structure determination

The menu blocks AUTO_STUFF and FIX_GEOM are on menu page 10. They are still under construction and are considered preliminary. The menus are loaded with and

A few additional options were introduced to "SET VARIABLE" and "SELECT" command in order to enable argument passing.

"MAKE POINT FROM MAP nn TRACE" introduces additional points to map skeleton which follows the ridge between saddle and extrem points.

None of these features is documented yet.


"SHOW TEMP BOND SELECT ... END" command resulted in strange numbers for average and sigma B-value deviations along bonds due to in a way randomly chosen bonding partners.


Mostly clearing the mistakes connected to refinement with reciprocal spoace target function introduced in the previous release (Fo - Fc) ** 2.

Reciprocal space target function really works now

Reciprocal space target function X-TARGET got a map, which must be complex in order to function. The map is created and also deleted within MAIN_CMDS:refine.cmds and MAIN_CMDS:refine_b.cmds macros.

> energy x-target map 3
> make map 3 from 1 init cell complex

Also B-values can be now refined using the reciprocal target energy function, which is the same as for positioning. B-value refinement obtained also additional restraint (NCS) and a new force:

> define constraint ncs b-force = 0.004

See MAIN_DOC:nmol/refine.cmds for the NCS definition example.

CSN format for reflections reading

> read reflection limit 0 0 0 resolution 10. 3. csn init

IF-THEN-ELSE command

The IF-THEN-ELSE-ENDIF command has been introduced. Commands can not be nested within the same macro, however, a lower macro can have anorther IF-THEN-ELSE command. For example si the MAIN_CMDS:refine.cmds macro.

Arguments from atoms extracted

Besides NAMES now also numbers can be extracted from an atomic selection analogy to ATOM, RESIDUE and SEGMENT names for CHARACTER variables. Only the first found atom is used to extract argument. (MAIN_DOC:com/set.html)

> set vari i1 integer atom sele atom name CZ .a seq 26 end

Key for working set reflections

The key name "WORK_REFL" has been reserved for reflections applied during refinement. By default all defined reflections are used with no cutoffs. (MAIN_DOC:1mol/


MAIN 98 release is here. New is Fourier and refinement stuff. HTML manuals are updated (a bit). PostScript manuals are not ready (a bug in conversion software) so they will appear after a week or so on the FTP server, when I'll be back from skiing.

Direct summation method for Fcalc calculation

Fcalc can be calculated by the DIRECT summation method either from ATOMS or a MAP. See MAIN_COM:fourier.html.

> fourier atom sele ... end refl sele defined end direct forw

Tabulated exponentials for use in map generations

Tabulated exponentials significantly speed up the generation of electron density maps from a model. ON is the default. OFF still works. See MAIN_COM:fourier.html for related commands.

> fourier exp_table on

Overall B-value refinement

Overall B-value refinement is based on Wilson plot differences between Fobs and Fcalc. Should converge in 2 steps. You must, however, base the scaling procedure on several reciprocal space shells. See MAIN_COM:minimize.html.

> mini b-val over step 3 sele all end

Positional refinement using (Fo - Fc)**2 target function

Besides the map refinement (Fo-Fc, 2Fo-Fc) a new target function for positional refinement based on (Fo - Fc)**2 energy term and 2(Fo-Fc) derivatives was created. The new energy term is called X-TARGET. As it is now, you can not use DENSITY and X-TARGET terms simoultaneously. PHASE STEP command has no effect and NONBONDING interaction list is calculated only at the begining of a MINIMIZE command.

It is valid as in the case of DENSITY based refinement procedures that too large SCALES as well as too low SCALES don't help refinement. The procedure is slower, so it makes sense during a structure determination procedures to exchange between the two sorts of refinement.

> energy x-targ on x-targ scale 1000
> mini sele all end step 30

See MAIN_MENU:map_atom.html and MAIN_DOC:refine/refine.html.

Bug reflected in model R-values etc...

A bug in MAIN electron density map generation routine (generation of electron density maps by using the 5 gaussian model). The following command used by RE_PHASE (MAIN_CMDS:re_phase.cmds)

> make map nn atom dens ...

uses these routines. The second gaussian B was multiplied by PI only and not PI**2 - which sometimes resulted in higher R-values obtained with MAIN when compared with other programs. Especially this reflects in B factors during refinement, although MAIN Fcalc scaling using B factor reduces the error substantially.

The bug was maybe introduced when I've changed from the 3 gaussian to 5 gaussian electron density model or, more likely, was the line in the source deleted at some later point in time. (July 1995 MAIN already includes this bug, I dont keep any older sources though).

There is no way around it within MAIN, so you need a new executable.