Running Remote and Distributed MacroModel Calculations

Remote MacroModel jobs run on a different host from the one on which the command is entered to start the job. Distributed MacroModel allows certain types of calculations to be run by distributing tasks across a number of different hosts or processors. Remote and distributed MacroModel jobs can be run from Maestro. Distributed jobs can be run locally on Windows hosts, but remote jobs must be submitted to Linux hosts.

Schrödinger’s Job Control facility controls both remote and distributed MacroModel jobs. If you intend to run jobs on various hosts, you must set up the hosts for remote access and provide information on the hosts to the Job Control facility through a hosts file, named schrodinger.hosts. Instructions for setting up the required information on remote hosts and for configuring batch queues is given in Preparing for Remote Job Submission (DEPRECATED).

Any MacroModel job can be run remotely. The normal Linux commands are used to run the job, with additional information specifying which host from the hosts file to use:

$SCHRODINGER/bmin -HOST remote-host-name jobname

MacroModel can divide some types of calculations into “tasks”, either internally (inside bmin) or externally (in the job driver). These tasks may be distributed over a number of processors to reduce the calculation time. Calculations that can be distributed using MacroModel include many of the conformational searching methods as well as Free Energy Perturbation (FEAV/FESA) and Embrace calculations. For a thorough description of the distributed MacroModel calculations, including the specific types of calculations supported, see the Running Jobs From the Command Line. Below are two simple examples that illustrate how to perform these calculations.

For distributing calculations focused on a single input structure, internal distributed calculations are used. For example, to distribute a conformational search of a protein-ligand complex across two processors, add the line:

NPRC     2    20   10    1    0.0000 0.0000 0.0000 0.0000

at the beginning in the example .com file given in MacroModel Example: Mixed MCMM/Low-Mode Search Using a Substructure File. The job can then be started just like any other MacroModel job:

$SCHRODINGER/bmin jobname

A type of job that can be distributed externally is MCMM serial searches, in which each input structure is subjected to a separate search (see MacroModel Example: Multi-Structure Conformational Search Using LMOD). You can do this with the following command:

$SCHRODINGER/bmin -NJOBS 5 -HOST "comp1:1 comp2:2" serial-lmcs

This command divides the job into five tasks, all of which are run on hosts comp1 or comp2. These hosts must be described in the schrodinger.hosts file. At any one time, up to one task is running on comp1 and up to two tasks are running on comp2.

For distributed MacroModel calculations that involve a random or accumulated aspect (e.g. MCMM conformational searches) the results may differ from those obtained from an equivalent non-distributed calculations. However, the different results from either type of calculation are valid.