A Python-based Docking Program Utilizing a Receptor Bound Ligand ...

3 downloads 70792 Views 1MB Size Report
PythDock is a heuristic docking program that uses Python programming language with a sim- ple scoring ..... Dock for testing is not biased compared with those in other docking tools. .... method for automated protein docking based on surface.
Arch Pharm Res Vol 34, No 9, 1451-1458, 2011 DOI 10.1007/s12272-011-0906-5

A Python-based Docking Program Utilizing a Receptor Bound Ligand Shape: PythDock Jae Yoon Chung1, Seung Joo Cho2, and Jung-Mi Hah1 1 Department of Pharmacy, College of Pharmacy, Hanyang University, Ansan 426-791, Korea and 2Department of Cellular and Molecular Medicine, College of Medicine, Chosun University, Gwangju 501-759, Korea

(Received April 6, 2011/Accepted June 3, 2011)

PythDock is a heuristic docking program that uses Python programming language with a simple scoring function and a population based search engine. The scoring function considers electrostatic and dispersion/repulsion terms. The search engine utilizes a particle swarm optimization algorithm. A grid potential map is generated using the shape information of a bound ligand within the active site. Therefore, the searching area is more relevant to the ligand binding. To evaluate the docking performance of PythDock, two well-known docking programs (AutoDock and DOCK) were also used with the same data. The accuracy of docked results were measured by the difference of the ligand structure between x-ray structure, and docked pose, i.e., average root mean squared deviation values of the bound ligand were compared for fourteen protein-ligand complexes. Since the number of ligands’ rotational flexibility is an important factor affecting the accuracy of a docking, the data set was chosen to have various degrees of flexibility. Although PythDock has a scoring function simpler than those of other programs (AutoDock and DOCK), our results showed that PythDock predicted more accurate poses than both AutoDock4.2 and DOCK6.2. This indicates that PythDock could be a useful tool to study ligand-receptor interactions and could also be beneficial in structure based drug design. Key words: Initial population, Lead optimization, Molecular docking, Molecular shape, Particle swarm optimization, PythDock, Virtual screening

INTRODUCTION Binding pose prediction of a small ligand to a target protein is crucial for a rational structure based drugdesign (Taylor et al., 2002; Brooijmans and Kuntz, 2003; Kontoyianni et al., 2004). Since three dimensional (3D) structures of new therapeutically relevant targets are now available, many docking programs utilizing receptor structures have been developed (Leach et al., 2006; Gilson and Zhou, 2007; Viji et al., 2009). An accurate binding pose predicted by a docking can be extremely useful for structure-based drug design since it helps reduce the cost and time of drug development and facilitates highly selective agents without side-effect Correspondence to: Jung-Mi Hah, Department of Pharmacy, College of Pharmacy, Hanyang University, Ansan 426-791, Korea Tel: 82-31-400-5803, Fax: 82-31-400-5958 E-mail: [email protected], [email protected]

(Kitchen et al., 2004; Leach et al., 2006; Rester, 2006). A docking can be regarded as a multi-parameter optimization problem with respect to a given scoring function (Chen et al., 2007). In other words, binding poses can be described by several parameters (position, orientation, and rotational angles). Docking programs aim to find optimal parameter values (global minimum) that satisfy the lowest energy to a given scoring function against a given particular receptor (Chen et al., 2007). Therefore, an efficient search engine and an accurate scoring function are critical (Morris et al., 1998; Chen et al., 2007; Korb et al., 2009). There have been various attempts to develop both search algorithms and scoring functions for docking (Eldridge et al., 1997; Friesner et al., 2004; Gilson and Zhou, 2007; Chung et al., 2009). Search algorithms have predominantly comprised incremental (DOCK, LUDI, and FlexX) and stochastic search algorithms (AutoDock and SODOCK) (Böhm, 1994; Ewing et al., 2001; Jain, 2003; Friesner et al., 2004; Chen et al., 2007). In the present study, we focus

1451

1452

