Jump to navigation Jump to search

This is the DOCK FAQ. It covers all versions of DOCK. There are other FAQs available at this site.

All DOCK versions

Q0.1. What is DOCK?

DOCK is a computer program for molecular docking, the process of orienting and scoring small molecules in a macromolecular (usually protein) binding site. For more information, please see DOCK page.

Q0.2. What is the current version of DOCK?

There 3 versions of DOCK available to public:

  • DOCK 3.7 which is the most recent in the DOCK 3 series. Actively developed.
  • DOCK 6.7, which is the most recent in the DOCK 6 series. Actively developed.
  • DOCK 4, a widely used version, but not actively developed.

Q0.3. What about accessory programs?

Where do I get DMS?

DMS is freely available from the UCSF Computer Graphics Lab.

Q0.4. Tools to protonate the receptor?

We use Sybyl. You can also use REDUCE.

One user suggested using VEGA ZZ [1]

Q0.5. Are critical points/spheres supported in my version of DOCK?


Yes, critical points/spheres are supported in all versions of DOCK. Try using automated matching if manual matching seems not to work

Note that the final conformations for the critical matching may indeed be some distance away from the critical points if you are minimizing during your run depending on whether the molecules can fit in the area of the active site you have defined as critical.

For more information on labeling spheres, go to the DOCK 6 manual on our web site at under Sphgen >> Output.

Credit: Terry Lang

DOCK 6 Specific

Q6.1 I get an error with mmolex when compiling DOCK6?

When I compile DOCK, I get something like the following error:

g++ -O2 -o dock6 amber_typer.o base_mpi.o base_score.o conf_gen.o dock.o dockmol.o library_file.o master_score.o orient.o score.o simplex.o utils.o score_solvent.o score_amber.o sasa.o score_chemgrid.o nab/nab.a -lm -lpthread ld: Undefined symbols: _mmolex make: *** [dock6] Error 1

What is causing the error and how do I fix it?


DOCK 6 requires a lexical analyzer generator; example Unix command names are lex and flex. All classical Unices have lex. Linuces usually have flex. But this undefined symbol is caused by a missing lexical analyzer generator. (It may be that some users are not installing enough of their Linux.) In particular, dock6/src/dock/nab/lex.mm_options.c either will not exist or will have a size of zero if a lexical analyzer generator is missing.

Here are some suggestions:

  • Verify that dock6/src/dock/nab/lex.mm_options.c is broken or missing.
  • Look for a lexical analyzer generator on your machine.
  • Verify the definition of the macro LEX in the configuration file, dock6/install/config.h; LEX should be assigned the name of your lexical analyzer generator.
  • Install a lexical analyzer generator if one is not found. flex: The Fast Lexical Analyzer is free software.
  • Try our dock6/src/dock/nab/lex.mm_options.c:
  • Change directory to dock6/src/dock/nab and execute make clean. Download lex.mm_options.c. (This file was generated by flex version 2.5.4 on Red Hat Enterprise Linux AS release 3 (Taroon Update 6).) Copy it to dock6/src/dock/nab/lex.mm_options.c. Edit dock6/install/config.h and make the LEX definition equal to flex, i.e LEX= flex. Restart the installation: cd install; make install

Q6.2 I get an error in /usr/include/mpi++.h:1473

When I compile DOCK, I get something like the following error:

g++ -c -DBUILD_DOCK_WITH_MPI -DMPICH_IGNORE_CXX_SEEK -I/include -O2 -o amber_typer.o amber_typer.cpp In file included from /usr/include/mpi.h:1081, from dock.h:28, from amber_typer.cpp:1: /usr/include/mpi++.h:1473: error: syntax error before numeric constant

What is causing the error and how do I fix it?


This error is due to an incompatibility between the configuration of the MPICH2 installation and the configuration of DOCK 6. Because DOCK 6 does not use the MPI C++ bindings, this issue can be avoided by defining the macro MPICH_SKIP_MPICXX. This can be done on the command line via: make -e DOCKBUILDFLAGS='-DMPICH_SKIP_MPICXX' or by modifying the DOCK 6 configuration file config.h directly via an addition to the macro CFLAGS, e.g., CFLAGS= -DBUILD_DOCK_WITH_MPI -DMPICH_IGNORE_CXX_SEEK -DMPICH_SKIP_MPICXX -I$(MPICH_HOME)/include -O2. See MPI C++ Bindings for background information. Note that DOCK 6 does use some MPI C bindings and does not use any MPI Fortran bindings.

Q6.3 When running DOCK with amber_score, I get can't open file lig.1.amber.pdb

When I test or run DOCK with the amber_score, I get something like the following error:

cd test/amber_score_1lgu ; make move_ligand.dockout
Reading parm file (1lgu.lig.1.prmtop)
getpdb: can't open file lig.1.amber.pdb
make: *** [move_everything.dockout] Error 1

What is causing the error and how do I fix it?


Known causes are an incorrectly defined AMBERHOME environment variable and a correctly defined AMBERHOME environment variable that points to a faulty AMBER installation. The problem is that one of the steps of the amber preparation scripts is failing. The error is buried inside one of the amberize_bla.out files. The simplest patch is to undefine AMBERHOME; the amber preparation scripts will then use the default DOCK supplied AMBER programs. A possible cause is a faulty DOCK installation; surprisingly, this cause has not been reported.

DOCK 5 Specific

Note: we recommend upgrading from DOCK5.x to DOCK 6. There is really no good reason to still be using DOCK 5. Many of the problems in DOCK 5 are fixed in DOCK 6.

DOCK 4 Specific

Note: DOCK 4.0.2 is an old program, but still in use by some people for some purposes.

Q4.1 Question 1 ?

Q4.2 Question 2 ?

DOCK 3.5.54 Specific

Note: DOCK 3.5.54 is the version used by DOCK Blaster. However, if you are using DOCK 3.5.54 via DOCK Blaster, we encourage you to use the FAQ for the interface DOCK Blaster:FAQ

Qn. What if I have a question that is not covered here?