|
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.5_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 use
here the VMD
graphics program, 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:
(-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 a possible 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 pdb2vol:
option "-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>
Standard cross correlation
colores> FFT
grid size expansion factor 0.100 (thickness of
additional zero layer as fraction of map dimensions)
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>
Sculptor mode OFF
colores> Number
of best fits explored 6
colores>
Original peak search by sort and filter
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 sections: x=1-80, y=1-78, z=1-59
lib_vio> 3D
coordinates of first voxel:
(-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> Map
interpolated from 80 x 78 x 59 to 33 x 33 x 25.
lib_vwk> Voxel
spacings interpolated from (1.000,1.000,1.000) to
(2.339,2.339,2.339).
lib_vwk> New
map origin (coord of first voxel), in register with
coordinate system origin: (-39.763,-35.085,-25.729)
lib_vwk>
Setting density values below 0.000000 to zero.
lib_vwk>
Remaining occupied volume: 27225 voxels.
lib_vwk> Map
size changed from 33 x 33 x 25 to 33 x 31 x 23.
lib_vwk> New
map origin (coord of first voxel):
(-39.763,-32.746,-23.390)
lib_vwk> Map
density info: max 1.200882, min 0.000000, ave 0.170563,
sig 0.312096.
_____________________________________________________________________________
colores>
Processing atomic structure.
lib_pio> 3411
atoms read.
colores>
Geometric center: 13.643 37.649 18.051, radius: 40.408
Angstrom
_____________________________________________________________________________
lib_vwk>
Generating Gaussian kernel with 7^3 = 343 voxels.
lib_vwk>
Generating Gaussian kernel with 11^3 = 1331 voxels.
lib_vwk>
Generating kernel with 7^3 = 343 voxels.
lib_vwk> Map
size expanded from 33 x 31 x 23 to 47 x 45 x 35 by
zero-padding.
lib_vwk> New
map origin (coord of first voxel):
(-56.136,-49.119,-37.424)
colores>
Identifying inside or buried voxels and creating flipped
mask...
colores> Found
4041 inside or buried voxels (out of a total of
74025).
colores>
Identifying inside or buried voxels...
colores> Found
4041 inside or buried voxels (out of a total of
74025).
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.200882, min 0.000000, ave 0.054214,
sig 0.203321.
lib_vwk> Map
density info: max 11.054224, min 0.000000, ave
0.614863, sig 1.850482.
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 5.541246, min 0.000000, ave 0.250160,
sig 0.938185.
lib_vwk> Map
density info: max 5.463697, min 0.000000, ave 0.303904,
sig 0.914625.
colores>
Writing target and probe maps for inspection or debugging...
lib_vio>
Writing density data...
lib_vio>
Volumetric data written to file col_hi_fil.sit
lib_vio> File
col_hi_fil.sit - Header information:
lib_vio>
Columns, rows, and sections: x=1-47, y=1-45, z=1-35
lib_vio> 3D
coordinates of first voxel:
(-56.136000,-49.119000,-37.424000)
lib_vio> Voxel
size in Angstrom: 2.339000
lib_vio>
Writing density data...
lib_vio>
Volumetric data written to file col_lo_fil.sit
lib_vio> File
col_lo_fil.sit - Header information:
lib_vio>
Columns, rows, and sections: x=1-47, y=1-45, z=1-35
lib_vio> 3D
coordinates of first voxel:
(-56.136000,-49.119000,-37.424000)
lib_vio> Voxel
size in Angstrom: 2.339000
colores>
Computing correlation between maps in direct space...
colores>
Correlation with structure centered in density
map: 4.1225703E-01
colores>
Computing correlation in Fourier space...
colores> FFT
correlation with structure centered in density
map: 4.1225703E-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: 11.275000 ms
colores>
Average time spent on each rotation: 31.433000 ms
colores>
Estimated time for full 6D (on-lattice) search: 8.675508 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: 12.464924 s
_____________________________________________________________________________
colores>
Translation function peak detection.
colores> Peak
filter contrast: maximum 2.217902, sigma 0.400741
colores>
Contrast threshold: 0.554475, candidate peaks: 554
colores> Found
168 non-redundant peaks.
_____________________________________________________________________________
colores>
Off-lattice search (Powell's optimization method).
colores>
Determining most efficient correlation algorithm based on
convergence and time...
colores>
Original algorithm: Correlation =
0.41891119 Time = 10.864500 ms
colores>
Masked algorithm: Correlation
= 0.33195710 Time = 10.591500 ms
colores>
One-step algorithm: Correlation =
0.41907229 Time = 18.885000 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
(-1.169,3.508,3.508),
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.339 -4.678 -4.678 150.000
90.000 120.000 7.2495764E-01 Initial
colores>
-0.303 -2.663 -3.804 147.314 100.244
120.322 7.6652249E-01 1
colores>
-0.116 -2.617 -4.290 145.170 100.816
120.054 7.6795897E-01 2
colores>
0.079 -2.640 -4.265 144.752 100.707
120.004 7.6810865E-01 3
colores>
0.119 -2.542 -4.245 144.666 100.578
119.991 7.6813893E-01 4
colores>
0.119 -2.549 -4.245 144.671 100.578
119.989 7.6813929E-01 5
colores>
0.119 -2.549 -4.245 144.671 100.578
119.989 7.6813929E-01 Final
colores>
colores> Powell
optimization for score maximum no. 1.
colores>
X
Y
Z Psi
Theta Phi Correlation
colores>
2.339 -4.678 -2.339 180.000
60.000 300.000 7.2601146E-01 Initial
colores>
0.734 -3.122 -3.567 181.789
59.488 293.147 7.4924440E-01 1
colores>
0.492 -2.697 -3.699 188.064
57.820 291.198 7.5499423E-01 2
colores>
-0.619 -2.532 -3.939 192.661 57.826
290.023 7.5910809E-01 3
colores>
-0.777 -2.770 -3.877 193.196 58.068
290.045 7.5942694E-01 4
colores>
-0.816 -2.874 -3.891 193.398 58.565
290.008 7.5948509E-01 5
colores>
-0.870 -2.946 -3.919 193.683 58.713
289.896 7.5952242E-01 6
colores>
-0.893 -2.957 -3.911 193.671 58.714
289.890 7.5952748E-01 7
colores>
-0.892 -2.957 -3.913 193.671 58.714
289.890 7.5952750E-01 8
colores>
-0.892 -2.957 -3.913 193.671 58.714
289.890 7.5952750E-01 Final
colores>
colores> Powell
optimization for score maximum no. 3.
colores>
X
Y
Z Psi
Theta Phi Correlation
colores>
4.678 -2.339 -2.339 120.000
90.000 120.000 7.0052552E-01 Initial
colores>
3.625 -1.707 -3.065 135.528 100.170
122.590 7.4422417E-01 1
colores>
1.397 -2.290 -3.871 141.039
99.884 120.912 7.6534903E-01 2
colores>
0.127 -2.485 -4.242 144.794 100.571
119.988 7.6811939E-01 3
colores>
0.128 -2.579 -4.243 144.740 100.571
119.981 7.6813917E-01 4
colores>
0.130 -2.574 -4.243 144.742 100.571
119.982 7.6813926E-01 5
colores>
0.130 -2.574 -4.243 144.742 100.571
119.982 7.6813926E-01 Final
colores>
colores> Powell
optimization for score maximum no. 4.
colores>
X
Y
Z Psi
Theta Phi Correlation
colores>
4.678 2.339 0.000
108.000 120.000 120.000 6.5674961E-01 Initial
colores>
3.683 -0.639 -2.610 124.278 103.785
125.292 7.3451722E-01 1
colores>
2.633 -1.449 -3.418 135.307
99.906 121.989 7.5425408E-01 2
colores>
0.671 -2.538 -4.082 141.777 101.419
120.344 7.6748934E-01 3
colores>
0.405 -2.615 -4.308 143.719 100.935
120.064 7.6791881E-01 4
colores>
0.126 -2.523 -4.277 144.651 100.634
120.003 7.6813210E-01 5
colores>
0.120 -2.556 -4.247 144.657 100.594
119.998 7.6813902E-01 6
colores>
0.124 -2.554 -4.248 144.670 100.585
119.996 7.6813930E-01 7
colores>
0.124 -2.554 -4.248 144.670 100.585
119.996 7.6813930E-01 Final
colores>
colores> Powell
optimization for score maximum no. 5.
colores>
X
Y
Z Psi
Theta Phi Correlation
colores>
-4.678 -9.356 -4.678 216.000 60.000
270.000 6.4289230E-01 Initial
colores>
-1.884 -3.350 -4.554 210.826 47.059
279.904 7.3771509E-01 1
colores>
-1.612 -3.166 -4.290 206.022 52.989
283.709 7.4682258E-01 2
colores>
-1.621 -3.400 -3.916 199.130 58.790
287.895 7.5662388E-01 3
colores>
-1.355 -3.248 -3.850 197.525 58.590
288.544 7.5803446E-01 4
colores>
-0.906 -2.920 -3.889 193.943 58.470
289.803 7.5950836E-01 5
colores>
-0.922 -2.911 -3.904 193.803 58.633
289.864 7.5951913E-01 6
colores>
-0.908 -2.949 -3.912 193.735 58.714
289.900 7.5952662E-01 7
colores>
-0.910 -2.954 -3.911 193.735 58.714
289.900 7.5952682E-01 8
colores>
-0.910 -2.954 -3.911 193.735 58.714
289.900 7.5952682E-01 Final
colores>
colores> Powell
optimization for score maximum no. 6.
colores>
X
Y
Z Psi
Theta Phi Correlation
colores>
2.339 4.678 0.000
144.000 60.000 300.000 6.3339013E-01 Initial
colores>
2.711 1.663 -2.931
162.393 52.646 297.109 7.0955659E-01 1
colores>
1.742 -1.054 -3.399 172.749
54.899 294.759 7.3971360E-01 2
colores>
0.250 -3.683 -3.871 186.763
58.300 291.658 7.5333631E-01 3
colores>
-0.310 -3.659 -3.970 190.441 58.829
291.047 7.5683888E-01 4
colores>
-0.797 -3.218 -3.787 192.449 58.942
290.514 7.5918823E-01 5
colores>
-0.810 -3.122 -3.877 192.778 58.965
290.301 7.5939956E-01 6
colores>
-0.849 -3.036 -3.915 193.166 58.900
290.067 7.5949853E-01 7
colores>
-0.883 -2.968 -3.941 193.501 58.806
289.926 7.5951907E-01 8
colores>
-0.893 -2.973 -3.947 193.595 58.793
289.937 7.5952157E-01 9
colores>
-0.892 -2.967 -3.949 193.615 58.773
289.925 7.5952213E-01 10
colores>
-0.892 -2.967 -3.949 193.615 58.773
289.925 7.5952213E-01 Final
colores>
colores> Powell
optimization time (6 runs): 0 h 1 m 39 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-47, y=1-45, z=1-35
lib_vio> 3D
coordinates of first voxel:
(-56.136000,-49.119000,-37.424000)
lib_vio> Voxel
size in Angstrom: 2.339000
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_lo_fil.sit => Filtered
target volume in Situs format just prior to correlation calculation
col_hi_fil.sit => Filtered (and
centered) probe structure in Situs format just prior to correlation
calculation
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 optional exercise (not in the
solutions directory) 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. We show the results with the VMD
graphics program. 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.
As an additional exercise you
may do the same
for troponin C.
|
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 always select standard correlation (option
"-corr 0"), since a possible 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 (thickness of additional
zero layer as fraction of map dimensions)
colacor> Standard cross 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:
(-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> Map interpolated from 90 x 46 x 45 to 56 x 29 x 28.
lib_vwk> Voxel spacings interpolated from (1.000,1.000,1.000) to
(1.583,1.583,1.583).
lib_vwk> New map origin (coord of first voxel), in register with
coordinate system origin: (-47.498,-18.999,-37.998)
lib_vwk> Setting density values below 0.000000 to zero.
lib_vwk> Remaining occupied volume: 45472 voxels.
lib_vwk> Map size changed from 56 x 29 x 28 to 55 x 27 x 25.
lib_vwk> New map origin (coord of first voxel):
(-47.498,-17.416,-36.415)
lib_vwk> Map density info: max 1.016194, min 0.000000, ave 0.133514,
sig 0.273129.
_____________________________________________________________________________
colacor> Processing atomic structure.
lib_pio> 1271 atoms read.
colacor> Geometric center: -0.689 2.049 1.968, radius:
36.694 Angstrom
_____________________________________________________________________________
lib_vwk> Generating Gaussian kernel with 7^3 = 343 voxels.
lib_vwk> Generating Gaussian kernel with 11^3 = 1331 voxels.
lib_vwk> Generating kernel with 7^3 = 343 voxels.
lib_vwk> Map size expanded from 55 x 27 x 25 to 117 x 61 x 57 by
zero-padding.
lib_vwk> New map origin (coord of first voxel):
(-96.578,-44.331,-61.747)
colacor> Projecting probe structure to lattice...
colacor> Computing fraction of PDB contained within the map (above
cutoff density) ...
colacor> Overlap fraction: 1.4844269E-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 10.358129, min 0.000000, ave
0.124196, sig 0.984646.
lib_vwk> Map density info: max 15.622254, min 0.000000, ave
0.121942, sig 0.985302.
colacor> Computing correlation value ...
colacor> Correlation value: 1.1399617E-01
_____________________________________________________________________________
colacor> Identifying inside or buried voxels...
colacor> Found 7696 inside or buried voxels (out of a total of
406809).
colacor> Powell's optimization method.
colacor> Determining most efficient correlation algorithm based on
convergence and time...
colacor> Original algorithm: Correlation =
0.11937149 Time = 10.595000 ms
colacor> Masked algorithm: Correlation
= 0.09845092 Time = 8.332500 ms
colacor> One-step algorithm: Correlation =
0.11951140 Time = 5.440500 ms
colacor> Using original three-step correlation function.
colacor> Shown are: deviations (in A) from start structure,
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 1.1399617E-01 Initial
colacor> -0.468 -1.991 -2.015 11.118
-4.124 2.886 1.9657045E-01 1
colacor> 0.916 -3.188 -3.529
4.320 -24.756 4.953 2.5095717E-01 2
colacor> 2.137 -8.234 -9.800 -1.803
-21.209 9.565 4.2479084E-01 3
colacor> 3.162 -5.755 -13.022 -7.280
-18.875 9.256 5.3597236E-01 4
colacor> 2.061 -2.375 -18.116 -9.277
-7.603 10.702 6.7992681E-01 5
colacor> 2.767 -1.877 -19.070 -8.981
-7.313 11.887 6.8992848E-01 6
colacor> 2.913 -1.399 -19.461 -9.497
-7.160 13.028 6.9246596E-01 7
colacor> 2.925 -1.291 -19.490 -9.978
-7.383 13.444 6.9276693E-01 8
colacor> 2.798 -1.093 -19.512 -11.251
-7.563 14.694 6.9326103E-01 9
colacor> 2.799 -1.114 -19.500 -11.611
-7.422 15.035 6.9340505E-01 10
colacor> 3.034 -1.404 -19.528 -21.121
-6.153 24.928 6.9526453E-01 11
colacor> 2.814 -1.403 -19.531 -24.046
-5.724 27.857 6.9619410E-01 12
colacor> 2.728 -1.406 -19.591 -29.586
-5.168 33.416 6.9696923E-01 13
colacor> 2.627 -1.386 -19.732 -41.258
-5.034 45.226 6.9796720E-01 14
colacor> 2.554 -1.424 -19.693 -44.698
-4.927 48.740 6.9819468E-01 15
colacor> 2.537 -1.471 -19.578 -53.090
-5.104 56.892 6.9892013E-01 16
colacor> 2.469 -1.550 -19.274 -70.958
-5.083 75.067 6.9991302E-01 17
colacor> 2.440 -1.381 -18.651 -113.867
-5.591 118.223 7.0275264E-01 18
colacor> 2.487 -1.247 -18.640 -118.408
-6.000 122.667 7.0331398E-01 19
colacor> 2.520 -1.168 -18.595 -129.457
-6.967 133.617 7.0392305E-01 20
colacor> 2.528 -1.202 -18.642 -130.240
-7.434 134.422 7.0426655E-01 21
colacor> 2.530 -1.368 -18.672 -139.974
-9.277 144.177 7.0477494E-01 22
colacor> 2.556 -1.369 -18.604 -140.341
-9.598 144.607 7.0492876E-01 23
colacor> 2.593 -1.361 -18.473 -141.677 -10.360
146.093 7.0511462E-01 24
colacor> 2.576 -1.369 -18.460 -142.279 -10.511
146.744 7.0517877E-01 25
colacor> 2.443 -1.402 -18.503 -143.564 -10.896
148.306 7.0547492E-01 26
colacor> 2.443 -1.402 -18.503 36.436
10.896 328.306 7.0547492E-01 Final
colacor>
colacor> Powell optimization time: 0 h 1 m 55 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
fitted. 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, qrange, matchpoint
are specialized tools that
perform vector quantization based docking
for a given number of feature vectors (simulated markers).
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 . |
|