on stochastic search algorithms. Examples of stochastic algorithms are the Lamarckian genetic algorithm (LGA) in AutoDock4.2 and ant colony optimization (ACO) in PLANTS (Morris et al., 1998; Korb et al., 2009). Scoring functions can be roughly classified into the following groups: force fields, empirical, knowledge-based, and consensus scoring methods. Extensive attempts have been made to improve scoring functions (Eldridge et al., 1997; Tame, 1999; Taylor et al., 2002; Brooijmans and Kuntz, 2003). However, the general consensus is that, while scoring functions are still being honed to more precisely rank ligands’ activities, the current search algorithms are reliable enough to explore the geometric spaces of protein-ligand complexes (Chung et al., 2009). Even though a force field method which requires substantial computation for affinity calculation as a scoring function was used, it is difficult to significantly improve docking performance. In our study, we concentrated on a search algorithm rather than a scoring function to increase docking accuracy. PythDock was written in Python and is a rigid proteinligand docking program that treats ligands and proteins with fixed conformations. This tool combines a simple scoring function based on electrostatics and dispersion/repulsion energetic terms with a populationbased algorithm, particle swarm optimization (PSO), as a searching engine. PythDock generates a grid potential map based on the shape information of the active site around atoms of a given ligand, especially x-ray co-crystallized inhibitors. Of course, the grid potential map in PythDock can be designed as any rectangular parallelepiped box on a specific center position without a ligand. However, shape information from the given ligand in addition to a protein structure can greatly improve effective searching. In general, potent ligands bind to specific regions within active sites where ligands can have key interactions such as H-Bond and hydrophobicity with specific residues (Hawkins et al., 2007; Lee et al., 2008; Luo et al., 2010). It is reasonable that the searching space for ligand binding may be limited around potent ligand unless the ligand is a very small fragment. Also, this ligand-based shape can help avoid exploiting the useless solvent accessible area which is relatively far away from the active site. Therefore, ligand docking based on ligand shapes can be very fast compared with other classical docking programs (Shoichet and Kuntz, 1993; Helmer-Citterich and Tramontano, 1994; Venkatachalam et al., 2003). Ligand-based shape matching algorithms use the shape information and screen library compounds of a template ligand to find leads with similar conformations (Shoichet and Kuntz, 1993). However, the most critical problem of the ligand-based

J. Y. Chung et al.

algorithms is that their docking results are not diverse but rather quite similar to the template ligand (Hawkins et al., 2007; Lee et al., 2008). This problem arises because ligand-based algorithms use chemical properties or pharmacophore (H-Bond donor/acceptor and hydrophobicity) from functional groups of the template ligand for their scoring functions (Eldridge et al., 1997; Gilson and Zhou, 2007; Korb et al., 2009). Just like AutoDock, PythDock utilizes shape information of the given ligand and generates the grid potential map based on residual calculations (Meng et al., 1992; Morris et al., 1998). Therefore, PythDock can effectively search in the plausible searching area based on the given ligand shape and find diverse leads using the grid potential map. This grid potential map was prepared for atoms of eleven different elements frequently seen in proteinligand interaction, so the grid-generation for one protein structure needs to be done only once before the docking stage. Because PythDock calculates the only empty region of the active site and uses the simple scoring function, the calculations were derived more rapidly than with either AutoDock4.2 or DOCK6.2. Since PythDock does not automatically change the conformation of the input ligands, it requires various conformations for each input ligand as an input file for docking. In contrast, AutoDock and DOCK can vary conformations of input ligands (Morris et al., 1998; Ewing et al., 2001). However, when different conformations of one ligand are used separately as different input ligands, their docking results differ. In particular, if a ligand is conformationally flexible, then the docking result from the same ligand can vary depending on its input conformation. In PythDock, diverse 3D conformations of each input ligand were generated using ConfGen in Schrodinger package (ConfGen v2.0). The number of conformations generated for each ligand differed based on its number of rotational angles. Even though each ligand generated more than thirty conformations, the docking was completed within a reasonable time. PythDock can achieve this time efficiency because it uses a scoring function consisting of two energetic terms and a robust stochastic search algorithm. To enhance efficiency of PSO, initial positioning and local searching strategies are incorporated into PythDock (these strategies will be explained later in the Materials and Methods section). The presented results describe docking accuracy compared with x-ray crystallographic data on 14 protein-ligand complexes (Table I). The complexes were selected based on the variable number of the co-crystallized ligands’ rotatable bonds due to the effect this

