AutoGrow

AutoGrow 1.0.0 Run Modes

AutoGrow Help File

When AutoGrow is run without any parameters, the following help file is displayed:

No parameters passed to AutoGrow. Parameters are: -run_mode <SlaveAndMasterNodes | MasterNode | SlaveNode | TerminateAllNodes | Install | Progress | ExtractBest> -parm_file <filename> [-output_file <filename>] [-generation <number>] Note: If no output_file parameter is passed, output is written to the consul. Note: If run_mode is SlaveAndMasterNodes, the program submits multiple copies of itself to the system queue, one in MasterNode mode and the others in SlaveNode mode, according to the number of slave nodes specified in the parameter-file "number of nodes" variable. Note: 'parm_file' is required for all 'run_mode' except 'Install,' which takes its parameters from the keyboard. Examples: java Main -run_mode SlaveAndMasterNodes -parm_file default.prm java Main -run_mode MasterNode -parm_file default.prm -output_file output_Main.txt java Main -run_mode SlaveNode -parm_file default.prm -output_file output_SlaveNode.txt java Main -run_mode TerminateAllNodes -parm_file default.prm java Main -run_mode Install java Main -run_mode Progress -parm_file default.prm java Main -run_mode ExtractBest -parm_file default.prm -generation 2

Note the various "run modes." The remainder of this page is dedicated to explaining each of these modes.

Install Run Mode

Once the AutoGrow ZIP file as been downloaded and uncompressed, several directories are initially created. These include the bin, source, and fragment directories. The bin directory contains the AutoGrow executable files, the source directory contains the AutoGrow source code, and the fragment directory contains two default fragment libraries. Without further installation, however, AutoGrow will not run.

To install AutoGrow, run AutoGrow under the Install run mode by changing to the bin directory and running "java Main -run_mode Install" from the command line, where "java" is the path to the java executable. When running in Install mode, AutoGrow requests information about your system, including the path to the AutoDock and AutoGrid executables, the path to the java executable, the path to the AutoDock preparation python scripts, etc. The Install mode also determines whether or not your computer/cluster has a queue system (e.g. Portable Batch System). When running AutoGrow in Install mode, all required files and directories are created so that AutoGrow can run properly. Additionally, a sample parameter file ("default.prm") is created in the bin directory to assist the user in preparing future AutoGrow jobs. (Click to see an example of this install-generated default.ini file.) Note that Install mode is the only AutoGrow mode that does not require a parameter file.

Example: java Main -run_mode Install

MasterNode Run Mode

Because all the ligands of each "generation” must be independently docked into the receptor, AutoGrow runs on multiple processors to increase efficiency. To manage these multiple AutoDock runs, the AutoGrow executable runs in two modes. The first mode, called the "MasterNode mode,” runs on only one processor. When running in "Master mode,” AutoGrow creates new ligands (mutants and crossovers), automatically generates AutoDock input files, and manages and organizes the computer files associated with each generation. When all AutoDock input files have been created and organized, the "Master node” creates multiple AutoDock-execution information files, one for each docking to be executed. These files, which contain instructions for docking execution, are written to a directory called "queue.” The output of the MasterNode will be written to the output file specified at the command line. Most users should use the SlaveAndMasterNodes mode instead of using the MasterNode mode directly. (Click on a filename to see a representative sample.)

Example: java Main -run_mode MasterNode -parm_file default.prm -output_file output_Main.txt

SlaveNode Run Mode

AutoGrow runs in "Slave mode” on multiple processors, ideally one processor for each new ligand created per generation. When AutoGrow runs in "Slave mode,” it constantly scans the "queue” directory for new AutoDock-execution information files. When the single AutoGrow executable running in "Master mode” writes AutoDock-execution information files to the "queue” directory, the multiple AutoGrow executables running in "Slave mode” immediately being running dockings in parallel according to the information contained in those files. In the mean time, the "Master node” runs idle until the multiple "Slave nodes” have completed all dockings, at which time the Master proceeds to the next generation. The output of the SlaveNode is written to the output file specified at the command line. Most users should use the SlaveAndMasterNodes mode instead of using the SlaveNode mode directly.

Example: java Main -run_mode SlaveNode -parm_file default.prm -output_file output_SlaveNode.txt

SlaveAndMasterNodes Run Mode

Rather than running AutoGrow in the MasterNode or SlaveNode modes directly, it is best to simply run AutoGrow under the SlaveAndMasterNodes mode. Under this mode, AutoGrow itself submits the specified number of "Slave-node" jobs together with a single "Master-node" job to the system queue (or for direct execution in the absence of a queue). The output of the Master node is written to bin/output_Main.txt by default, and the output of the Slave nodes is written to bin/output_SlaveNode.txt. The MasterNode and SlaveNode modes may be useful when the system queue terminates single jobs (perhaps because of execution time limits), and the user wants to restart specific nodes without having to restart all AutoGrow nodes.

Example: java Main -run_mode SlaveAndMasterNodes -parm_file default.prm

TerminateAllNodes Run Mode

In some cases, it may be convenient to simultaneously terminate all the AutoGrow jobs involved in a single AutoGrow run. This can be accomplished via qdel in the case of PBS, or the "kill" command in the case of direct execution. Alternatively, a "terminate" command can be sent to all AutoGrow jobs simultaneously by running AutoGrow in TerminateAllNodes mode from the command line. Using this run mode, the Slave nodes will only terminate once they have finished the current docking job.

Example: java Main -run_mode TerminateAllNodes -parm_file default.prm

Progress Run Mode

In our experience running AutoGrow using a PBS queue system, certain nodes are occasionally terminated because of execution time limits. Because of these occasionally terminations, it is not always clear whether AutoGrow as a whole (running on multiple nodes) has stalled, or if it is still running. If AutoGrow is run from the command line in Progress mode, the program attempts to evaluate whether or not stalling has occurred. If stalling has occurred, the AutoGrow run should be restarted, probably using the SlaveAndMasterNodes mode.

Example: java Main -run_mode Progress -parm_file default.prm

ExtractBest Run Mode

During the course of its execution, AutoGrow creates many files. If the user is only interested in the final results (as is usually the case), AutoGrow can be run in the ExtractBest mode, wherein the best results from a given generation are placed in a separate directory for easy viewing with a visualization program like VMD.

Example: java Main -run_mode ExtractBest -parm_file default.prm -generation 2