Manual EM Docking Tutorial
The tutorial shows the manual placement of structures into EM maps "by eye" and their subsequent refinement with the colacor tool. The results can be compared to solutions distributed with the tutorial software. More documentation is available in the user guide, in the Methodology page, and in the published articles.
Content:
Download and Installation

Follow first the simple registration and download steps .

In addition to the executables, the Situs_2.3_manual_tutorial/bin directory contains two data files:

  • 0_map.situs: A low-resolution map of ncd, a kinesin family protein.
  • 0_docked.pdb: Atomic coordinates of ncd roughly docked to the map.

In the following, we will perform various modeling tasks. The user can compare all generated files to the files in the "solutions" directory. 
Data Flow and Design

The series of steps and the utilities that are required for the docking "by eye" are shown schematically in the following figure. Detailed program explanations are given in the user guide

Schematic diagram of colacor related routines. The main data flow is indicated by brown arrows. The visualization (orange) for the rendering of the bead models requires a molecular graphics viewer (we recommend the free VMD graphics program, version 1.8.4 or higher; Chimera and Sculptor also support Situs format).

Standard EM formats are supported and are converted to cubic lattices in Situs format. This is done with the map2map utility. Subsequently, the data is inspected and, if necessary, prepared for the fitting using a variety of visualization and analysis tools. All Situs tools require one volume and one PDB structure for the fitting. Atomic coordinates in PDB format can be transformed to low-resolution maps, if necessary, and vice versa, to allow docking of maps to maps or structures to structures. The resulting docked complex can be inspected in the graphics program.
Manual Docking

In many fitting applications an expert user may have a pretty good idea where to place a biomolecule. Therefore, it is quite a popular approach to manually dock atomic structures into low resolution maps. In molecular graphics program such as VMD one can shift and rotate a loaded molecule and save the new coordinates.

The following sequence of commands in the VMD text console (cf. VMD user guide ) will load the docked structure 0_docked.pdb and render it in cartoon representation, coded by color. The script then instructs VMD to render the file 0_map.situs:
 
mol load pdb 0_docked.pdb
mol load situs 0_map.situs
mol top 0
rotate stop
display resetview
display projection orthographic
mol modstyle 0 0 Cartoon 2.1 11 5
mol modstyle 0 1 Isosurface 20.0 0 0 1 1 1
mol modcolor 0 0 Structure
mol modcolor 0 1 ColorID 8


Then select the menu Mouse -> Move -> Molecule. You can now shift the PDB structure with the mouse and rotate it by pressing the Shift key; the new coordinates can then be saved to a file by selecting the VMD menu File -> Save Coordinates (select "all" atoms). Play around with this and create two new PDB files, 1_shift.pdb and 1_rot.pdb. The structure should be halfway outside the map in the former, and rotated relative to the map in the latter. 

The results of the 3 cases (when rendered with VMD scripts equivalent to the one above) for 0_docked.pdb, 1_shift.pdb, and 1_rot.pdb should look like the following figure:


(Click image to enlarge)

You can be more aggressive with displacing the structure, but then it is less likely that colacor will find its way back to the correct local maximum of the correlation.

Refinement

We support this manual docking by providing a tool, colacor, that calculates the cross correlation (as a way to provide quantitative feedback) and performs a single optimization run to the nearest maximum of the cross-correlation coefficient (if a refinement after manual docking is desired). As with colores above, the user needs to select volumetric correlation explicitely (option "-corr 0"), otherwise the default option (Laplacian filter) is applied.  colacor is essentially a stripped down version of colores, but it does not center the input map and PDB as in a global 6D search, instead it proceeds based on the local geometry.

The first case above, 0_docked.pdb is only slightly misplaced relative to the volumetric map. This is a good start situation for manual refinement with colacor. Here we give the results of a colacor run based on these two input files (note the -corr 0  option). We assume a (default) resolution 15A in this case.

./colacor 0_map.situs 0_docked.pdb -corr 0
_____________________________________________________________________________

colacor> Options read:
colacor> Target resolution 15.000
colacor> Resolution anisotropy 1.000
colacor> Powell correlation algorithm determined automatically
colacor> Low-resolution map cutoff 0.000
colacor> Powell maximization ON
colacor> Grid size expansion factor 0.200
colacor> Standard (volumetric) correlation
colacor> Powell tolerance 1.00E-06  Max iterations 25
colacor> Powell trans & rot initial step sizes set to default values
_____________________________________________________________________________

colacor> Processing low-resolution map.
lib_vio> File 1_map.situs - Header information:
lib_vio> Columns, rows, and sections: x=1-9, y=1-10, z=1-14
lib_vio> 3D coordinates of first voxel (1,1,1): (396.000000,252.000000,132.000000)
lib_vio> Voxel size in Angstrom: 6.000000
lib_vio> Reading density data...
lib_vio> Volumetric data read from file 1_map.situs
lib_vwk> Setting density values below 0.000000 to zero.
lib_vwk> Remaining occupied volume: 1260 voxels.
lib_vwk> Map density info: max 54.000000, min 0.000000, ave 18.784530, sig 12.765652.
_____________________________________________________________________________