A Python-based Docking Program PythDock

1453

Table I. Root mean squared deviation (RMSD) comparison with results of docking by AutoDock4.2, DOCK6.2, and PyDock 1 1PMN

2 1PMV

3 1UWJ

4 2ETM

5 2EXC

6 2FB8

7 2G01

8

1

9

6

7

8

0

1.04 −5.03

0.24 −7.08

1.08 −8.20

6.73 −3.04

1.75 −6.34

1.65 −6.51

5.13 −5.27

RMSD Grid Score

0.64 −60.24

0.43 −37.45

1.36 −75.87

9.08 −45.00

3.03 −54.40

2.23 −54.73

4.29 −34.62

0.375

RMSD pyDock Score

0.85 −40.79

0.75 −27.72

2.26 418.31

1.07 149.47

1.68 −26.17

1.03 −32.48

0.59 −4.24

0.500

RMSD pyDock Score

0.88 −39.68

0.66 −28.92

1.86 −34.54

1.04 169.29

1.64 −18.91

1.69 −37.97

0.89 −8.47

1.000

RMSD pyDock Score

2.32 142.12

1.78 −17.36

1.36 291.64

1.59 578.23

2.76 65.91

1.51 −1.53

2.38 −20.69

1.500

RMSD pyDock Score

1.25 43290.35

1.42 85.10

2.42 88933.22

5.79 511.28

2.13 20996.28

11.73 1200.86

3.73 −17.55

2.000

RMSD pyDock Score

6.04 7.08 2.81 10.02 7.05 246325.52 125223.35 322092.56 144061.66 180412.57 8 9 10 11 12 2NO3 2O2U 2R9S 2WAJ 3C4C 7 3 6 2 7

9.90 40392.48 13 3D4Q 4

4.09 64.28 14 3EYH 1

Grid spacing

#RTAa

AutoDock

0.375

RMSD AutoDock Score

DOCK

0.300

pyDock

Grid #RTA spacing AutoDock

0.375

RMSD AutoDock Score

DOCK

0.300

RMSD Grid Score

0.375

pyDock

5.00 −2.39

1.58 −8.30

0.99 −5.12

0.51 −7.31

0.88 −5.54

1.45 −7.68

0.42 −7.95

6.17 −44.08

0.23 −49.82

1.42 −56.84

0.32 −40.97

0.54 −54.88

1.19 −52.65

0.32 −49.11

RMSD pyDock Score

1.19 −7.68

1.07 −29.19

0.83 −44.12

1.66 −28.69

0.87 −21.82

0.85 −23.94

0.84 −29.10

0.500

RMSD pyDock Score

1.80 2.70

0.75 −32.63

0.71 −48.81

1.63 −33.19

0.87 −26.75

0.86 −22.59

1.19 −26.58

1.000

RMSD pyDock Score

3.22 −6.16

0.86 −14.27

1.07 −1.78

1.72 −22.19

1.71 50.06

0.94 313.25

0.80 −9.45

1.500

RMSD pyDock Score

4.69 19.63

0.87 282.88

5.82 370.19

1.69 528.44

1.86 2.12 999.84 124620.51

4.96 168.58

5.99 40421.01

5.22 81123.61

6.48 20901.88

7.97 6.23 5.08 60680.14 143005.38 241316.21

4.09 25210.57

RMSD pyDock Score a Number of rotatable torsinal angles 2.000

number has on docking performance (working time & accuracy). Other well-known docking programs (AutoDock4.2 and DOCK6.2) were also used to analyze the same data, so the performance of PythDock could be compared with other programs’ results. Although PythDock’s scoring function is simpler than those of other programs (AutoDock and DOCK), it outperformed both AutoDock4.2 and DOCK6.2 in terms of accuracy.

MATERIALS AND METHODS Grid potential map generation As previously explained, a grid potential map in

