SAXS Tutorial
The tutorial teaches the modeling and visualizaton of low resolution bead models of protein structures derived from small angle X-ray scattering. The results can be compared to solutions distributed with the tutorial software. In the demonstration below we use two cross-correlation based rigid body strategies for the docking. However, the user may employ also other fitting strategies as discussed under Outlook. Once density maps are created, the rigid-body and flexible docking of structures to SAXS bead models is very similar to the approach used for electron microscopy maps. 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_saxs_tutorial/bin directory contains four data files:

  • 0_tnc.pdb: Atomic coordinates of troponin C.
  • 0_rib.pdb: Atomic coordinates of ribonuclease inhibitor.
  • 0_tnc_sph.pdb: Bead model of troponin C.
  • 0_rib_sph.pdb: Bead model of ribonuclease inhibitor.

Note that the bead model files are in PDB format, with the bead sphere radius in the occupancy field. 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 modeling with single-molecule SAXS bead models are shown schematically in the following figure. Bead models are expected to result from experimental reconstructions. Simulated bead models for validation of the modeling strategies can also be created with pdb2sax. Detailed program explanations are given in the user guide

Schematic diagram of SAXS related routines. Major Situs components (blue) are classified by their functionality. 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). 

Visualization and modeling of atomic structures into SAXS bead models are supported through a conversion into 3D volumes with the pdb2vol kernel convolution tool. A docking between atomic structures to 3D maps can be achieved with a number of approaches (see below). The resulting docked complex can be inspected using a molecular graphics viewer. The data can be prepared further for the visualization using a variety of analysis and editing tools. Kernel convolution facilitates the smoothing of bead surfaces for their visualization in the form of density isocontours. 

Converting Volumetric Bead Maps

The creation of simulated bead models on a hexagonal lattice with pdb2sax is straightforward and will not be discussed here in further detail. We assume that bead models are already available from experimental reconstructions. We first convert SAXS bead models to volumetric Situs format with the pdb2vol kernel convolution utility. Enter at the shell prompt: 

./pdb2vol 0_rib_sph.pdb 1_rib_sph.situs

Select no mass-weighting (enter 1) and no B-factor thresholding (enter 1), then enter the desired voxel spacing of the output map. Given the dimensions of the structure and the bead radius (6 Å), 1Å appears to be a good compromise between bead sampling accuracy and storage requirement (you may have to adjust this value upwards for other cases to avoid oversampling of beads and resulting large maps). Next, enter the kernel width (bead radius): +6 Å. This is the half-max radius where the kernel amplitude drops to its half maximal value. Next, select the "Hard Sphere" smoothing kernel (enter 5). Turn lattice correction off (enter 2), and enter the maximum amplitude of the kernel (enter 1 and keep a note of this).

The program projects the atomic structure to the lattice, computes the hard sphere kernel, and carries out the real-space convolution, writing the resulting map to the file 1_rib_sph.situs.

Now repeat this calculation with 0_tnc_sph.pdb (troponin C), creating the map file 1_tnc_sph.situs. Note that troponin C beads have a radius of only 4 Å!

Here is the full pdblur session for file 1_rib_sph.situs:  