colacor> Processing atomic structure.
lib_pio> 2638 atoms read.
colacor> COM: 420.779 279.395 169.958, radius: 77.586 Angstrom
_____________________________________________________________________________

lib_vwk> Generating Gaussian kernel with 5^3 = 125 voxels.
lib_vwk> Generating Gaussian kernel with 7^3 = 343 voxels.
lib_vwk> Generating kernel with 5^3 = 125 voxels.
lib_vwk> Map size expanded from 9 x 10 x 14 to 27 x 26 x 26 by zero-padding.
lib_vwk> New map origin (coord of (1,1,1) voxel): (342.000,204.000,96.000)
colacor> Projecting probe structure to lattice...
colacor> Computing fraction of PDB contained within the map (above cutoff density) ...
colacor> Overlap fraction:   9.9460799E-01
colacor> Applying filters to target and probe maps...
colacor> Normalizing target and probe maps...
colacor> Target and probe maps:
lib_vwk> Map density info: max 11.937969, min 0.000000, ave 4.152762, sig 2.822147.
lib_vwk> Map density info: max 11.793176, min 0.000000, ave 1.661314, sig 2.898851.
colacor> Computing correlation value ...
colacor> Correlation value:   9.4922931E-01
_____________________________________________________________________________

colacor> Identifying inside or buried voxels...
colacor> Found 270 inside or buried voxels (out of a total of 18252).
colacor> Powell's optimization method.
colacor> Determining fastest correlation function...
colacor>    Original algorithm: Correlation = -0.93801386  Time = 4.735000 ms
colacor>    Masked algorithm:   Correlation = -0.82484350  Time = 4.376500 ms
colacor>    One-step algorithm: Correlation = -0.93801386  Time = 19.696500 ms
colacor> Using original three-step correlation function.
colacor> Shown are: offset (in A) from reference center (423.000,282.000,174.000),
colacor> Euler angles (in degrees), and correlation value.
colacor>
colacor> Performing optimizations...
colacor>
colacor> Powell optimization
colacor>   X       Y       Z       Psi     Theta   Phi      Correlation
colacor>   0.000   0.000   0.000   0.000   0.000   0.000    9.4922931E-01 Initial
colacor>   0.425  -0.438  -0.422 -10.210   5.364   0.923    9.5224619E-01 1
colacor>   0.409  -0.513  -0.643 -15.359   6.471   5.657    9.5248088E-01 2
colacor>   0.428  -0.533  -0.682 -21.015   6.811   8.661    9.5268637E-01 3
colacor>   0.393  -0.560  -0.697 -27.498   7.011  12.778    9.5291502E-01 4
colacor>   0.407  -0.542  -0.693 -28.547   7.146  14.033    9.5294631E-01 5
colacor>   0.461  -0.548  -0.714 -30.083   7.113  15.523    9.5297647E-01 6
colacor>   0.476  -0.556  -0.728 -33.078   6.895  18.607    9.5300576E-01 7
colacor>   0.494  -0.530  -0.736 -37.437   6.570  23.107    9.5302033E-01 8
colacor>   0.492  -0.533  -0.736 -37.767   6.506  23.419    9.5302120E-01 9
colacor>   0.492  -0.533  -0.736 322.233   6.506  23.419    9.5302120E-01 Final
colacor>
colacor> Powell optimization time: 15.722863 s
_____________________________________________________________________________

colacor> Writing result to file col_best_001.pdb.
_____________________________________________________________________________

colacor> All done!!!

The program output shows how the initial correlation of 0.949 increases slightly to 0.953 while the structure is matched. The output is written to the file col_best_001.pdb. We rename this file "2_docked.pdb" to avoid overwriting it later.

Now repeat this refinement also for the other files, 1_shift.pdb, and 1_rot.pdb. It is likely you get an error that the structure is not fully embedded in the map, in this case increase the -sizef parameter, e.g. -sizef 1. You will notice that the initial correlation of these structures is much lower.

The correlation is the only criterion employed by colacor. In some cases, e.g. low resolution or significant buried surface, the correlation criterion is ambiguous or breaks down. In such cases the initial alignment "by eye" based on structural expertise may become unstable and colacor may actually worsen the fit! The user should experiment in such challenging cases with various parameters of the program, and with turning the Laplacian filter on or off (-corr option).

When inspected with VMD as above the results of this run should look similar to the following figure.  In this case the shifted and rotated structures were still within the "basin of attraction" of the correlation maximum, so we do get good convergence of the results:


(Click image to enlarge)

Return to the front page.