ADP_EM is ultra fast multiresolution docking tool which has been specially
designed to support high throughput coverage. The method uses spherical harmonics
to effectively speed up the rotational scan. It can be considered as a practical
step-down of the Fast Rotational Matching (FRM) described elsewhere in Kovacs et al. 2003.
Please, download the program and test by yourself the efficiency and robustness
reached with this new approach.
ADP_EM is developed and supported by Structural Bioinformatics Group (P. Chacón and J.I. Garzón) with the helpful work of J. Kovacs from R. Abagyan lab at TSRI, CA, USA.
References
Jose Ignacio Garzón, Julio A. Kovacs, Ruben Abagyan,
and P. Chacón. (2007) ADP_EM: Fast exhaustive multi-resolution
docking for high-throughput coverage. Bioinformatics. 23(4):427-33

Julio A. Kovacs, Pablo Chacón, Yao Cong, Essam Metwally, and Willy Wriggers (2003) Fast
Rotational Matching of Rigid Bodies by Fast Fourier Transform Acceleration of Five Degrees of Freedom.
Acta Cryst. D. 59:1371-1376.
Here we give a brief overview of the necessary steps to run the program,
but we strongly encourage to follow the tutorials. The user guide is partitioned
in three levels of usage:
Basic single docking
For docking a single atomic structure into a EM density map enter the following command at the prompt:
| adp_em <EM map> <pdb> <bw> <resolution> <cutoff> |
where:
| EM map |
3D electron microcopy experimental map. Situs and CCP4 formats are accepted
but with extensions ".sit" an ".cpp4". Be careful with the byte-order/architecture.
At the moment only 32bits machines are supported |
| pdb |
Atomic structure to be docked in PDB format |
| resolution   |
Nominal resolution of the experimental map in Ã…. Our resolution criterion follows those used by the standard processing package EMAN (e.g. PDB2MRC tool) |
| bw |
Bandwidth used in the harmonic transformation. It must be an even number. The default value is 16. Higher values can be used (e.g. 24 or 32) for docking cases where additional rotational accuracy is needed or for large structures. Remember that the computational cost increases with this parameter. |
| Cutoff |
Density map threshold value. All density levels below this value will be not considered. |
Basic Multiple docking
For docking mutiple atomic structures into a EM density map use:
| adp_em <EM map> <pdb> <bw> <resolution> <cutoff> -m |
Exactly the same parameters as before with the exception of:
| -m |
This option tells the program that multiple atomic structures will be provided |
| pdblist   |
Single column ASCII file containing all the PDBs file names to be docked. More than 10000 structures can be docked in a single run |
Advanced options
There are many optional parameters that can be used for tuning up the docking tool. The more useful are:
| −h |
Displays usage information and exits |
| −f <int> |
This option sets the fitting criterion used:
- 0 Standard linear cross-correlation. The scalar product between the density maps of the low resolution map and the low-pass filtered atomic structure. Recommended for resolutions < 15Ã… and when the atomic model accounts all the density of the map.
- 1 Reserved - not working
- 2 [default] A Laplacian filter is applied by default to maximize the fitting contrast. Recommended for resolutions > 15Ã… and when the atomic model only accounts a part of the density of the experimental map.
|
| −n <int> |
Number of saved solutions (default 50) |
| −t <float> |
Translational sampling in Ã… (default twice of voxel size). Values >6Ã… should be not used. |
| −s <int> |
Translational scan strategy:
- 0 Full search. All the translational points inside the target EM map will be explored.
- 1 Limited. Radial search starting from the center of mass
- 3 [default] Masking search.
|
Other options for real expert users:
| −−ne <int> |
Number peaks explored per docking (-m) (default 30) |
| −−np <int> |
Number peaks stored per iteration (default 20) |
| −−nr <int> |
Number peaks stored in the search (default 100) |
| −−nrm <int> |
Number peaks stored in the multi docking search (default 500) |
| −−rt <float> |
Translational threshold in grid units (default 2.0) |
| −−rt <float> |
Rotational threshold in degrees (default 360/bw) |
| −−lw <float> |
Width between spherical layers (default 1.0) |
| −−cutoff2 <float> |
Density cutoff of simulated map (default 0.0) |
The ADP_EM Tutorials are practical guides for researchers who want to use ADP_EM to perform multiresolution docking. They include working examples and simple instructions. Before you go through the tutorial, first get the corresponding files from download zone. The following tutorials are currently available:
Basic single docking
As first exercise let’s dock the GroEl subunit into the whole GroEL-GroES map.
The GroEL-ATP from E.coli was taken from
The Macromolecule Structure Database (EMD).
The map with EMD ID 1047 emd1047.ccp4 was downloaded from EMD
(It was also pre-processed to remove discontinuous density using voledit tool of SITUS package, floodfill at 0.060). The docking exercise will consist in the localization of a GroEL subunit (chainA.pdb extracted from 2C7E pdb) and their related symmetric copies. First download, uncompress and untar the corresponding single tutorial file. This file contains all the necessary files to perform the tutorial. I recommend create a new working directory, so all the output files will be stored on it. To perform the docking just prompt:
| ../bin/adp_em ../emd1047.ccp4 ../chainA.pdb 16 14.9 0.060 -n 20 |
where 16 corresponds to the harmonic bandwidth used, 14.9 is the resolution in angstroms, 0.06 the density cutoff used and 20 the number of fits saved. Here is the screen output:
adp_em>
adp_em> ADP_EM
adp_em>
adp_em> Single PDBs
adp_em> Laplacian Kernel Filtering
adp_em> Search Mode: Mask
adp_em> Save % best fits
adp_em> Sampling-> Rot: 11.250 (bw=16) Trans: 3.725
adp_em>
adp_em>
adp_em> Step 1: Processing EM-map & pdb...
adp_em>
adp_em> 3DMAP ../emd1047.ccp4
adp_em> Resolution 14.900000 cutoff 0.060000
adp_em> Initial dimensions 128x128x128
adp_em> Grid Size 1.862x1.862x1.862
adp_em> Mass center 40.999x41.001x44.586
adp_em> Radii E 8 54 I 6 40 Z 0 0
adp_em> Radii E 9 54 I 5 12 Z 0 0
adp_em> Final dimensions 85x85x89 voxels
adp_em>
adp_em> PDB ../chainA.pdb
adp_em> DIM: Low pass 46x45x56
adp_em> Radii E 10 31 I 0 0 Z 11 32
adp_em> Warning R max HI >> R max LO
adp_em> Final dimensions 48x47x58
adp_em>
adp_em> Step 2: Exhaustive search...
adp_em>
adp_em> Trans limits min 5.000 max: 44.000 init 5.000
adp_em> Explored 9771 (mask 77623 not 73434): time 81.900000 sec
adp_em> Max peaks 100 (allowed 100)
adp_em> Peaks found 31 (from 100 peaks) time: 87.130000 sec
adp_em>
adp_em> Total searching time 87.890000 sec
adp_em>
adp_em>
adp_em> Step 3: Saving Solutions...
adp_em>
adp_em> -------------------------------------------------------------------------
adp_em> Psi Theta Phi X Y Z Corr
adp_em> -------------------------------------------------------------------------
adp_em> 1 218.25( 13) 0.00( 16) 94.48( 8) 68.02 41.82 23.82 0.251
adp_em> 2 196.90( 14) 0.00( 16) 208.70( 29) 36.38 67.78 23.64 0.248
adp_em> 3 217.44( 13) 0.00( 16) 352.36( 17) 35.98 16.73 23.80 0.246
adp_em> 4 250.04( 10) 0.00( 16) 216.19( 29) 18.71 53.59 23.79 0.245
adp_em> 5 19.06( 30) 0.00( 16) 131.94( 4) 18.51 30.86 23.76 0.243
adp_em> 6 190.18( 15) 0.00( 16) 66.28( 10) 58.07 21.51 23.76 0.242
adp_em> 7 180.90( 16) 0.00( 16) 180.89( 0) 58.40 62.23 23.79 0.242
adp_em> 8 187.11( 15) 173.23( 1) 26.01( 14) 21.20 59.49 63.84 0.240
adp_em> 9 175.39( 16) 172.89( 1) 117.02( 6) 29.60 18.02 63.97 0.238
adp_em> 10 177.65( 16) 173.95( 1) 171.21( 1) 53.27 17.31 63.91 0.237
adp_em> 11 199.19( 14) 173.85( 1) 294.25( 22) 63.57 58.55 63.85 0.236
adp_em> 12 175.01( 16) 173.05( 1) 218.68( 29) 68.00 35.09 63.81 0.235
adp_em> 13 194.39( 15) 173.59( 1) 334.35( 18) 42.66 69.28 63.66 0.231
adp_em> 14 191.36( 15) 173.94( 1) 78.24( 9) 15.34 36.52 63.80 0.231
adp_em> 15 226.21( 12) 180.00( 0) 145.15( 3) 28.00 20.00 64.00 0.170
adp_em> 16 136.62( 20) 33.08( 13) 116.08( 6) 50.00 18.00 46.00 0.167
adp_em> 17 260.54( 9) 149.03( 3) 43.08( 12) 16.00 30.00 42.00 0.165
adp_em> 18 134.23( 20) 33.13( 13) 269.73( 24) 46.00 66.00 46.00 0.164
adp_em> 19 257.46( 9) 147.25( 3) 92.69( 8) 34.00 14.00 42.00 0.163
adp_em> 20 274.16( 8) 146.94( 3) 143.02( 3) 58.00 20.00 42.00 0.163
adp_em> --------------------------------------------------------------------------
adp_em>
adp_em> Saved in adpEM[1-20].pdb files
adp_em> Total Time 90.630000 sec
adp_em>
adp_em>
|
For visualizing the results use your favorite program.
Here we display superimposed the 7th first best fittings
(files from adpEM0001.pdb to adpEM0007.pdb) with the GroEL-GroES map
using chimera
As you can see, the heptameric ring has been properly reconstructed.
Basic multiple docking
If you are interesting in docking multiple atomic structures into single EM
density map this is your tutorial. As an example we are going to dock a
native structure (used to generate the target density maps), 300 homology models,
an a template structure ( remote homolog used to generate the models) into a simulate
EM map. The homology models and the maps has been downloaded from http://salilab.org/modem/modem_benchmark.tar.gz. Since ADP_em does not support MRC format, the maps have been converted to Situs format (ccp4 can be used as well). The tutorial file includes all the models and the EM maps only for 1DXTÂ case (the original Sali's benchmark includes another 7 test cases than can be processed in a equivalent way). Please follow the step by step instruction showing how to perform this multiple docking case.
1) Create column PDB list. As a required input the user must provide a one
column ASCII file with the file names of the pdbs to be docked.
In our case all the models are stored in a single directory named 1dxt.
To generate such list you can take advantage of the "find" Unix tool. As in previous tutorial, create a new directory and work on it.Â
| find ../1dxt -name "*.pdb" -print0 | xargs -0 ls -1 > listpdb |
With previous command we have all the pdb names stored on the file "listpdb" in a single column format .
2) To run the program:
| ../bin/adp_em ../1dxt-10A.sit listpdb 16 10 0.0 -f 0 -m |
where -m is mandatory flag for multiple docking (otherwise listpdb will be interpreted as a single pdb, and the program will be crash, do not forget), 16 is the bandwidth, 10 the resolution of the map, and 0.0 the density cut-off. Since the atomic models accounts for all the density of the map the fitting criteria is set to simple density cross-correlation (-f 0 option). Here is the corresponding output:
adp_em>
adp_em> ADP_EM
adp_em>
adp_em> Multiple PDBs (302 files)
adp_em> No Filtering
adp_em> Search Mode: Mask
adp_em> Save 40 best fits
adp_em> Sampling-> Rot: 11.250 (bw=16) Trans: 2.000
adp_em>
adp_em>
adp_em> Step 1: Processing EM-map & pdb...
adp_em>
adp_em> 3DMAP ../1dxt-10A.sit
adp_em> Resolution 10.000000 cutoff 0.000000
adp_em> Initial dimensions 64x64x64
adp_em> Grid Size 1.000x1.000x1.000
adp_em> Mass center 31.000x32.000x33.000
adp_em> Radii E 21 38 I 0 0 Z 22 39
adp_em> Radii E 21 38 I 0 0 Z 22 39
adp_em> Final dimensions 62x65x65 voxels
adp_em>
adp_em> Step 2: Exhaustive search...
adp_em>
adp_em>
adp_em> PDB ../1dxt/1dxt.pdb 1/302
adp_em> DIM: Low pass 56x59x59
adp_em> Radii E 17 35 I 0 0 Z 18 36
adp_em> Final dimensions 56x59x59
adp_em> Trans limits min 0.000 max: 21.000 init 0.000
adp_em> Explored 438 (mask 3469 not 33321): time 3.570000 sec
adp_em> Max peaks 100 (allowed 100)
adp_em> Peaks found 11 (stored 11 (max 100) time: 7.990000 sec
adp_em>
adp_em> PDB ../1dxt/1hbg.pdb 2/302
adp_em> DIM: Low pass 59x59x50
adp_em> Radii E 17 31 I 0 0 Z 18 32
adp_em> Final dimensions 59x59x50
adp_em> Trans limits min 0.000 max: 20.000 init 0.000
.
.
.
.
.
adp_em> ----------------------------------------------------------------------------
adp_em> Psi Theta Phi X Y Z Corr
adp_em> ----------------------------------------------------------------------------
adp_em> 1 78.76 0.00 281.26 31.01 32.01 32.99 0.999 ../1dxt/1dxt.pdb
adp_em> 2 150.35 142.53 121.77 31.07 32.00 32.75 0.971 ../1dxt/model34.pdb
adp_em> 3 143.89 133.39 114.83 30.98 31.96 32.78 0.970 ../1dxt/model54.pdb
adp_em> 4 174.26 131.44 130.12 31.13 32.19 32.99 0.963 ../1dxt/model51.pdb
adp_em> 5 142.62 154.37 127.04 30.58 31.61 33.36 0.963 ../1dxt/model195.pdb
adp_em> 6 167.54 138.92 135.04 31.06 31.64 32.77 0.962 ../1dxt/model97.pdb
adp_em> 7 170.95 146.65 143.47 31.21 31.83 32.72 0.961 ../1dxt/model94.pdb
adp_em> 8 148.26 147.61 122.94 31.11 32.18 32.89 0.960 ../1dxt/model19.pdb
adp_em> 9 157.43 141.99 126.60 31.06 31.82 32.70 0.960 ../1dxt/model60.pdb
adp_em> 10 145.83 137.40 113.60 31.12 32.06 32.84 0.960 ../1dxt/model35.pdb
adp_em> 11 150.91 144.72 119.13 31.15 32.07 32.93 0.960 ../1dxt/model18.pdb
adp_em> 12 145.43 139.82 111.15 31.01 31.84 32.85 0.958 ../1dxt/model87.pdb
adp_em> 13 147.22 147.37 123.79 31.04 32.09 32.82 0.958 ../1dxt/model62.pdb
adp_em> 14 127.92 133.71 88.30 31.05 32.16 32.94 0.958 ../1dxt/model83.pdb
adp_em> 15 150.33 142.73 131.13 30.94 31.90 32.87 0.957 ../1dxt/model91.pdb
adp_em> 16 157.94 135.92 121.06 30.87 31.56 32.66 0.956 ../1dxt/model63.pdb
...............
|
4) Inspect the results adpEM[1-50].pdb with your favorite viewer. You can for example compare the obtained docking poses of the native (1dxt.pdb) and the best fitting model (model34.pdb), which correspond to the first (adpEM0001.pdb) and second best fit (adpEM0002.pdb), respectively.
Note the high similarity of the best fitting model with the original structure used for generate the map.
3) At adp_em_multi.log file you can find the 10 best fits of each model. If you want to build a table with the best fit of each homology model, just run the following commands:
grep "1" adp_em_multi.log > temp
sort -r -k 11 temp > results10
|
>more results10
1 78.76( 25) 0.00( 16) 281.26( 23) 31.01 32.01 32.99 0.999 ../1dxt/1dxt.pdb
1 150.35( 19) 142.53( 3) 121.77( 5) 31.07 32.00 32.75 0.971 ../1dxt/model34.pdb
1 143.89( 19) 133.39( 4) 114.83( 6) 30.98 31.96 32.78 0.970 ../1dxt/model54.pdb
1 174.26( 17) 131.44( 4) 130.12( 4) 31.13 32.19 32.99 0.963 ../1dxt/model51.pdb
1 142.62( 19) 154.37( 2) 127.04( 5) 30.58 31.61 33.36 0.963 ../1dxt/model195.pdb
1 167.54( 17) 138.92( 4) 135.04( 4) 31.06 31.64 32.77 0.962 ../1dxt/model97.pdb
1 170.95( 17) 146.65( 3) 143.47( 3) 31.21 31.83 32.72 0.961 ../1dxt/model94.pdb
|
The benchmark
To test our methodology we build a benchmark formed by 28 simulated docking cases, comprising a wide variety of macromolecular shapes. Each test case consists of a macromolecule atomic structure, five simulated density maps generated from it (at experimental resolutions of 10, 15, 20, 25 and 30Ã…), and different atomic structures which corresponds to subunit components of the target macromolecule. Each docking test consist in localize the atomic structural subunits into the corresponding complete simulated 3D-EM map. For future developments and comparations the docking benchmark has been made available at download section. Here is the complete list:
- 1aw5 5-aminolaevulinate dehydratase (8x subunits);
- 1e6v_a chain A of methyl-coenzyme M reductases (2x);
- 1e6v_b chain B of methyl-coenzyme M reductases (2x);
- 1e6v_bc chain BC of methyl-coenzyme M reductases (2x);
- 1fpy glutamine synthetase (10x);
- 1g8g ATP sulfurylase (6x)
- 1gd1 holo-glyceraldehyde-3-phosphate dehydrogenase (4x)
- 1j2p proteasome a-ring(7x);
- 1k32 tricorn protease as homohexamer (6x);
- 1kf6_a chain A of quinol-fumarate reductase (2x);
- 1kf6_cd chain CD of quinol-fumarate reductase (2x);
- 1l1f glutamate dehydrogenase (6x);
- 1n6d tricorn protease as homotrimer (3x);
- 1nic Cu-nitrite reductase (3x);
- 1q5b cadherin (3x);
- 1ruz_j hemagglutinin (3x) RecA (6x);
- 1w3a lectin (6x);
- 1xmv RecA (6x);
- 2a79_a chain A of voltage-gated potassium channel ß2-subunit (4x);
- 2pil pilin (5x);
- 7cat catalase (7cat,4x);
- groel_a chain A GROEL (7x) into 1aon map
- groel_h chain H GROEL (7x) into 1aon map
- groes chain O GROES (7x) into 1aon map
- ribE ribosomal protein S2(1x) into 1gix-1giy map
- ribX 30S subunit of ribosome (1gix,1x) into 1gix-1giy map
- ribY 50S subunit of ribosome (1giy,1x) into 1gix-1giy map
- ther thermosome (1QV2, 14x);
|
In each directory (bold face in the list) you can find all the maps in situs format (.sit extension)
and the subunits to be docked in PDB format. Since typically are multiple copies of the subunits in
the macromolecule map, for comparison purposes, each of them are available in separate pdb files (m1, m2, m3..etc).
For example, for running one test using our approach, just use:
| adp_em 1aw5/1aw5_15.sit 1aw5/1aw5m1.pdb 16 15 0.0 |
Since its a 8-mer, you can find 8 best fits which poses correspond to the original ones (pdb files 1aw5m(1-8) ).
Download and Installation
Here you can find both Unix and Windows version of the program (for source code just send us
an e-mail). We also include the docking examples used in the tutorials and a collection of simulated
docking cases used for validating the ADP performance. Please send us your name, affiliation, and e-mail
address. Registered users will be informed, as necessary, about bug fixes or new releases of the program.
Your information will be kept confidential. When you have downloaded the file all you have to do is uncompress it,
it should work straigth away if your machine has the appropriate operating system. If that's not the case
please let us know.