Menu:

DireX - Tutorial
Resolving atom clashes: How to deal with overlapping composite models


A common problem in fitting multiple components to a large density map is their initial placement which often leads to atom overlaps. So one needs to trade off optimal initial placement and number of overlaps. DireX has options to resolve overlaps between atoms within different chains (having different chain ID's).

In this example we consider a dimer at a resolution of 10Å. We placed the two monomers in the density with heavy atom overlaps (see 'clash.pdb').

If you would read this model into DireX (with -pdb option) bonds might be generated between atoms from different monomers, just because they are close to each other. To avoid that, we create a file ('separate-chains.pdb') containing all models well separated (but of course not fitted to the density). This file is read with the -pdb option while the clashing coordinates are read with the -p option.

To make sure the CONCOORD algorithm does not get trapped by clashing atoms, we exclude all interchain contacts from the CONCOORD algorithm by setting interchain_concoord = no.

DireX can apply repelling (attractive) forces between atoms from different chains by setting the repel_shift parameter to a value larger (smaller) than zero. These forces are used to push the overlapping models apart. The program call for the first step is:

# Run refinement allowing chain overlap
# with chain repelling forces added to resolve clashes.
direx -f refine-1.par -pdb separate-chains.pdb -p clash.pdb -cur current-1.pdb -curmap curmap-1.mrc -map dimer-density.mrc -ox traj-1.xtc -refden separate-chains.pdb -mapcc mapcc-1.dat

In this case the model is kept relatively rigid, but this is in general not necessary. In fact, it will often help to resolve clashes if the structure is allowed to be flexible. The second step is then just a regular refinement:

# Regular refinement
direx -f refine-2.par -pdb separate-chains.pdb -p current-1.pdb -cur current-2.pdb -ox traj-2.xtc -map dimer-density.mrc -refden separate-chains.pdb -curmap curmap-2.mrc -mapcc mapcc-2.dat

You can look at both steps with VMD:

vmd -f separate-chains.pdb results/traj-1.xtc results/traj-2.xtc -m results/dimer-density.mrc

As the first frame we read the file 'separate-chains.pdb' to avoid that VMD draws bonds between the overlapping models. Once the trajectory is completely loaded, you can delete the first frame to obtain a smooth animation.