FRODOCK - "Fast Rotational DOCKing tool"
This tool performs an exhaustive 6D docking between two protein structures. This approximation is able to generates very efficiently many potential predictions of how these two proteins could interact. Although, this is an initial stage exhaustive docking a hence a second refinement or scoring stages is expected, the excellent accuracy results obtained with standard benchmarks permit its usage directly as a first protein-protein docking approach. Since it is a rigid-body approximation, this is valid only when reduced conformational changes upon binding are expected.
FRODOCK: a new approach for fast rotational
protein-protein docking JI Garzon, JR Lopéz-Blanco,
C. Pons, J. Kovacs, R. Abagyan, J. Fernandez-Recio,
P. Chacon. Bioinformatics. 25(19):p. 2544-2551
Here we give a brief overview of the
necessary commands to run FRODOCK, but we strongly encourage to follow
the tutorials. Right now, there are four different executables:
- frodockgrid
to pre-calculate the protein potential maps.
- frodock to
perform the protein protein docking 6D exhaustive search.
- frodockcluster
for clustering frodock's raw predictions.
- frodockview for
displaying solutions and creating pdb solutions.
This user guide describes the usage of these FRODOCK components.
FRODOCKGRID - precomputing potential maps
To create the potential maps that will be
used for scoring during the docking process, enter the following
command at the prompt:
frodockgrid
<pdb> -m <int> |
where:
| pdb |
The initial model structure to be
fitted (PDB format) |
| −m
<int> |
Type map
to generate:
- 0: [default] van der Waals
potential map.
- 1: Electrostatic potential
map.
- 2: Charge projection map.
- 3: Desolvation potential + PDB file with ASA in Occupancy column + ASA projection map.
|
Basic Options
In this section, the basic options to
customize the potential maps are detailed. Just add them after the
minimum command shown above.
| −o
<string> |
Volume output filename (default:
frodockgrid.ccp4). |
| −−gs
<float> |
Volume output grid size in
amstrongs (default: 1.0). |
| −t <float> |
Absolute threshold limit for the
electrostatic potential values. To be used only when -m=1 (default: no
threshold) |
| −−pr <float> |
Probe radius in amstrongs. To be
used only when -m={0,4} (default: 1.4). |
| −h |
Displays usage information and
exits. |
Advanced
options
Only for real expert users!
| −−hyd |
Consider hydrogen in the creation of the potential
map. |
| −−fp <int> |
Forcefield parameters:
- 0: [default] CHARMM
- 1: ICM
|
| −−an <int> |
Atom name convention:
- 0: [default] IUPAC
- 1: PDB
|
FRODOCK - Docking process
To perform a basic shape (van de Waals) docking enter the
following command at the prompt:
|
frodock <recept_pdb> <ligand_pdb> --E 0 |
Alternatively, by removing the --E flag the electrostaics can be
considered. You could include the vdW
and electrostatics precalculated maps using -w and -e
<string> options, respectively. These simple docking alternatives
can be useful as a first aproximation.The recommended option is include vdw,
electrostatic and desolvation terms, i.e.:
| frodock rec_ASA.pdb lig_ASA.pdb −d lig_sol.cpp4,rec_sol.cpp4 |
It is madatory that ligand and receptor pdb input files inlude the atom ASA
values in the Occupancy column. These files are standard output of
frodockgrid, please do not forget to use them instead of the original ones.
Exploiting pre-calculations to gain efficiency, an equivalent command line will be:
| frodock rec_ASA.pdb lig_ASA.pdb −w rec_vdw.cpp4 −e rec_ele.cpp4 −d
lig_solv.cpp4,rec_solv.cpp4 |
where:
| <recept_pdb> |
The receptor structure PDB. |
| <ligand_pdb> |
The ligand structure PDB (the
smallest one recommended). |
| −w
<string> |
vdW
receptor potential file (default: Created from receptor pdb file). |
| −e
<string> |
Electrostatic
receptor map |
| −−E
<float> |
Electrostatic
term weight (default: 0.3) |
| −d
<string> |
Desolvation
potential maps for receptor and ligand (syntax: -d
receptor_map.ccp4,ligand_map.ccp4). |
| −−D
<float> |
Desolvation
term weight (default: 0.5) |
Basic Options
In this section, the basic options to
customize the docking process are detailed.
| −o <string> |
Solutions output filename (default:
frodock_output.dat). |
| −−bw <float> |
Bandwidth in spherical harmonic
representation. Define rotational stepsize (default: 32. Rotational
stepsize ~6°) |
| −−lmax
<float> |
External
Mask reduction ratio. (default: 0.23) |
| −−lmin
<float> |
Internal
Mask reduction ratio. (default: 0.43) |
| −−th <float> |
Electrostatic map threshold.
(default: 10.0) |
| −−lw
<float> |
Width between spherical layers in
amstrongs. (default: 1.0) |
| −−st
<float> |
Translational search stepsize in
amstrongs. (default: 2.0) |
| −h |
Displays usage information and
exits. |
Advanced
options
Only for real expert users!
| −−np <int> |
Number of solutions stored per
traslational position. (default: 4) |
| −−rd <float> |
Minimal rotational distance allowed
between close solutions in degrees. (default: 12.0) |
| −−nt <int> |
Number of solutions stored in the
search. (default: unlimited) |
| −−td <float> |
Maximal translational distance to
consider close solutions in grid units. (default: 0) |
| −a<string> |
Receptor and ligand ASA maps (default: created from receptor and ligand pdb files if Desolvation potential used. Syntax: -a
asa_receptor,asa_ligand).
|
| −−around
<string> |
translational search restricted to
a region around a point defined in "x,y,z" format. |
| −−nover |
Show no messages. |
FRODOCKCLUSTER - Sort and cluster frodock output file
To sort and cluster the docking solutions,
enter the following command at the prompt:
| frodockcluster <data> <pdb |
where:
| <data> |
Frodock solutions data filename.
(required) |
| <pdb> |
Ligand pdb filename. (required |
FRODOCKVIEW - Show and create pdb solutions
To show docking solutions and create
resulting PDBs, enter the following command at the prompt:
where:
| <input> |
Frodock solutions input filename
(required) |
| −r
<string> |
Range of solutions showed (default:
all solutions). |
| −p <string> |
Generate pdb files applying
solutions coordinates showed over Ligand pdb file (default: No files
created |
| −−size |
Show
the total number of solution in file. |
| −e |
Input
file is a Frodock evaluated file. |
| −h |
Displays usage information and
exits. |
The FRODOCK Tutorial is a practical guide for researchers who want to perform
protein-protein docking using the FRODOCK docking tool.
We included some working examples with simple instructions:
In the Download tab can be found a
tar.gz archive containing the necessary binaries and example files to complete the tutorial.
Please uncompress and untar the archive and go to the examples directory.
1) Step by step easy protein protein docking
To illustrate the procedure it is performed a HyHel-5/lysozyme bound-bound docking case.
The receptor (3hfl_fv.pdb, green) and the ligand (3hfl_ly_ref.pdb, red on the right) coordinates were extracted
from 3hfl pdb entry of the Protein Data Bank. The ligand molecule was rotated randomly (3hfl_ly2.pdb, red on the left)to avoid
pre-aligment situations.
 |
FRODOCK ==> |
 |
The docking process will be carried out in three consecutive steps:
--------------- STEP 1. Check PDB input files ---------------
Firstly, the input coordinates of both ligand and receptor should conform to PDB format.
Be aware of missing atoms, alternative conformations, bad place atoms and a long etc.
that can eventually jeopardize your results. Use your favorite PDB checker to anticipate and fix any PDB error.
We typically employ Molprobity (online),
pdb2pqr (e.g. pdb2pqr file.pdb --ff=CHARMM ),
profix from Jackal
package or a combination of them.
--------------- STEP 2. Potential map generation ---------------
All necessary potential maps must be pre-computed using FRODOCKGRID.
Although vdw and electrostatics maps could be computed on the fly during the docking search,
it is recommendable to create the maps beforehand in order to visualize them and check that they are consistent
with the original structure. The precomputation of desolvation potential maps for receptor and ligand is always required.
Creation of receptor vdw potential map:
> ../bin/frodockgrid 3hfl_fv.pdb -o 3hfl_fv_W.ccp4 |
Name convention: iupac
Force Field: CHARMM
Grid voxel: 1.0
With hydrogens: no
Option: vdw potential. Probe radius: 2.0
|
Creation of the receptor electrostatic potential map:
> ../bin/frodockgrid 3hfl_fv.pdb -o 3hfl_fv_E.ccp4 -m 1 |
Name convention: iupac
Force Field: CHARMM
Grid voxel: 1.0
With hydrogens: no
Option: Electrostatic potential.
|
Creation of the receptor desolvation potential map:
> ../bin/frodockgrid 3hfl_fv.pdb -o 3hfl_fv_DS.ccp4 -m 3 |
Name convention: iupac
Force Field: CHARMM
Grid voxel: 1.0
With hydrogens: no
Option: Desolvation potential.
Radius -> Water: 1.400000 - Generic atom probe: 1.950000
Area: 10102.59703 Spheres num: 1661
ASA pdb file 3hfl_fv_ASA.pdb created (ASA introduced in Occupancy column)
Computing Map..
ASA computations: 620259 ASA computations skipped: 344332
|
Also notice that, together with the desolvation potential map 3hfl_fv_desol.ccp4,
this command creates a version of 3hfl_fv.pdb called 3hfl_fv_ASA.pdb that stores atom ASA values in the occupancy column.
This pdb file MUST be used when desolvation term is employed in the docking process.
You can check the appearance of the generated
receptor potential maps with a viewer that suppots ccp4
or situs. As an example, next it is shown from left to right and from top to bottom: the receptor structure, and van der Waals, electrostatic, and desolvation maps.
All of them were represented in the same pose using blue color for negative
and red for positive potentials. For better display arbitrary visualization thresholds were used.
Creation of the ligand desolvation potential map:
> ../bin/frodockgrid
3hfl_ly2.pdb -o 3hfl_ly2_DS.ccp4 -m 3 |
Name convention: iupac
Force Field: CHARMM
Grid voxel: 1.0
With hydrogens: no
Option: Desolvation potential.
Radius -> Water: 1.400000 - Generic atom probe: 1.950000
Area: 6339.83754 Spheres num: 1001
ASA pdb file 3hfl_ly2_ASA.pdb created (ASA introduced in Occupancy column)
Computing Map..
ASA computations: 385533 ASA computations skipped: 210271
|
To consider desolvation in the docking process
desolvation potentials for both receptor and ligand must be provided.
As the receptor desolvation case, the command creates
also a pdb file 3hfl_ly2_ASA.pdb with ASA values that
MUST employed in the docking process.
As it prevoius case, you can check the appearance of
the generated ligand desolvation potential map (see below)
The same convention as above was employed.
--------------- STEP 3. Perform the exhaustive docking search ---------------
Once the potential maps were generated, you are
ready to perform the docking. To this end, use the
the following command performs to include all the potentials (van der Waals, Electrostatic and desolvation):
> ../bin/frodock 3hfl_fv_ASA.pdb 3hfl_ly2_ASA.pdb -w 3hfl_fv_W.ccp4 -e 3hfl_fv_E.ccp4 --th 10 -d 3hfl_fv_DS.ccp4,3hfl_ly2_DS.ccp4 -o dock.dat
|
dock.dat
is a binary file which stores all the docking solutions (ligand orientations and positions). Here it is the screen output:
Reading receptor PDB
* Receptor accessibility read from receptor PDB.
Checking ASA in Occupancy column...
- Ok. Occupancy column seems to show ASA values
* Creating Accessibility map from receptor PDB...
* Accessibility map created from receptor PDB
* OK
Receptor VDW map information:
* Receptor VDW map read from file
* Map origin: -33.141129 -39.668289 -12.076756
* Map size: 89 81 75
Receptor electrostatic map information:
* Receptor electrostatic map read from file
* Map modification. Threshold applied: 10.000000
* Map origin: -33.141129 -39.668289 -12.076756
* Map size: 89 81 75
Receptor desolvation map information:
* Receptor electrostatic map read from file
* Map origin: -24.141129 -30.668287 -3.076756
* Map size: 71 63 57
Reading ligand pdb
* Ligand center: 39.044571 33.064610 11.924802
* Ligand accessibility read from Ligand PDB.
Checking ASA in Occupancy column...
- Ok. Occupancy column seems to show ASA values
* Ligand desolvation map read from file
Spherical radius
* Receptor vdw radius in A: 71.0 (71 layers)
* Ligand radius in A: 25.0 (26 layers)
* Ligand electrostatic radius in A: 25.01 (26 layers)
* Ligand accessibility radius in A: 25.01 (26 layers)
* Ligand desolvation radius in A: 30.01 (31 layers)
* Maximum ligand desolvation radius in A: 30.01 (31 layers)
Precomputation of spherical representation of ligand
Precomputation Fixed time: 35.690000 s
Determination of translational points to explore
* Mask created
* Number of points to explore: 20356
Translational search init...
Writing solutions.
|
Note for advanced users: Note that the van der Waals potential term cannot be
disabled; if it is not given as input, it will be automatically
computed and used. In order to avoid the use of the
electrostatic potential −−E option must be set to 0.0. To avoid the use of
desolvation and ASA projection maps, just don't introduce them, they
will not be used.
--------------- STEP 4. Clustering and visualization of predictions ---------------
Once the docking process has been performed it is possible to sort and cluster the solutions by their RMSD values.
To this end:
| > ../bin/frodockcluster dock.dat 3hfl_ly2.pdb --nc 100 -o clust_dock.dat |
This way a new solution file containing only 100 solutions is created.
Each of these solutions represents the best element of the first 100 clusters created.
The RMSD default value used in the clusterization is 5Å.
Sort process...
Maximum correlation: 1358.838623
Clustering process...
|
To visualize the 10th first solutions:
| > ../bin/frodockview clust_dock.dat -r 1-10 |
1 86.00 158.32 201.22 19.36 6.83 55.42 1358.838623
2 244.84 55.48 123.03 13.36 2.83 51.42 1340.130737
3 194.98 99.53 265.76 -6.64 14.83 9.42 1330.710205
4 314.93 81.77 144.80 5.36 2.83 51.42 1314.066895
5 307.26 142.28 57.47 7.36 6.83 51.42 1297.044067
6 350.56 90.12 270.97 -0.64 20.83 15.42 1283.855347
7 243.60 82.73 26.85 11.36 2.83 57.42 1268.409302
8 312.63 125.93 92.46 5.36 10.83 49.42 1267.099365
9 273.10 101.75 35.90 3.36 4.83 55.42 1237.271973
10 149.50 105.01 199.21 -0.64 18.83 11.42 1224.975708
|
Eeach line has the format:
rank Euler1 Euler2 Euler3 posX posY PosZ correlation
where rank indicates the position of the solution,
{Euler1,Euler2,Euler3} are the Euler angle rotation (in
ZYZ convention) and {posX ,posY ,PosZ} is the X,Y,Z localization
respect the center of mass of the ligand pdb (only
C-alpha are used to center). Finally, the correlation
is the absolute energy score obtained.
Coordinate generation of the predicted solutions:
| > ../bin/frodockview clust_dock.dat -r 1-5 -p 3hfl_ly2.pdb |
1 86.00 158.32 201.22 19.36 6.83 55.42 1358.838623 => 3hfl_ly2_1.pdb
2 244.84 55.48 123.03 13.36 2.83 51.42 1340.130737 => 3hfl_ly2_2.pdb
3 194.98 99.53 265.76 -6.64 14.83 9.42 1330.710205 => 3hfl_ly2_3.pdb
4 314.93 81.77 144.80 5.36 2.83 51.42 1314.066895 => 3hfl_ly2_4.pdb
5 307.26 142.28 57.47 7.36 6.83 51.42 1297.044067 => 3hfl_ly2_5.pdb
|
with this command the ligand pdb is rotated and
translated using to generate the first 5 predictions.
For each prediction a pdb file is created. In this case, the first prediction (3hfl_ly2_1.pdb)
shows to be very similar to the real solution (3hfl_ly2_ref.pdb).
2) Using unbound ligand pdb in docking
In this case, instead of using the ligand bound structure obtained from the complex,
it is employed an unbound ligand structure (PDB entry 1lza).
Being an unbound structure, it presents conformational changes that makes more difficult predict the correct position.
 |