% ./pdb2vol 0_rib_sph.pdb 1_rib_sph.situs
lib_pio> 57 atoms read.
pdb2vol> Found 0 hydrogens, 0 water atoms, 0 codebook vectors, 0 density atoms
pdb2vol> Do you want to mass-weight the atoms ?
pdb2vol>
pdb2vol>      1: No
pdb2vol>      2: Yes
pdb2vol> 1
pdb2vol> Do you want to select atoms based on a B-factor threshold?
pdb2vol>
pdb2vol>      1: No
pdb2vol>      2: Yes
pdb2vol> 1
pdb2vol> 57 out of 57 atoms selected for conversion.
pdb2vol>
pdb2vol> The input structure measures 60.000 x 58.890 x 39.190 Angstrom
pdb2vol>
pdb2vol> Please enter the desired voxel spacing for the output map (in Angstrom): 1
pdb2vol>
pdb2vol> Kernel width. Please enter (in Angstrom):
pdb2vol>      (as pos. value) kernel half-max radius or
pdb2vol>      (as neg. value) target resolution (2 sigma)
pdb2vol> Now enter (signed) value: 6
pdb2vol>
pdb2vol> Please select the type of smoothing kernel:
pdb2vol>
pdb2vol>      1: Gaussian, exp(-1.5 r^2 / sigma^2)
pdb2vol>         sigma =  8.826A, r-half =  6.000A, r-cut = 15.288A
pdb2vol>
pdb2vol>      2: Triangular, max(0, 1 - 0.5 |r| / r-half)
pdb2vol>         sigma =  7.589A, r-half =  6.000A, r-cut = 12.000A
pdb2vol>
pdb2vol>      3: Semi-Epanechnikov, max(0, 1 - 0.5 |r|^1.5 / r-half^1.5)
pdb2vol>         sigma =  6.139A, r-half =  6.000A, r-cut =  9.524A
pdb2vol>
pdb2vol>      4: Epanechnikov, max(0, 1 - 0.5 r^2 / r-half^2)
pdb2vol>         sigma =  5.555A, r-half =  6.000A, r-cut =  8.485A
pdb2vol>
pdb2vol>      5: Hard Sphere, max(0, 1 - 0.5 r^60 / r-half^60)
pdb2vol>         sigma =  4.629A, r-half =  6.000A, r-cut =  6.070A
pdb2vol> 5
pdb2vol>
pdb2vol> Do you want to correct for lattice interpolation smoothing effects?
pdb2vol>
pdb2vol>      1: Yes (slightly lowers the kernel width to maintain target resolution)
pdb2vol>      2: No
pdb2vol> 2
pdb2vol>
pdb2vol> Finally, please enter the desired kernel amplitude (scaling factor): 1
pdb2vol>
pdb2vol> Projecting atoms to cubic lattice by trilinear interpolation...
pdb2vol> ... done. Lattice smoothing (sigma = atom rmsd):  0.679 Angstrom
pdb2vol>
pdb2vol> Computing Hard Sphere kernel (no lattice correction) ...
pdb2vol> ... done. Kernel map extent 15 x 15 x 15 voxels
pdb2vol>
pdb2vol> Convolving lattice with kernel...
pdb2vol> ... done. Spatial resolution (2 sigma) of output map:  9.356A
pdb2vol> (slightly larger than target resolution due to uncorrected lattice smoothing)
pdb2vol>
lib_vio> Writing density data...
lib_vio> Volumetric data written to file 1_rib_sph.situs
lib_vio> File 1_rib_sph.situs - Header information:
lib_vio> Columns, rows, and sections: x=1-80, y=1-78, z=1-59
lib_vio> 3D coordinates of first voxel (1,1,1): (-42.000000,-37.000000,-27.000000)
lib_vio> Voxel size in Angstrom: 1.000000

Exhaustive Search Docking 

The colores program performs an exhaustive search of all rigid-body degrees of freedom. This approach can be used for SAXS bead models, but care must be taken in the case of SAXS to select volumetric correlation (option "-corr 0"), since the default option (Laplacian filter) would amplify the segmentation of the data caused by the SAXS beads. The use of colores with EM data has already been shown elsewhere, in the correlation-based docking tutorial.

As an example we perform here an exhaustive rigid body docking of the above data with colores.
For this particular docking case it will be sufficient to perform a reduced angular search (sampled at the default 30°step size), and we set the target resolution to the resolution of the bead model returned above by pdb2voloption "-res 9.356". After the exhaustive search is done, the best 6 on-lattice maxima (option "-explor 6")  will be refined (off-lattice) using Powell optimization. 

