Re: CCL:problem with AutoDock 3.0 example files



"jerome f. baker" wrote:
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

-- 
 [ 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                                      
 ]