[Dock-fans] Large ligand on Large grid Kill mpirun

Francesco Pietra chiendarret at yahoo.com
Fri Nov 16 02:11:22 PST 2007

Following careful comparative runs I arrived at the conclusion that too large
ligands on large grids kill mpirun. 

With grid files and selected_spheres.sph (10,536,750 grid points), for ligands
of 118 atoms, or less, docking and amber rescore procedures went to completion
OK. Selected spheres was centered (Magis' sphere_select) symmetrically in the
protein for a 25A radius, whereby the spheres covered most of the protein.

mpirun failure occurred with two ligands of much similar shape as above though
larger (155 atoms and 165 atoms)

How mpirun was killed shortly after launching the rigid score procedure, is
shown by outputting the screen events following "mpirun -np 4 -i rigid.in -o
rigid.out 2>&1 | tee screen.out":

Initializing MPI Routines...
Initializing MPI Routines...
Initializing MPI Routines...
Initializing MPI Routines...
terminate called after throwing an instance of 'std::bad_alloc'
  what():  St9bad_alloc
[deb64:03725] *** Process received signal ***
[deb64:03725] Signal: Aborted (6)
[deb64:03725] Signal code:  (-6)
[deb64:03725] [ 0] /lib/libpthread.so.0 [0x2b21e08e0410]
[deb64:03725] [ 1] /lib/libc.so.6(gsignal+0x3b) [0x2b21e0a1807b]
[deb64:03725] [ 2] /lib/libc.so.6(abort+0x10e) [0x2b21e0a1984e]
[deb64:03725] [ 3]
[deb64:03725] [ 4] /usr/lib/libstdc++.so.6 [0x2b21e05815a6]
[deb64:03725] [ 5] /usr/lib/libstdc++.so.6 [0x2b21e05815d3]
[deb64:03725] [ 6] /usr/lib/libstdc++.so.6 [0x2b21e05816ba]
[deb64:03725] [ 7] dock6.mpi(main+0) [0x42c180]
[deb64:03725] [ 8] /usr/lib/libstdc++.so.6(_Znwm+0x34) [0x2b21e0581954]
[deb64:03725] [ 9] /usr/lib/libstdc++.so.6(_Znam+0x9) [0x2b21e0581a49]
[deb64:03725] [10] dock6.mpi(_ZN6Orient12match_ligandER7DOCKMol+0x375)
[deb64:03725] [11] dock6.mpi(main+0xaf5) [0x42cc75]
[deb64:03725] [12] /lib/libc.so.6(__libc_start_main+0xda) [0x2b21e0a054ca]
[deb64:03725] [13] dock6.mpi(__gxx_personality_v0+0xc2) [0x41b4ea]
[deb64:03725] *** End of error message ***
mpirun noticed that job rank 0 with PID 3724 on node deb64 exited on signal 15
3 additional processes aborted (not shown).

File rigid.out showed correct reading of grid.nrg.

The procedure failed also on serial run with 

dock6 -i rigid.in -o rigid.out 2>&1 screen_serial.out


terminate called after throwing an instance of 'std::bad_alloc'
waht(): St9bad_alloc

i.e, as it was already clear from the above, not a problem of mpi.


I understand to be largely out of the main stream of docking procedures (and
probably scope). Nonetheless, I am interested in how these large ligands
behave. Therefore, how could I manage to compare the above ligands of various
size?. I am wondering about changing the grid space and see if docking with the
smaller ligands changes much or not. If OK I could try the larger ligands with
the new grid. Any better idea? I am not considering to work without a grid
because I want to compare several molecules. So far I used defaults from
tutorials, i.e. for grid.in:

compute_grids                  yes
grid_spacing                   0.3
output_molecule                no
contact_score                  no
energy_score                   yes
energy_cutoff_distance         9999
atom_model                     a
attractive_exponent            6
repulsive_exponent             12
distance_dielectric            yes
dielectric_factor              4
bump_filter                    yes
bump_overlap                   0.75
receptor_file    /home/francesco/dockwork/grid/myprotein.mol2
box_file            /home/francesco/dockwork/grid/rec_box.pdb
vdw_definition_file /usr/local/dock6/parameters/vdw_AMBER_parm99.defn
score_grid_prefix              grid

All that was carried out using A. Magis' sphgen_cpp and sphere_select.


francesco pietra

Never miss a thing.  Make Yahoo your home page. 

More information about the Dock-fans mailing list