We start again with ribonuclease inhibitor. We're using 2 processors on a dual CPU machine to speed up the calculation. At the shell prompt, enter:  

./colores 1_rib_sph.situs 0_rib.pdb -res 9.356 -corr 0 -explor 6 -nprocs 2

The output of colores has already been described in detail in the corresponding tutorial. We list here the output of the entire calculation as a reference:

% ./colores 1_rib_sph.situs 0_rib.pdb -res 9.356 -corr 0 -explor 6 -nprocs 2
_____________________________________________________________________________
 
colores> Options read:
colores> Target resolution 9.356
colores> Resolution anisotropy 1.000
colores> Low-resolution map cutoff 0.000
colores> Grid size expansion factor 0.200
colores> Standard (volumetric) correlation
colores> Euler angles generation using Proportional method
colores> Angular sampling accuracy 30.000
colores> Euler angle range: [0.000:360.000] [0.000:180.000] [0.000:360.000]
colores> Number of best fits explored  6
colores> New peak search via filtering
colores> Powell maximization ON
colores> Powell tolerance 1.00E-06  Max iterations 25
colores> Powell trans & rot initial step sizes set to default values
colores> Powell correlation algorithm determined automatically
colores> Peak sharpness estimation ON
colores> Number of SMP processors requested: 2
_____________________________________________________________________________
 
colores> Processing low-resolution map.
lib_vio> File 1_rib_sph.situs - Header information:
lib_vio> Columns, rows, and sectiord of (1,1,1) voxel): (-40.000,-35.000,-24.000)
lib_vwk> Map density info: max 1.336620, min 0.000000, ave 0.731369, sig 0.356352.
_____________________________________________________________________________
 
colores> Processing atomic structure.
lib_pio> 3411 atoms read.
colores> COM: 13.592 37.670 18.081, radius: 40.402 Angstrom
_____________________________________________________________________________
 
lib_vwk> Generating Gaussian kernel with 17^3 = 4913 voxels.
lib_vwk> Generating Gaussian kernel with 27^3 = 19683 voxels.
lib_vwk> Generating kernel with 17^3 = 4913 voxels.
lib_vwk> Map size expanded from 75 x 73 x 53 to 129 x 125 x 95 by zero-padding.
lib_vwk> New map origin (coord of (1,1,1) voxel): (-67.000,-61.000,-45.000)
colores> Identifying inside or buried voxels and creating flipped mask...
colores> Found 65521 inside or buried voxels (out of a total of 1531875).
colores> Identifying inside or buried voxels...
colores> Found 65521 inside or buried voxels (out of a total of 1531875).
colores> Memory allocation for FFT.
colores> FFT planning...
_____________________________________________________________________________
 