PythDock is produced based on ligand shape, and this grid generation work is needed only one time before docking. The grid potential map consists of several grid potentials for the eleven atomic elements that can be frequently seen in experimental protein structures (C, N, O, P, S, H, Fe, F, Cl, Br, and I). Neither PythDock nor AutoDock handles Mn or Zn in the grid potential map. In fact, it is widely believed that the scoring functions used in current docking programs cannot take into account quantum effects including electron transfer triggered by metal atoms (Chung et al., 2009). In the present study, we did not cover the cases where metal atoms are located close to the

1454

active site or play an important role in the biological processes. Fig. 1 shows the overall workflow of PythDock. First of all, PythDock makes a grid rectangular parallelepiped box that can fully cover a given template ligand with a 5 Å offset (this grid box is shown in Fig. 2). Then, probes for making a grid potential map are positioned with a given grid spacing in grid cells of the grid box. Finally, only probes satisfying the following two conditions remain: 1) probes do not share the same grid cell with atoms of proteins; 2) probes are no more than 3 Å away from atoms of a ligand. In Fig. 2, the small dots indicate probes, and the group of dots represents a grid potential map. Each probe was re-

J. Y. Chung et al.

placed by the eleven atomic elements one by one and the electrostatic and van der Waals interaction energies with atoms of the protein were calculated. The grid potential map shows the grid potential of each element. An OPLS-2001 force field was used to put partial charge values into ligands and proteins for electrostatic calculation, and the distance-dependent dielectric of Mehler and Solmajer, ε (r), was used (1) (Mehler and Solmajer, 1991). Also, the dispersion/ repulsion parameter values used in AutoDock4.2 were employed in PythDock to run van der Waals calculations (2) (Meng et al., 1992; Morris et al., 1998). Eelec = q1 q2 / ε (r)r EvdW = A/r12 − C/r 6

(1) (2)

Binding affinity calculation In PythDock, the two energetic terms (Eelec and EvdW ) are combined into a PythDockScore without coefficient values (3). The binding affinity for a ligand with a specific binding pose within a grid potential map can be calculated by the summation of each atom’s interaction energies (Eelec and EvdW) in the ligand. In order to estimate the binding energy of a specific atom located in 3D space, PythDock utilizes the trilinear interpolation method that approximates the value of an intermediate position, CS, within local rectangular grid points (Fig. 3) (Meng et al., 1992; Morris et al., 1998). PythDockScore = Eelec + EvdW

Fig. 1. The work flow of PyDock

Fig. 2. A grid potential map with grid-spacing 0.375 Å of PyDock. The protein-ligand complex was downloaded from protein data bank (PDB code: 3D4Q).

(3)

PSO Algorithm Translation, orientation, and torsional angles for conformations of a ligand on the specific center of 3D space are formulated into parameters in AutoDock. PythDock does not change conformations of input

Fig. 3. Trilinear interpolation method for estimating the binding energy of a specific atom, CS within 3D space.

A Python-based Docking Program PythDock

1455

ligands, so torsional angle parameters were omitted. Therefore, three position parameters (px, py, and pz) and four orientation parameters (rx, ry, rz, and ra) were employed for representation for a ligand on the center of 3D space. PythDock makes use of the quaternion that requires four parameters instead of three Euler angles in order to avoid the gimbal lock problem that results from the loss of one coordinate of freedom (Chen et al., 2007). PythDock then encodes these seven parameters (px, py, pz, rx, ry, rz, and ra) to describe a ligand binding pose. In PSO, a swarm of individual probes (particles) moves through a problem space with the simple rule that particles share the best-discovered solution and orbit around promising regions to seek out better solutions. Each particle has the seven parameters (px, py, pz, rx, ry, rz, and ra) for representing a specific binding pose of a ligand. Also, each particle is described by an additional seven parameters (vpx, vpy, vpz, vrx, vry, vrz, and vra) to allow for adaptable velocities for a particle’s changing position and orientation. After individual particles are assigned initial parameter values, they are manipulated by the following equations: V(n+1) = ω (n)V(n) + 1.0 rand()(gbest −x(n)) + 0.5 rand( )(pbest −x(n)) ω (n) = 1.05 × ((Nt −n)/Nt )0.5 Nt: Total number of iterations

(4) (5)