FRODOCK ==> |
 |
The steps to follow are very similar to the ones performed in the previous tutorial:
--------------- STEP 2. Potential map generation ---------------
The receptor potential maps were already created in the previous section, thus only the desolvation term must be pre-computed:
Creation of the unbound ligand desolvation potential map:
> ../bin/frodockgrid 1lza_ly2.pdb -o 1lza_ly2_DS.ccp4 -m 3 |
Name convention: iupac
Force Field: CHARMM
Grid voxel: 1.0
With hydrogens: no
Option: Desolvation potential.
Radius -> Water: 1.400000 - Generic atom probe: 1.950000
Area: 6546.14530 Spheres num: 1001
ASA pdb file 1lza_ly2_ASA.pdb created (ASA introduced in Occupancy column)
Computing Map..
ASA computations: 388332 ASA computations skipped: 209303
|
--------------- STEP 3. Perform the exhaustive docking search ---------------
> ../bin/frodock 3hfl_fv_ASA.pdb 1lza_ly2_ASA.pdb
-w 3hfl_fv_W.ccp4 -e 3hfl_fv_E.ccp4 --th 10 -d 3hfl_fv_DS.ccp4,1lza_ly2_DS.ccp4
-o dock2.dat
|
The frodock_lx.tar.gz archive contains the next directories structure:
Reading receptor PDB
* Receptor accessibility read from receptor PDB.
Checking ASA in Occupancy column...
- Ok. Occupancy column seems to show ASA values
* Creating Accessibility map from receptor PDB...
* Accessibility map created from receptor PDB
* OK
Receptor VDW map information:
* Receptor VDW map read from file
* Map origin: -33.141129 -39.668289 -12.076756
* Map size: 89 81 75
Receptor electrostatic map information:
* Receptor electrostatic map read from file
* Map modification. Threshold applied: 10.000000
* Map origin: -33.141129 -39.668289 -12.076756
* Map size: 89 81 75
Receptor desolvation map information:
* Receptor electrostatic map read from file
* Map origin: -24.141129 -30.668287 -3.076756
* Map size: 71 63 57
Reading ligand pdb
* Ligand center: 229.958908 23.243317 49.012619
* Ligand accesilibility read from Ligand PDB.
Checking ASA in Occupancy column...
- Ok. Occupancy column seems to show ASA values
* Ligand desolvation map read from file
Spherical radius
* Receptor vdw radius in A: 71.000000 (71 spherical layers)
* Ligand radius in A: 28.025059 (29 spherical layers)
* Ligand electrostatic radius in A: 28.025059 (29 layers)
* Ligand accesibility radius in A: 28.025059 (29 layers)
* Ligand desolvation radius in A: 33.025059 (34 layers)
* Maximum ligand desolvation radius in A: 33.025059 (34 layers)
Precomputation of spherical representation of ligand
Precomputation Fixed time: 36.500000 s
Determination of translational points to explore
* Mask created
Translational search init...
* Translational search finished
Writing solutions
* Number of points to explore: 18996
* Number of solutions: 69363
|
--------------- STEP 4. Clustering and visualization of predicitions ---------------
Clusterization of the solutions file is done by:
| > ../bin/frodockcluster dock2.dat 1lza_ly2.pdb --nc 100 -d 5.0 -o clust_dock2.dat |
Sort process...
Maximum correlation: 1300.347900
Clustering process...
|
As before, the solutions can be displayed using
frodockview. The closest first solution can be found
at 11th position. To get the coordinates of such prediction type:
| > ../bin/frodockview clust_dock2.dat -r 11 -p 1lza_ly2.pdb |
11 120.78 152.87 82.08 19.36 8.83 55.42 1161.477173 =>1lza_ly2_11.pdb
|
You can visualize this good solution (1lza_ly2_11.pdb, cyan) with your favorite molecular viewer.
Note the proximity to correct solution (3hfl_ly2_ref.pdb, red).
3) MPI parallel docking
FRODOCK_MPI versions works in the same way as the
sequential version, but using mpirun it is possible to split the traslational search in as many parallel processes as desired. To this end:
--------------- STEP 3. Perform the exhaustive docking search ---------------
> mpirun -np 6 ../bin_MPI_VERSION/frodock_mpi 3hfl_fv_ASA.pdb 1lza_ly2_ASA.pdb
-w 3hfl_fv_W.ccp4 -e 3hfl_fv_E.ccp4 --th 10 -d 3hfl_fv_DS.ccp4,1lza_ly2_DS.ccp4 -o dock2_mpi.dat
|
This command computes the docking process using 6 parallel processes.
The frodock_mpi binary files requires dynamic links to
a set of MPI (version 1.3.1) and system libraries. If
the corresponding frodock_mpi does not work correctly
with your MPI installation, check whether the libraries are accessible by:
> ldd ../bin_MPI_VERSION/frodock_mpi
|
libmpi_cxx.so.0 => /opt/openmpi/1.3.1/lib/libmpi_cxx.so.0 (0x00c76000)
libmpi.so.0 => /opt/openmpi/1.3.1/lib/libmpi.so.0 (0x00e26000)
libopen-rte.so.0 => /opt/openmpi/1.3.1/lib/libopen-rte.so.0 (0x00d02000)
libopen-pal.so.0 => /opt/openmpi/1.3.1/lib/libopen-pal.so.0 (0x0046c000)
etc...
|
If any of the libraries listed is marked up as "Not
Found" it will be necessary to install it or include
its path in LD_LIBRARY_PATH (NOTE: It is possible that
existing libraries present a different name, in that
case a symbolic link could solve this problem).
Download and Installation
Here you can the linux
versions of the program (for source code just send us an e-mail). We
also include the docking examples used in the tutorials. 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
un compress it,
it should work straight away if your machine has the appropriate
operating system. If that's not the case please let us know.
The frodock_lx.tar.gz archive contains the next directories structure:
FRODOCK/
bin/ : Binary executable files
* frodockgrid: Potential maps creation tool.
* frodock: Docking tool.
*frodockcluster: Sorting and clustering solutions tool.
*frodockview: Solution visualization and creation tool.
bin_openmpi_1.3.1/: FRODOCK Binary MPI-suported version
*frodock_mpi: Open MPI Docking tool.
Requires Open MPI version 1.3.1 installed.
examples/ : Files to perform docking for the complex HyHel-5/lyzosyme
PDB files:
* 3hfl_fv.pdb: Receptor pdb file.
* 3hfl_fv_ASA.pdb: Idem but with atom ASA values in Occupancy column.
* 3hfl_ly_ref.pdb: Bound ligand pdb file (not used in the docking is
the correct position for comparing with obtained
predictions) .
* 3hfl_ly2.pdb: Bound ligand pdb file. Randomly rotated.
* 3hfl_ly2_ASA.pdb: Idem with ASA values.
* 1lza_ly2.pdb: Unbound ligand pdb. Randomly rotated.
* 1lza_ly2_ASA.pdb: Idem with ASA values.
Map files:
* 3hfl_fv_vdw.ccp4: Receptor van der Walls potential.
* 3hfl_fv_elec.ccp4: Receptor electrostatic potential.
* 3hfl_fv_desol.ccp4: Receptor desolvation potential.
* 3hfl_ly2_desol.ccp4: Bound ligand desolvation potential.
* 1lza_ly2_desol.ccp4: Unbound ligand desolvation potential.