[Dock-fans] bugfix.4

Scott Brozell sbrozell at scripps.edu
Thu Aug 2 17:35:18 PDT 2007


Hi,

Improved error reporting for conformation writing in parallel dock.
For the report of this bug see
http://blur.compbio.ucsf.edu/pipermail/dock-fans/2007-June/001076.html


********>Bugfix 4:
Author:  Scott Brozell and Terry Lang, reported by Grzegorz Popowicz
Date:  July 27, 2007

Program:  dock6.mpi

Description:  parallel dock should emit an error message when
num_primary_scored_conformers_rescored > 1,
num_secondary_scored_conformers_written > 1,
or
num_scored_conformers_written > 1
otherwise performance can be substantially degraded.

Fix:  make the following changes to the files src/dock/src/dock/orient.cpp
-------------------------------------------------------------------------
*** library_file.cpp	15 Dec 2006 01:34:39 -0000	1.13.2.8
--- library_file.cpp	27 Jul 2007 21:50:26 -0000
***************
*** 603,609 ****
          	exit(0);
          }
          if (num_scored_poses > 1) {
!             write_conformers = true;
          	cluster_ranked_poses =
                  (parm.query_param("cluster_primary_conformations", "yes", "yes no") ==
                   "yes") ? true : false;
--- 603,617 ----
          	exit(0);
          }
          if (num_scored_poses > 1) {
!             if ( ! USE_MPI )
!                 write_conformers = true;
!             else {
!                 cout <<
!                     "ERROR:  DOCK cannot write conformations while running in parallel."
!                     << endl;
!                 finalize_mpi();
!                 exit(0);
!             }
          	cluster_ranked_poses =
                  (parm.query_param("cluster_primary_conformations", "yes", "yes no") ==
                   "yes") ? true : false;
***************
*** 624,631 ****
          if(!rank_secondary_ligands) {
              num_secondary_scored_poses =
          	    atoi(parm.query_param("num_secondary_scored_conformers_written", "1").c_str());
!             if(num_secondary_scored_poses > 1)
!                 write_secondary_conformers = true;
              if(num_secondary_scored_poses > num_scored_poses){
                  cout << "ERROR:  Number of secondary poses written cannot exceed number of primary ";
                  cout << "poses rescored.  Program will terminate." << endl;
--- 632,648 ----
          if(!rank_secondary_ligands) {
              num_secondary_scored_poses =
          	    atoi(parm.query_param("num_secondary_scored_conformers_written", "1").c_str());
!             if(num_secondary_scored_poses > 1) {
!                 if ( ! USE_MPI )
!                     write_secondary_conformers = true;
!                 else {
!                     cout <<
!                         "ERROR:  DOCK cannot write conformations while running in parallel."
!                         << endl;
!                     finalize_mpi();
!                     exit(0);
!                     }
!             }
              if(num_secondary_scored_poses > num_scored_poses){
                  cout << "ERROR:  Number of secondary poses written cannot exceed number of primary ";
                  cout << "poses rescored.  Program will terminate." << endl;
***************
*** 650,656 ****
          	exit(0);
          }
          if (num_scored_poses > 1) {
!             write_conformers = true;
          	cluster_ranked_poses =
                  (parm.query_param("cluster_conformations", "yes", "yes no") ==
                   "yes") ? true : false;
--- 667,681 ----
          	exit(0);
          }
          if (num_scored_poses > 1) {
!             if ( ! USE_MPI )
!                 write_conformers = true;
!             else {
!                 cout <<
!                     "ERROR:  DOCK cannot write conformations while running in parallel."
!                     << endl;
!                 finalize_mpi();
!                 exit(0);
!             }
          	cluster_ranked_poses =
                  (parm.query_param("cluster_conformations", "yes", "yes no") ==
                   "yes") ? true : false;
--------------------------------------------------------------------------
Workaround:  none.



More information about the Dock-fans mailing list