At the outset of the PSO algorithm, particle velocities are large because of the coefficient value of 1.05 (5), which facilitates the particle’s global searching. Since the velocity coefficient function, ω (n), decreases exponentially as n increases, velocities can be ultimately become very small values by the end of the algorithm. These small velocity values can help a swarm of particles intensively move and search in specific local regions.

Heuristic methods: initial positioning & local searching It is wasteful for particles to travel in unnecessary regions where ligands cannot be positioned and thus numerous crashes with residues occur. Initial positioning is incorporated into PythDock to help particles start to search from plausible regions in active sites prior to the full scale searching of PSO. Ligand binding poses with randomly determined parameter values usually have several crashes with residues. Initial positioning randomly changes the orientation parameter values of initial particles until the particle’s binding affinity is below a set value (PythDockScore 1000.0) or until a given iteration time has elapsed. However, these end conditions of initial positioning can worsen

the situation. For example, every particle may be assigned similar parameter values, preventing PSO from effectively exploiting the problem space. For this reason, another condition is included: RMSD values between particles should be larger than 15.0 Å for diverse initial populations. Initial positioning can make movements of particles start from plausible regions without serious bumping to the active site; this helps reduce searching time because particles do not have to wander aimlessly in unnecessary searching areas. Initial positioning can help particles rapidly approach the optimal location. When initial positioning was encoded into PythDock, a swarm of particles quickly arrived around the best solution and finished in approximately 100~200 less searching iterations than without initial positioning. Even though a local searching idea using the velocity coefficient function is included in the PSO of PythDock, an additional local search based on particle velocity is executed after particles begin moving. In the beginning of PSO, local searching might yield negative global searching results because particles can be trapped in local regions. In PythDock, local searching is executed after the middle stage of PSO. Specifically, parameter values of particles are slightly modified with random numbers. In order to avoid premature convergence during iterative searching steps, RMSD values between particles are compared with each other. If RMSD between parameter values of particles drops below a specific value (1.0e-7), the first particle is reinitialized to ensure diverse populations. Lastly, PSO in PythDock can be finished earlier than a planned iteration time. If the difference between binding affinity values of global best particles found after the middle stage of PSO continually converge within 1.0e-7, PythDock stops the algorithm. The best particle that PSO has identified to that point becomes the binding pose for the conformer of the ligand. PythDock requires many conformers per ligand for accurate binding pose prediction. The large number of conformers for docking one ligand can be a burden for PythDock execution. Therefore, this end condition by convergence of the best particles can help PythDock quickly finish PSO searching and handle many conformers of a ligand within a reasonable time.

RESULTS For each ligand, 2~28 conformers were used for PythDock according to the number of rotational torsional angles. Three particles constituted a swarm in PSO. Maximal (searching) iterations of PSO per particle

1456

J. Y. Chung et al.

were set at 1,000, but PSO searching generally finished in about 600 iterations by the convergence of particles. As a result, PythDock used maximally almost ∼ 30 conformers × 3 particles × 1000 10,000 iterations (− iteration times) for docking one ligand. Since DOCK6.2 uses the incremental searching method, it is difficult to directly compare searching times with PythDock. However, in the present study, AutoDock4.2 used 250,000 iterations for docking one ligand. Therefore, the given number of iterations for searching in PythDock for testing is not biased compared with those in other docking tools. Table I compares the RMSD docking results achieved by AutoDock4.2, DOCK6.2, and PythDock. In particular, PythDock used grid potential maps generated by diverse grid spacing values of 0.375~2.000 Å. In general, PythDock performed better when its grid potential map was generated with small grid spacing. Table II indicates that smaller grid spacing resulted in more accurate docking results in PythDock. There was an small improvement between grid spacing values of 0.375 and 0.500 Å. In PythDock, smaller grid spacing produces an exponentially larger grid potential map, so this could increase PythDock working time. In the present study, we did not use grid spacing values smaller than 0.375 Å. Other docking programs used grids generated by their default grid spacing values (AutoDock: 0.375 Å and DOCK: 0.300 Å). Fig. 4 shows a comparison plot of RMSD docking results by AutoDock, DOCK, and PythDock (grid spacing of 0.375 Å). Most of PythDock's RMSD values were less than the generally acceptable maximum of 2.000 Å. However, results from the other docking programs were less consistent. While the other programs achieved more favorable results in some cases, PythDock demonstrated a stable performance in every case. Also, PythDock showed more accurate docking results (Table II). PythDock’s average of the 14 RMSD values (1.115 Å with a grid spacing of 0.375 Å) was better than that of other docking programs (AutoDock4.2: 2.037 Å and DOCK6.2: 2.237 Å). Fig. 5 exhibits selected docking results by the three docking programs. Fig. 5A (1PMS) and B (3C4C) show cases where AutoDock and DOCK outperformed PythDock, while c (2ETM) and d (2NO3) show cases where PythDock worked better than the other two. Even in the cases where docking results from AutoDock and

