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
be generated between atoms from different monomers, just because they are close to
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
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
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