DOCK:FAQ
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 [[Category:DOCK | 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]
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?
Answer
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?
Answer
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) title: 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?
Answer
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