Hello CCL subscribers,
We have just compiled AutoDock 3.0 for Linux, and are attempting to run the
two sets of example docking files which are included in the distribution.
There does not seem to be an electrostatics map in either set, so we have
removed all of the map files and have run AutoGrid to produce a complete set
of map files for both examples. This works perfectly.
However, when we attempt to run AutoDock, as soon as it has read in the
various .map files and attempts to +ACI-move+ACI- the ligand (the .pdbq file), it
aborts and returns a +ACI-segmentation fault+ACI- message.
Any suggestions from more experienced AutoDock users?
I experienced the same problem on Linux, and on Linux only. It seems to be related to the stack size which is too small for Autodock.
The readPDBQ() function allocates multidimensional arrays on the stack. The easiest solution (unless one wants to increase the stack space in the kernel) is to patch the source code by changing the declaration type for these arrays. For example, the line readPDBQ.cc:82
char record[ MAX_RECORDS ][ LINE_LEN ];
can be patched to :
static char record[ MAX_RECORDS ][ LINE_LEN ];
. I have applied such a change to each local array declaration in readPDBQ.cc. The static keyword tells the compiler to allocates the local variables in the heap (permanent storage) and not on the stack (transient storage). This is not a problem here because this function is called only once. Also, beside crash suppression, this patch provides automatic initialization of the local variable "Rec_atomnumber" in the function readPDBQ, which otherwise would be used unitialized (i.e. might contain random data).
The same patch procedure should be applied to the file analysis.cc to
avoid crashing during analysis.
To further improve robustness, one might also want to correct
the file support.cc:630 where the function is returning a pointer
to a local variable (returnedMol).
I discovered these problems with the help of the programs Insure++(http://www.parasoft.com) and purify (http://www.rational.com) (in fact, these checking tools reveal many potential problems in the Autodock 3.0 package).
I would like to thank Greg Hunter from ParaSoft Corp. for pointing out
the Linux stack space problem.
Hopes this can help,
-- [ Bruno Bienfait, Ph. D. Laboratory of Medicinal Chemistry ] [ National Cancer Institute ] [ Email : brunob %-% at %-% helix.nih.gov National Institutes of Health ] [ Phone : (301) 402-3111 Building 37, Room 5B20 ] [ Fax : (301) 496-5839 Bethesda Maryland 20892 , USA ] [ WWW : http://www.brunob.org ]