Fig. 4. Plot of RMSD comparison from docking results by AutoDock4.2 (circle), DOCK6.2 (rectangle), and PyDock (triangle)

Fig. 5. Comparison of results from AutoDock4.2 (yellow), DOCK6.2 (Green) and PyDock (Orange). A cyan color is xray co-crystal inhibitor. (A) 1PMN, (B) 3C4C, (C) 2ETM and (D) 2NO3

DOCK were better than those from PythDock, the docking results from PythDock were close to an RMSD of 2 Å This result would still be low enough to effectively design new inhibitors based on the docking poses. However, in the cases where PythDock outperformed the other programs, the docking poses obtained by PythDock were much closer to the experimental data, while the results from the other programs were significantly different from the experimental data. Overall, within the data set of this study, PythDock

Table II. Average RMSD from docking result by AutoDock4.2, DOCK6.2, and PyDock docking program

AutoDock4.2

DOCK6.2

PyDock

grid spacing (Å)

0.375

0.300

0.375

0.500

1.000

1.500

2.000

average RMSD (Å)

2.037

2.237

1.115

1.181

1.722

3.609

6.294

A Python-based Docking Program PythDock

outperformed both AutoDock and DOCK.

DISCUSSION The present study analyzed PythDock, a new docking program that uses a PSO algorithm based on ligandbased shapes and a receptor-based scoring function. PythDock is a rigid body docking program, meaning that a sufficient number of conformers must be generated using other conformation generating programs prior to docking. In order to reduce searching time, PythDock employs a simple scoring function and several heuristic searching methods that can help to effectively find optimal solutions within a reasonable time. For evaluating the accuracy of PythDock, a test set of fourteen experimental data (protein-ligand complex structures) were analyzed by AutoDock4.2, DOCK6.2, and PythDock. The docking accuracy evaluation revealed that PythDock was generally superior to the other programs. Moreover, PythDock showed sufficient docking performance to be used in structurebased drug design.

ACKNOWLEDGEMENTS This work was supported by the research fund of Hanyang University (HY-2010-N).

REFERENCES Böhm, H. J., On the use of LUDI to search the Fine Chemicals Directory for ligands of proteins of known threedimensional structure. J. Comput. Aided Mol. Des., 8, 623-632 (1994). Brooijmans, N. and Kuntz, I. D., Molecular recognition and docking algorithms. Annu. Rev. Biophys. Biomol. Struct., 32, 335-373 (2003). Chen, H. M., Liu, B. F., Huang, H. L., Hwang, S. F., and Ho, S. Y., SODOCK: swarm optimization for highly flexible protein-ligand docking. J. Comput. Chem., 28, 612-623 (2007). Chung, J. Y., Hah, J. M., and Cho, A. E., Correlation between performance of QM/MM docking and simple classification of binding sites. J. Chem. Inf. Model., 49, 2382-2387 (2009). Confgen V2.0, S. D., Llc, New York, NY (2008). Eldridge, M. D., Murray, C. W., Auton, T. R., Paolini, G. V., and Mee, R. P., Empirical scoring functions: I. The development of a fast empirical scoring function to estimate the binding affinity of ligands in receptor complexes. J. Comput. Aided Mol. Des., 11, 425-445 (1997). Ewing, T. J., Makino, S., Skillman, A. G., and Kuntz, I. D., DOCK 4.0: search strategies for automated molecular docking of flexible molecule databases. J. Comput. Aided Mol. Des., 15, 411-428 (2001).