colores> Testing the maps and correlations.
colores> Projecting probe structure to lattice...
colores> Low-pass-filtering probe map...
colores> Target and probe maps:
lib_vwk> Map density info: max 1.336620, min 0.000000,ons: x=1-80, y=1-78, z=1-59
lib_vio> 3D coordinates of first voxel (1,1,1): (-42.000000,-37.000000,-27.000000)
lib_vio> Voxel size in Angstrom: 1.000000
lib_vio> Reading density data...
lib_vio> Volumetric data read from file 1_rib_sph.situs
lib_vwk> Setting density values below 0.000000 to zero.
lib_vwk> Remaining occupied volume: 368160 voxels.
lib_vwk> Map size reduced from 80 x 78 x 59 to 75 x 73 x 53.
lib_vwk> New map origin (co ave 0.731369, sig 0.356352.
lib_vwk> Map density info: max 0.888912, min 0.000000, ave 0.238482, sig 0.265116.
colores> Projecting probe structure to lattice...
colores> Applying filters to target and probe maps...
colores> Normalizing target and probe maps...
colores> Target and probe maps:
lib_vwk> Map density info: max 7.706669, min 0.000000, ave 4.216920, sig 2.054652.
lib_vwk> Map density info: max 7.062263, min 0.000000, ave 1.894701, sig 2.106307.
colores> Computing correlation in direct space...
colores> Correlation with structure centered in density map:   4.0550410E-01
colores> Computing correlation in Fourier space...
colores> FFT correlation with structure centered in density map:   4.0550410E-01
_____________________________________________________________________________
 
colores> Getting Euler angles.
lib_eul> Proportional Euler angles distribution, total number 552 (delta = 30.000000 deg.)
colores> Total number of orientations sampled: 552
colores> Euler angles saved in file col_eulers.dat.
_____________________________________________________________________________
 
colores> Time of one FFT calculation: 558.529000 ms
colores> Average time spent on each rotation: 1.930565 s
colores> Estimated time for full 6D (on-lattice) search: 0 h 8 m 52 s
colores> Off-lattice Powell optimization will take significant extra time.
_____________________________________________________________________________
 
colores> Starting 6D on-lattice search with 3D FFT scan of Euler angles.
colores> Searching using 2 processors
colores> |##################################################|    552/552 | 100% done
colores> Actual time spent on 6D on-lattice search: 0 h 9 m 17 s
_____________________________________________________________________________
 
colores> Translation function peak detection.
colores> Peak filter contrast: maximum 1.466482, sigma 0.220214
colores> Contrast threshold: 0.366620, candidate peaks: 6442
colores> Found 2038 non-redundant peaks.
_____________________________________________________________________________
 
colores> Off-lattice search (Powell's optimization method).
colores> Determining fastest correlation function...
colores>    Original algorithm: Correlation = -0.40325570  Time = 801.346500 ms
colores>    Masked algorithm:   Correlation = -0.37685866  Time = 769.456000 ms
colores>    One-step algorithm: Correlation = -0.40387978  Time = 339.170000 ms
colores> Using original three-step correlation function.
colores> Using 2 processors in SMP mode.
colores> Parallel Powell optimization: The order of maxima is not preserved in the output.
colores> Shown are: offset (in A) from reference center (-2.500,1.500,2.500),
colores> Euler angles (in degrees), and correlation value.
colores>
colores> Performing optimizations...
colores>
colores> Powell optimization for score maximum no.  2.
colores>   X       Y       Z       Psi     Theta   Phi      Correlation
colores>   2.000   1.000  -2.000 150.000  90.000 120.000    7.2017062E-01 Initial
colores>   0.837  -0.260  -2.957 147.826 100.196 119.984    7.4344796E-01 1
colores>   1.064  -0.614  -3.393 146.070 100.800 119.948    7.4503033E-01 2
colores>   1.361  -0.570  -3.398 144.720 100.859 120.043    7.4539065E-01 3
colores>   1.558  -0.554  -3.351 144.043 100.667 120.162    7.4553672E-01 4
colores>   1.586  -0.560  -3.346 144.065 100.639 120.179    7.4554444E-01 5
colores>   1.653  -0.566  -3.338 144.007 100.630 120.221    7.4554937E-01 6
colores>   1.652  -0.572  -3.339 144.005 100.631 120.216    7.4554958E-01 7
colores>   1.652  -0.572  -3.339 144.005 100.631 120.216    7.4554958E-01 Final
colores>
colores> Powell optimization for score maximum no.  1.
colores>   X       Y       Z       Psi     Theta   Phi      Correlation
colores>   2.000  -2.000  -2.000 150.000  90.000 120.000    7.2380030E-01 Initial
colores>   0.992  -0.714  -2.912 147.397 100.100 119.950    7.4391271E-01 1
colores>   1.127  -0.608  -3.377 145.893 100.763 119.950    7.4512706E-01 2
colores>   1.385  -0.550  -3.393 144.582 100.880 120.072    7.4541740E-01 3
colores>   1.514  -0.540  -3.357 144.2.300.668 120.143    7.4552242E-01 4
colores>   1.609  -0.551  -3.323 144.014 100.510 120.202    7.4554278E-01 5
colores>   1.615  -0.560  -3.325 144.176 100.504 120.238    7.4554497E-01 6
colores>   1.624  -0.565  -3.331 144.229 100.531 120.250    7.4554673E-01 7
colores>   1.627  -0.569  -3.336 144.2.300.537 120.251    7.4554735E-01 8
colores>   1.627  -0.569  -3.336 144.2.300.537 120.251    7.4554735E-01 Final
colores>
colores> Powell optimization for score maximum no.  3.
colores>   X       Y       Z       Psi     Theta   Phi      Correlation
colores>   2.000  -2.000  -5.000 150.000  90.000 120.000    7.1574640E-01 Initial
colores>   1.074  -0.482  -2.946 147.244 100.169 120.084    7.4413757E-01 1
colores>   1.155  -0.601  -3.382 145.715 100.680 120.047    7.4517064E-01 2
colores>   1.406  -0.545  -3.377 144.515 100.756 120.119    7.4544158E-01 3
colores>   1.546  -0.547  -3.340 144.142 100.623 120.150    7.4553421E-01 4
colores>   1.600  -0.550  -3.336 144.098 100.626 120.209    7.4554627E-01 5
colores>   1.604  -0.566  -3.336 144.033 100.629 120.205    7.4554756E-01 6
colores>   1.612  -0.571  -3.336 144.012 100.633 120.152    7.4554819E-01 7
colores>   1.612  -0.571  -3.336 144.012 100.633 120.152    7.4554819E-01 Final
colores>
colores> Powell optimization for score maximum no.  4.
colores>   X       Y       Z       Psi     Theta   Phi      Correlation
colores>   1.000  -4.000  -2.000 150.000  90.000 120.000    7.1089411E-01 Initial
colores>   1.091  -0.720  -2.917 147.207 100.152 120.118    7.4408655E-01 1
colores>   1.190  -0.615  -3.372 145.683 100.656 120.068    7.4520931E-01 2
colores>   1.408  -0.533  -3.374 144.536 100.721 120.133    7.4544507E-01 3
colores>   1.518  -0.559  -3.341 144.225 100.621 120.134    7.4552536E-01 4
colores>   1.600  -0.577  -3.327 144.200 100.598 120.196    7.4554599E-01 5
colores>   1.634  -0.564  -3.335 144.027 100.627 120.200    7.4554919E-01 6
colores>   1.636  -0.565  -3.335 144.026 100.628 120.200    7.4554925E-01 7
colores>   1.636  -0.565  -3.335 144.026 100.628 120.200    7.4554925E-01 Final
colores>
colores> Powell optimization for score maximum no.  5.
colores>   X       Y       Z       Psi     Theta   Phi      Correlation
colores>   4.000   0.000  -3.000 180.000  60.000 300.000    7.0387882E-01 Initial
colores>   2.733  -0.707  -2.647 180.253  58.785 293.652    7.2366609E-01 1
colores>   2.032  -0.522  -2.645 187.353  57.663 291.467    7.3116989E-01 2
colores>   0.502  -0.746  -2.906 193.829  58.599 289.965    7.3689413E-01 3
colores>   0.435  -0.893  -2.919 193.788  58.822 290.013    7.3695839E-01 4
colores>   0.430  -0.896  -2.934 193.783  58.831 290.007    7.3695933E-01 5
colores>   0.431  -0.896  -2.932 193.783  58.831 290.007    7.3695934E-01 6
colores>   0.431  -0.896  -2.932 193.783  58.831 290.007    7.3695934E-01 Final
colores>
colores> Powell optimization for score maximum no.  6.
colores>   X       Y       Z       Psi     Theta   Phi      Correlation
colores>   2.000  -3.000   0.000 150.000  90.000 120.000    7.0376503E-01 Initial
colores>   1.008  -1.009  -1.270 146.806  98.464 119.965    7.3342647E-01 1
colores>   1.252  -0.976  -2.536 145.586 100.521 119.984    7.4314829E-01 2
colores>   1.548  -0.564  -3.343 144.045 100.699 120.162    7.4553381E-01 3
colores>   1.627  -0.572  -3.343 143.979 100.637 120.162    7.4554842E-01 4
colores>   1.629  -0.574  -3.338 144.029 100.626 120.160    7.4554908E-01 5
colores>   1.629  -0.574  -3.338 144.029 100.626 120.160    7.4554908E-01 Final
colores>
colores> Powell optimization time (6 runs): 1 h 50 m 25 s
colores> Removing 4 redundant fits, keeping 2 unique fits.
___________________________________________________________________
 
colores> Renormalizing correlation values by highest score.
colores> Writing translation function lattice to Situs file.
lib_vio> Writing density data...
lib_vio> Volumetric data written to file col_trans.sit
lib_vio> File col_trans.sit - Header information:
lib_vio> Columns, rows, and sections: x=1-129, y=1-125, z=1-95
lib_vio> 3D coordinates of first voxel (1,1,1): (-67.000000,-61.000000,-45.000000)
lib_vio> Voxel size in Angstrom: 1.000000
colores> Writing translation function lattice information to log file.
___________________________________________________________________
 
colores> Saving the best results.
colores> Estimating peak sharpness and writing best fit no.   1 to file col_best_001.pdb.
colores> Estimating peak sharpness and writing best fit no.   2 to file col_best_002.pdb.
___________________________________________________________________
 
colores> Output files:
   col_best*.pdb   => best docking results in PDB format with info in header
   col_eulers.dat  => colores-readable list of Euler angles
   col_rotate.log  => Rotation function (unnormalized) log file
   col_trans.log   => Translation function (norm. by best fit) log file
   col_trans.sit   => Translation function (norm. by best fit) in Situs format
   col_powell.log  => Powell optimization log file
___________________________________________________________________
 
colores> All done!

Note that 4 of the found results were redundant so only two solutions remain. Note that each run of colores or colacor overwrites the col_* files in your directory. Therefore, you should save these files after each run into a separate subdirectory:

mkdir exhaustive ; mv col_* exhaustive

As an additional exercise you may do the same for troponin C.

Visualization 

One of the problems with SAXS bead models is the rendering of an outer contour that does not occlude the interior. In the following, we use again pdb2vol to create a low-resolution map from the bead model, but this time we apply a "soft" smoothing kernel that will allow us to render a smooth envelope of the bead model surface without cluttering up the image with individal spheres. For this we use the VMD graphics program (version 1.8.4 or higher). Chimera and Sculptor also support Situs format.

At the command prompt, enter:

./pdb2vol 0_rib_sph.pdb 3_rib_sph.situs

Select no mass-weighting (enter 1), no B-factor threshold (enter 1) and enter the desired voxel spacing of the output map. For the visualization we choose this time a larger voxel spacing of 2 Å. Next, enter the kernel width (half-max radius): +6 Å. Next, select the Gaussian smoothing kernel (enter 1). Since we are using a larger grid spacing now select lattice correction (enter 1), and enter the maximum amplitude of the kernel (enter 1 and keep a note of this).

The following sequence of commands in the VMD text console (cf. VMD user guide ) will load the docked structure 2_rib_1.pdb and render it in cartoon representation, coded by color. The script then instructs VMD to render the file 3_rib_sph.situs:
 

mol load pdb exhaustive/col_best_001.pdb
mol load situs 3_rib_sph.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 0.5 0 0 1 2 1
mol modcolor 0 0 Structure
mol modcolor 0 1 ColorID 0


The result should look like the following figure. Note the smooth surface that wraps around the beadmodel without penetrating into it:


(Click image to enlarge)

Now inspect the alternative solution col_best_002.pdb. The second ribonuclease inhibitor structure is "flipped" about the pseudo-symmetry axis of the U-shaped molecule. This kind of degeneracy of the best fit can be expected in the case of symmetric shapes. One should expect unique fits only in cases where the shape of the molecule clearly determines the registration.

Manual Docking and Refinement

In many fitting applications an expert user may have a pretty good idea where to place a biomolecule. Therefore, it is still quite popular to manually dock atomic structures into low resolution maps. (In VMD one can move a loaded molecule by selecting the menu Mouse -> Move -> Molecule, then translate it with the mouse and rotate it by pressing the Shift key; the new coordinates can then be saved by selecting File -> Save Coordinates).

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, care must be taken in the case of SAXS to select volumetric correlation (option "-corr 0"), since the default option (Laplacian filter) would amplify the segmentation of the data caused by the SAXS beads.  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.

Inspection of the troponin C files 0_tnc.pdb and 1_tnc_sph.situs reveals that 0_tnc.pdb is slightly misplaced relative to the volumetric map, although the structures do overlap. 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 and -sizef 0.5 for avoiding limited initial overlap problems, and the resolution -res 6.333 which is the value returned by the earlier pdb2vol conversion of 1_tnc_sph.situs):

./colacor 1_tnc_sph.situs 0_tnc.pdb -res 6.333 -corr 0 -sizef 0.5
_____________________________________________________________________________

colacor> Options read:
colacor> Target resolution 6.333
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.500
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_tnc_sph.situs - Header information:
lib_vio> Columns, rows, and sections: x=1-90, y=1-46, z=1-45
lib_vio> 3D coordinates of first voxel (1,1,1): (-48.000000,-19.000000,-39.000000)
lib_vio> Voxel size in Angstrom: 1.000000
lib_vio> Reading density data...
lib_vio> Volumetric data read from file 1_tnc_sph.situs
lib_vwk> Setting density values below 0.000000 to zero.
lib_vwk> Remaining occupied volume: 186300 voxels.
lib_vwk> Map density info: max 1.142575, min 0.000000, ave 0.646634, sig 0.367731.
_____________________________________________________________________________

colacor> Processing atomic structure.
lib_pio> 1271 atoms read.
colacor> COM: -0.731  2.042  1.980, radius: 36.731 Angstrom
_____________________________________________________________________________

lib_vwk> Generating Gaussian kernel with 11^3 = 1331 voxels.
lib_vwk> Generating Gaussian kernel with 19^3 = 6859 voxels.
lib_vwk> Generating kernel with 11^3 = 1331 voxels.
lib_vwk> Map size expanded from 90 x 46 x 45 to 144 x 94 x 93 by zero-padding.
lib_vwk> New map origin (coord of (1,1,1) voxel): (-75.000,-43.000,-63.000)
colacor> Projecting probe structure to lattice...
colacor> Computing fraction of PDB contained within the map (above cutoff density) ...
colacor> Overlap fraction:   1.1210593E-01
colacor> Warning: Less than half of the input PDB is contained within the map!

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 9.854325, min 0.000000, ave 5.577000, sig 3.171556.
lib_vwk> Map density info: max 12.963925, min 0.000000, ave 2.800532, sig 3.306156.
colacor> Computing correlation value ...
colacor> Correlation value:   9.4975131E-02

_____________________________________________________________________________

colacor> Identifying inside or buried voxels...
colacor> Found 29788 inside or buried voxels (out of a total of 1258848).
colacor> Powell's optimization method.
colacor> Determining fastest correlation function...
colacor>    Original algorithm: Correlation = -0.10394427  Time = 51.405500 ms
colacor>    Masked algorithm:   Correlation = -0.08669810  Time = 43.978500 ms
colacor>    One-step algorithm: Correlation = -0.10394609  Time = 21.852000 ms
colacor> Using original three-step correlation function.
colacor> Shown are: offset (in A) from reference center (-3.000,4.000,-16.500),
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.4975131E-02 Initial
colacor>  -1.032  -1.254  -1.261  12.330  -4.039   2.313    1.4519657E-01 1
colacor>   1.949  -3.211  -1.971   9.831 -14.848   6.502    1.7328373E-01 2
colacor>   4.011  -6.074  -3.061   9.346 -45.961   2.042    2.0509940E-01 3
colacor>   1.458  -7.180  -3.668  17.412 -39.793  -3.288    2.3513902E-01 4
colacor>  -0.159  -7.805  -4.612  26.679 -32.417 -19.213    2.5908911E-01 5
colacor>  -0.123  -8.814  -6.306  38.161 -46.973 -33.870    3.0745488E-01 6
colacor>  -0.140  -8.945  -7.126  42.410 -48.590 -35.654    3.2619263E-01 7
colacor>  -1.325  -7.790  -9.069  54.285 -43.789 -40.911    3.6114242E-01 8
colacor>  -0.965  -7.014 -10.459  64.302 -32.914 -50.010    3.7981803E-01 9
colacor>   0.957  -4.130 -16.037 103.995   9.719 -98.146    5.3222052E-01 10
colacor>   2.351  -3.289 -17.509 109.815   8.594 -103.848    5.7116303E-01 11
colacor>   3.317  -2.474 -19.099 116.936   6.569 -112.326    5.9388999E-01 12
colacor>   3.212  -2.343 -19.331 118.381   5.935 -114.200    5.9653099E-01 13
colacor>   2.892  -1.987 -19.581 120.267   4.679 -117.086    5.9968876E-01 14
colacor>   2.857  -1.866 -19.566 120.267   4.878 -116.890    6.0022909E-01 15
colacor>   2.726  -1.423 -19.387 119.474   5.332 -115.413    6.0112616E-01 16
colacor>   2.712  -1.392 -19.376 119.346   5.120 -115.168    6.0120951E-01 17
colacor>   2.704  -1.375 -19.338 119.085   4.959 -114.849    6.0124580E-01 18
colacor>   2.705  -1.373 -19.336 119.061   4.927 -114.818    6.0124667E-01 19
colacor>   2.706  -1.373 -19.337 119.067   4.934 -114.832    6.0124681E-01 20
colacor>   2.706  -1.373 -19.337 119.067   4.934 245.168    6.0124681E-01 Final
colacor>
colacor> Powell optimization time: 0 h 7 m 34 s
_____________________________________________________________________________

colacor> Writing result to file col_best_001.pdb.
_____________________________________________________________________________

colacor> All done!!!

The program output shows how the initial correlation of 0.1 increases to 0.6 while the structure is matched. The output is again written to the file col_best_001.pdb. As before, we create a directory "manual" and move the col_* files into it.

When inspected with VMD as above the results should look similar to the following figure:


(Click image to enlarge)

Outlook: Alternative Fitting Strategies 

Using simulated markers (feature points) for docking

The programs qpdb, qvol, qdock are specialized tools that perform vector quantization based docking for a given number of feature vectors (simulated markers). Most of the functionality of these routines is included in the combined qrange tool. The usage of these routines is demonstrated elsewhere in the context of electron microscopy docking, but are also applicable to SAXS.

Flexible docking

It is well known that proteins can adopt a solution conformations that deviate from a known crystal structure. Consider e.g. the case of calmodulin which was first shown by SAXS to compact in solution (Heidorn & Trewhella, Biochemistry 1988 Feb 9; 27(3): 909-15) and whose first solved crystal structure was not in the "physiologically relevant" conformation. For cases like this the flexible docking tools described in the flexible docking tutorial, although developed with electron microscopy in mind, may also become very useful to SAXS modelers.

Return to the front page .