SAXS Tutorial
|
The tutorial
teaches the modeling and visualization
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
Then, return to this page.
The
Situs_3.1_saxs_tutorial/bin directory will contain the executables as well as four input data
files and an executable shell
script:
- 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.
- run_tutorial.bash:
Bash shell script containing all commands of this tutorial.
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.
Here is the full
pdblur session
for file 1_rib_sph.situs. You can also automate this
procedure in a script by overloading the expected input (see run_tutorial.bash for
details):
./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>
Situs formatted map 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
|
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 Å. See run_tutorial.bash.
|
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 core 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> Situs formatted map 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 in Situs format to file col_hi_fil.sit
lib_vio> Situs formatted map 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 in Situs format to file col_lo_fil.sit
lib_vio> Situs formatted map 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: 6.597000 ms
colores> Average time spent on each rotation: 16.877600 ms
colores> Estimated time for full 6D (on-lattice) search: 4.658218 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: 8.505492 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 = 3.727500 ms
colores> Masked algorithm: Correlation = 0.33195710 Time = 3.631000 ms
colores> One-step algorithm: Correlation = 0.41907229 Time = 6.050000 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): 34.629978 s
colores> Removing 4 redundant fits, keeping 2 unique fits.
_____________________________________________________________________________
colores> Renormalizing correlation values by highest score.
colores> Writing translation function lattice to density file in Situs format.
lib_vio> Writing density data...
lib_vio> Volumetric data written in Situs format to file col_trans.sit
lib_vio> Situs formatted map 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 four of the found
results were
redundant so only two solutions remain. Also, note that each run of colores overwrites the col_* files
in your
directory. Therefore, you should save these files after each run into a
separate subdirectory:
mkdir
2_exhaustive ; mv col_*
2_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 (this is arbitrary, we use here an amplitude of 1).
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 volumetric map 3_rib_sph.situs
by its isocontour value 0.5 (the suggested isocontour value, which can
be adjusted in an intensity range slider, is half of the kernel
amplitude chosen above):
mol load
pdb 2_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
|
Don't forget to hit "enter" after the last line!
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)
(You can change the rendering style and transparency of the wrapped isocontour and PDB in the VMD Graphics menu).
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 using a 4Å bead radius.
|
Manual
Docking and
Refinement
In many fitting applications
an expert
user may have a pretty good idea where to place a biomolecule.
Therefore, manu users wish 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 refinement tool, collage, that 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. collage can take one or more PDB files as input.
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 collage. Here we give the results of
a collage
run based on these two input files (note the -corr 0 and the resolution
-res 6.333 which is the value returned by the earlier pdb2vol
conversion of 1_tnc_sph.situs):
./collage
1_tnc_sph.situs 0_tnc.pdb -res 6.333 -corr 0
_____________________________________________________________________________
collage> Options read:
collage> Target resolution 6.333
collage> Resolution anisotropy 1.000
collage> Powell correlation algorithm determined automatically
collage> Low-resolution map cutoff 0.000
collage> Powell maximization ON
collage> Standard cross correlation
collage> Powell tolerance 1.00E-06 Max iterations 50
collage> Powell trans & rot initial step sizes set to default values
_____________________________________________________________________________
collage> Processing low-resolution map.
lib_vio> Situs formatted map 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.
_____________________________________________________________________________
collage> Processing atomic structures.
lib_pio> 1271 atoms read.
collage> One atomic input structure detected:
collage> 1. 0_tnc.pdb (1271 atoms)
_____________________________________________________________________________
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 61 x 33 x 31 by zero-padding.
lib_vwk> New map origin (coord of first voxel): (-52.247,-22.166,-41.165)
collage> Projecting probe structure to lattice...
collage> (no steric exclusion boosting of density)
collage> Computing fraction of PDB contained within the map (above cutoff density) ...
collage> Overlap fraction: 1.4844269E-01
collage> Warning: Less than half of the input PDB is contained within the map!
collage> Applying filters to target and probe maps...
collage> Normalizing target and probe maps...
collage> Target and probe maps:
lib_vwk> Map density info: max 4.056848, min 0.000000, ave 0.317103, sig 0.902745.
lib_vwk> Map density info: max 7.805456, min 0.000000, ave 0.257985, sig 0.937638.
collage> Initial correlation coefficient: 1.4506603E-01
_____________________________________________________________________________
collage> Identifying inside or buried voxels...
collage> Found 7696 inside or buried voxels (out of a total of 62403).
collage> Powell conjugent gradient maximization.
collage> Determining most efficient correlation algorithm based on convergence and time...
collage> Original algorithm: Correlation = 0.15601827 Time = 1.894500 ms
collage> Masked algorithm: Correlation = 0.12867513 Time = 1.853000 ms
collage> One-step algorithm: Correlation = 0.15139914 Time = 1.120000 ms
collage> Using original three-step correlation function.
collage>
collage> Performing Powell conjugate gradient maximization...
collage>
collage> Single-body Powell
collage> X
Y
Z Psi
Theta Phi
Correlation Iteration PDB (Body) Nr.
collage> 0.000 0.000
0.000 0.000 0.000
0.000 1.4506603E-01 Initial
1
collage> 2.284 -1.190 -18.364 36.872
11.519 328.383 6.3113920E-01
Final
1
collage> Total number of Powell steps: 26
collage> Total optimization time: 28.654045 s
_____________________________________________________________________________
collage> Writing body number 1 to file cge_001.pdb.
collage> Writing Powell log to file cge_powell.log.
_____________________________________________________________________________
collage> 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 written to the file cge_best_001.pdb. To avoid
over writing this file, we create a directory "4_manual" and move the cge_* files into it (see run_tutorial.bash script).
When
inspected
with VMD as above, the results should look similar to the following
figure:
(Click
image to
enlarge)
|
Outlook:
Alternative Fitting Strategies
Enforcing symmetry
The collage tool and the pdbsymm
tool can be combined to impose symmetry constraints on the
fragments during multi-fragment docking. Currently we
support C, D, and helical symmetry. This feature should be
very useful for many oligomeric assemblies. See the multi-fragment tutorial
for details.
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 . |
|