1457

Friesner, R. A., Banks, J. L., Murphy, R. B., Halgren, T. A., Klicic, J. J., Mainz, D. T., Repasky, M. P., Knoll, E. H., Shelley, M., Perry, J. K., Shaw, D. E., Francis, P., and Shenkin, P. S., Glide: a new approach for rapid, accurate docking and scoring. 1. Method and assessment of docking accuracy. J. Med. Chem., 47, 1739-1749 (2004). Gilson, M. K. and Zhou, H. X., Calculation of protein-ligand binding affinities. Annu. Rev. Biophys. Biomol. Struct., 36, 21-42 (2007). Hawkins, P. C., Skillman, A. G., and Nicholls, A., Comparison of shape-matching and docking as virtual screening tools. J. Med. Chem., 50, 74-82 (2007). Helmer-Citterich, M. and Tramontano, A., PUZZLE: a new method for automated protein docking based on surface shape complementarity. J. Mol. Biol., 235, 1021-1031 (1994). Jain, A. N., Surflex: fully automatic flexible molecular docking using a molecular similarity-based search engine. J. Med. Chem., 46, 499-511 (2003). Kitchen, D. B., Decornez, H., Furr, J. R., and Bajorath, J., Docking and scoring in virtual screening for drug discovery: methods and applications. Nat. Rev. Drug Discov., 3, 935-949 (2004). Kontoyianni, M., McClellan, L. M., and Sokol, G. S., Evaluation of docking performance: comparative data on docking algorithms. J. Med. Chem., 47, 558-565 (2004). Korb, O., Stützle, T., and Exner, T. E., Empirical scoring functions for advanced protein-ligand docking with PLANTS. J. Chem. Inf. Model., 49, 84-96 (2009). Leach, A. R., Shoichet, B. K., and Peishoff, C. E., Prediction of protein-ligand interactions. Docking and scoring: successes and gaps. J. Med. Chem., 49, 5851-5855 (2006). Lee, H. S., Choi, J., Kufareva, I., Abagyan, R., Filikov, A., Yang, Y., and Yoon, S., Optimization of high throughput virtual screening by combining shape-matching and docking methods. J. Chem. Inf. Model., 48, 489-497 (2008). Luo, W., Pei, J., and Zhu, Y., A fast protein-ligand docking algorithm based on hydrogen bond matching and surface shape complementarity. J. Mol. Model., 16, 903-913 (2010). Mehler, E. L. and Solmajer, T., Electrostatic effects in proteins: comparison of dielectric and charge models. Protein Eng., 4, 903-910 (1991). Meng, E. C., Shoichet, B. K., and Kuntz, I. D., Automated docking with grid-based energy evaluation. J. Comput. Chem., 13, 505-524 (1992). Morris, G. M., Goodsell, D. S., Halliday, R. S., Huey, R., Hart, W. E., Belew, R. K., and Olson, A. J. Automated docking using a Lamarckian genetic algorithm and an empirical binding free energy function. J. Comput. Chem., 19, 16391662 (1998). Rester, U., Dock around the Clock - Current Status of Small Molecule Docking and Scoring. QSAR Comb. Sci., 25, 605615 (2006). Shoichet, B. K. and Kuntz, I. D., Matching chemistry and shape in molecular docking. Protein Eng., 6, 723-732 (1993). Tame, J. R., Scoring functions: a view from the bench. J.

1458

Comput. Aided Mol. Des., 13, 99-108 (1999). Taylor, R. D., Jewsbury, P. J., and Essex, J. W., A review of protein-small molecule docking methods. J. Comput. Aided Mol. Des., 16, 151-166 (2002). Venkatachalam, C. M., Jiang, X., Oldfield, T., and Waldman, M., LigandFit: a novel method for the shape-directed

J. Y. Chung et al.

rapid docking of ligands to protein active sites. J. Mol. Graph. Model., 21, 289-307 (2003). Viji, S. N., Prasad, P. A., and Gautham, N., Protein-ligand docking using mutually orthogonal Latin squares (MOLSDOCK). J. Chem. Inf. Model., 49, 2687-2694 (2009).

Suggest Documents