A real case: 2 molecules in 2 crystal forms (Procathepsin B)

In this chapter you will learn how to deal with two or more equal molecules in several crystal forms simultaneously. The case is different from the one described in the chapter "A real case: N molecules in an asymmetric unit" in the sense that we are dealing now with two sets of reflection data at two different resolutions and two different unit cells.

This runable case with all data is available in the "MAIN:cases/2cryst". It is procathepsin B structure (Turk at al., 1996, FEBS lett ) in two crystal forms, orthogonal and hexagonal.

First organize your segments and groups with "create_main_config.pl". In addition to previous "-m" and "-g" keywords there is additional one "-c", which groups segment names according to the crystal forms they belong to. Differently then before, do not run initial doit, as for several scrystal forms no defalut cell constants files and space group records are available. You have to type them in manually.


 create_main_config.pl -m PR_H EN_H PR_O EN_O \
-c "PR_H EN_H"  "PR_O EN_O" \
-g "EN_H EN_O"  "PR_H PR_O"
cryst<PR_H EN_H>
cryst<PR_O EN_O>
 END number of crysts 2

Since the propeptide parts have more unreliable position, the protease part is taken as the base for deriving of superposition parameters for the propeptide part as well.


 create_main_config.pl --strategy 2 link 1

This is the configuration that follows:


 create_main_config.pl
  -h|-help|--help) prints this message with available options and current status
  -m|--molec)      defines the the list of molecular segments
                   4 : PR_H EN_H PR_O EN_O
  -f|--file)       as --molec option, however, the list is taken from a file
                   [/zap/dus/MAIN/main/config/segm_names]
                   and must be preceeded by the number of SEGIDs
  -c|--crystal )   assignes molecular segments to a crystal form:
                   specify the lists of segments belonging to crystal forms
for each form embrace the list in ""
                   1 | PR_H EN_H
                   2 | PR_O EN_O
  -g|--group )     defines NCS groups:
                   specify the list of segments belonging to groups
for each group embrace the list in ""
                   1 EACH  | EN_H EN_O
                   2 LINK  | PR_H PR_O
  -s|--strategy)   defines averaging scripts strategy -
                   specify parameters for each group separately [1 EACH]
                   EACH: average each molecule separately (default)
                   ONE: average one and distribute the averaged density to others
                   LINK: use operators from another group
                   WHOLE: the whole group builds a single mask for proper (spherical) symmetry
  -u|--usemtz)     extract information from mtz file [my.mtz]
  -r|--rfree)      turns ON or OFF use of R-free flag [ON]
-a|--auto)       turns ON or OFF generation of auto start file ".main" [ON]
     --doit)       create all reasonable macros using current defintions

Now we define the cell constant and diffraction data and space groups files


 create_read.pl -d diffract_HEX.dat diffract_ORT.dat \
   -u cell_hex.dat cell_ort.dat \
   -s p65_2_2 p21_21_2 \
   -r 30. 3.2

The order of files and space groups MUST correspond to the order fo crystal forms specified abouve in the "create_main_config.pl" part.

Two more parameters depend on the crystal form(in the case you plan solvent flattening or to avoid some warning messages):


 create_dm_loop.pl -c 0.5 0.4 -s 10. 10. -f 0.3 0.3

will do it.

Now you are ready for the "doit":


 create_main_config.pl --doit


create_main_config.pl --doit creating ".main"
creating read.com
creating save_file.cmds
creating re_image.cmds
creating symmetry.cmds
creating symmetry_ca.cmds
creating refine.cmds
creating "refine_b.cmds"
creating "gen_solvent.com"
creating "make_masks.cmds"
 ! EACH MASK crystal form 0 segment: EN_H from map: 1
 ! EACH MASK crystal form 1 segment: EN_O from map: 3
 ! EACH MASK crystal form 0 segment: PR_H from map: 1
 ! EACH MASK crystal form 1 segment: PR_O from map: 3
creating "map_mask_score_map.cmds"
creating "dm_prep.cmds"
creating "dm_next.cmds"
creating "dm_loop.com"
creating "load_4mol.com"
creating "rms_fit.cmds"
creating "create_all_others.cmds"

MAIN configuration files have now been generated.

Now type "mainps" to start your MAIN session or if you are not satisfied with the defaults adjust your input data using "create_read.pl" and other scripts.

The menu block "load_4mol.com" loads menu functions work similarly as is the cases of NCS in a single crystal form. The difference only is that now by changing the work model also the unit cell, difraction data and maps displayed will be changed.

Now switch to page 9 and click "RMS_FIT" to generate the initial superposition of the molecules from the segments to get full functionality of the multicrystal form modeling and displaying menus.


 [RMS_FIT ] block [DENS_MOD      ]
FILE_OPEN> %ERROR {define_key_out.com}
RMS_FIT_EIGEN> RMS-FIT  0.5101
 POLAR ANGS   80.1 302.6 154.2 XYZ-TRAN:  19.23 -41.99 -77.24 SCREW:  63.390
RMS_FIT_EIGEN> RMS-FIT  0.5101
 POLAR ANGS   80.1 302.6 205.8 XYZ-TRAN:  88.34   6.94  15.70 SCREW:  63.390

Refinement using NCS between crystal forms

The only difference is actually the "-y|--cryst_ncs)" keyword, which should be set"ON" in order to activate NCS constraints during refinement between molecules in a variety of crystal forms. By default it is "OFF". When "OFF" only the working model crystal form can be refined.


 create_refine.pl
 -h|--help)      prints this message with available options and current status
 -s|--step)      sets number of minimization steps (per cycle) [30]
 -k|--kick)      sets starting and final maximal xyz kick [0.0-0.33]
                 current = [0 - 0]
 -c|--cool)      sets number of cooling cycles  [0]
 -b|--bramp)     sets minimal and maximal starting atomic B-value ramp [5 60]


 -t|--target)    target function for refinement [MAP/DIFF/LSQ/ML/ML_EST/ML_APR]
                 current = [ML]
 -a|--atoms)     missing atoms for estimation of ML [100]
 -r|--ratio)     approximate sigma for bond terms [0.1 - 0.01]
                 current = [1.5]
 -m|--map)       MAP for DENSITY refinement [1]
 -x|--xmap)      MAP for X-DIFF refinement [3]
 -q|--qmap)      MAP for rec. space refinement [3]


 -n|--ncs)       Non-Cryst-Similarity NCS energy flag [ON/OFF]
                 current = [OFF]
 -g|--gncs)      Non-Cryst-Similarity NCS geometry force = [5]
 -y|--cryst_ncs) Refine in variety of crystal forms [ON/OFF]: current = [OFF]


 -f|--free)      r-free flag [ON/OFF] current [ON]
 -o|--output)    set file name of the created macro [refine.cmds]
    --doit)      create the macro