Miscellaneous and Debugging Opcodes

The opcodes in this section are linked below:

DEBG — DEBuGging

DUMP — DUMP connection table

GEOM — obtain GEOMetric information about the molecule

TIME — report cpu TIME (user+system)

JWRT — Journal WRiTe

JRED — Journal REaD

NPRC — Number of PRoCessors (distributed MacroModel calculations)

SPAT — SPecial Atom Treatment

DEBG — DEBuGging

Turn on program debug switch (numbered 1-1100). Use as many of these commands as necessary to turn on as many of the switches as you want.

arg1-4

Debug switches

 

Values currently in use are listed below. “GV” stands for “Greater Verbosity.” Flags described with this abbreviation affect only the level of reporting; other flags affect program action.

1

GV, all commands

2

Don’t line-buffer .log file

3

Always write full (never compressed) output files

5

GV, dynamic allocation

6

Always write old-style (mmio) files

7

Always write new-style (m2io) files

8

GV, correspondence between mainCT and sbstrCT numbering

9

GV, handling of mmio/m2io files

10

GV, RWND command

11

Get formal charge from .fld instead of atom.typ

12

Don’t set qq product to zero, VDWB nonbondeds

13

GV, LIGB, and VDWB bonds

14

GV, SUBS, FXAT, FXDI, FXBA, FXTA command handlers

15

GV, reading charges from ffld substructures

16

GV, VDW offset from ffld

17

Suppress elimination of constrained-atom mutual interactions

18

GV, charge delocalization

19

GV, number of matches, each ffld substructure in mol

20

GV, name of each ffld substr matched in mol, and atom #s

21

GV, more details on how each ffld substr matched mol

22

GV, write problematic structure to output structure file if MINI fails

23

GV, write MINI structure to output structure file at each MINI display interval. Incompatible with DRIV.

25

Don’t refuse to minimize extremely strained structures

27

GV, TNCG, FMNR MINI methods

28

Suppress elimination of stretching and bending interactions in which some of the atoms are fixed.

30

GV, MINI line search

31

GV, MINI gradient to log file, each iteration

32

Don’t use constant derivatives in line searching

33

Don’t separate close pairs during interaction generation

34

GV, tests for distorted sp3 atom and for chirality

35

Do write output .sbc file

36

GV, do not limit the number of messages from close separation problems

37

Note that if separation of close pairs fails in a conformational search reject the structure and continue the search

38

Skip tests for distorted sp3 atoms.

40

GV, early in force-field (eqn. reading, etc.)

41

GV, BMFF IPC layer (client and server side)

42

GV, BMFF server

43

GV, BMFF-related stuff within MacroModel

44

GV, applying mmlewis and obtaining OPLS_2005 parameters

45

Do not delete dummy atoms for OPLS4. Dummy atoms are correctly handled in OPLS4.

46

Don’t use fast vdw and hbd BMFF processing

49

Don’t skip over structures that do not have all force field and solvation parameters. Stop when such a structure is encountered.

50

GV, parsing of atom.typ file

51

LV, parameter assignment

55

Don’t compare the connectivity of the input structure with the previous structure, but treat it as chemically different from the previous structure.

56

Don’t eliminate torsional interactions with V’s of 0

57

Always consider input structures to be distinct CT’s, not conformations. This implies full interaction generation for each structure read in.

58

GV, when which classes of params are updated (Bonded, VDW, Geom-dependent, solvation)

59

GV, geom-dependent params & updating

60

GV, .fld ALT and SEL processing

61

GV, stretch interactions

62

GV, bend interactions

63

GV, torsional interactions

64

GV, nonbonded interactions

65

GV, bend-bend interactions

68

GV, .fld atom-type equivalencing

69

GV, .fld line-numbering & assembly of interactions; to .mmo

70

GV, fixed atom interactions

71

GV, parameters that change during FEP

72

GV, atoms whose surface areas change during FEP

73

Don’t eliminate str/bend involving dummy atoms or zero-order bonds in

FEP accumulation

74

Exclude all str/bend terms from FEP accumulation

78

Calculate normal modes only for SUBS atoms in LMOD and LLMOD calculations

79

ATEQ, also consider noncyclic permutations of the ATEQ atoms

81

GV, ATEQ, during csearch or mult MINI test for uniqueness

82

GV, Comparing structures for uniqueness

83

GV, MOLS and TORS moving-atom sets

85

Use DRVPOL_OLD instead of DRVPOL; DRVPOL is faster for 1st derivs but has bad 2nd derivs. We use DRVPOL_OLD when we need 2nd derivs or when DEBG 85 is specified

86

Use current rather than ideal str and bend distances in computing constant part of analytical GB radius

87

GV, atom-wise solvation data to .mmo even if E(atom)=0

88

GV, read .slv solvation file and match its atoms to mol

89

Don’t unite all-atom sp3 CHn groups for solvation

90

Include explicit hydrogens in GB-radius calculation

91

Use old (Hasel et al.) method for analytical surfaces

92

GV, low-mode search (LMCS or LMC2)

93

Turn off surface-area 3-body function

94

GV, saddle point search. Also, write intermediate structures to output structure file.

95

Use all-atom representation in surface calcs (assuming molecule actually has H’s and/or lone pairs)

96

Ignore long range shells in numerical Born rad. calc

97

GV, solvation energy calc

98

GV, parameters for overlap array, solvation calc

99

GV, analytical and numerical GB radii and Gpol values for fixed atoms

100

Set negative areas to zero in LCPO surface calculation

101

GV, MD or MC monitor of PE avg, sd, skew and kurtosis

102

GV, timings, MD and MINI

103

Turn off adaptive mechanism for number of Monte Carlo degrees of freedom during MCSD, MCLO, IMPS

104

After MD “Abort,” continue with remainder of .com file

105

Do not do LCPO Buried Atom Elimination (BAE)

106

GV, SHAKE

107

Do not do neighbor-list reduction (NLR) on LCPO overlap array

108

GV, write LCPO ELST 3 results to filename.lcp as well as .mmo. If DEBG 91 is in effect, still write the file, which includes the numerical atomic surfaces, but with LCPO sums set to 0.

111

GV, general dynamics & MC

112

GV, write every 200th non-matching IMPS structure to output structure file

121

GV, BDCO pairlist generation

126

GV, BDCO total charge product

127

GV, BDCO pairwise charge product assignment

128

GV, more BDCO pairwise charge product assignment

129

GV, force field substructure explicit partial charge processing

130

GV, CHGF input structure file explicit partial charge to delocalized formal charge + bond charge increment decomposition

131

GV, details of lone-pair requirements for current ffld, mol

141

GV, structures accepted, etc., MC csearch

150

During dihedral driving start each incremental minimization from the initial structure as read from the filename.mae file

152

GV, interaction array changes from nonbonded update, MINI

169

GV, torsional angles stored by torsional memory

178

Use MacroModel-supplied random-number function

179

GV, print seed to log file each time random-number generator called

180

GV, movements used to generate new Monte Carlo structures

181

GV, internal coords used in tors MC and MCSD simulations

182

GV, internal coords, final limits after tors MC run

183

GV, internal coord changes at each tors MC acceptance

184

In MC, calculate total E, not just MC-variable E components

185

Allow JBW in substructures—for internal use only

186

Don’t reorient each output structure to best superimpose on input

187

GV, For IMPS, write each input structure to output, after zmat superposition of the first three atoms onto those of the first structure. Requires user specification of DEBG 186.

188

Skip problematic ring closure rotations. This may result in chirality switches if CHIG commands are not applied to the two central atoms in the ring closure.

191

Don’t record OPLS-AA formal charges or bond orders in the output structure file. Use the ones from the input structure file.

200

GV, CGEN searches

202

Override force field setting for ConfGen.

210

GV, mass-weighted force-constants, RRHO command

211

Allow RRHO, MTST on structures not necessarily minimized

222

GV, write starting structure for each MINI to output structure file

230

GV, COPY opcode

235

GV, ALGN opcode, general

236

GV, ALGN opcode, center of mass operations

237

GV, ALGN opcode, principal axis operations

251

GV, “torsional memory” during conformation search

252

GV, conformational search of ring structures

333

GV, network-distributed processing using the NPRC command

358

GV, geometrical pre-optimization of ring structures

360

Turn off use-directed csearch initialization from filename.mae file

370

Enable MOLS for molecules containing fixed atoms

400

GV, importance sampling

500

GV, source CT number tracking for Maestro project facility properties

510

Do not enforce properties dependencies (i.e., do not clear properties when the structure changes) In Embrace calculations it is turned on by default. Use arg4 of MBAE to turn it off.

511

GV, the process for recording properties

512

Do not add dependencies to MacroModel Properties that lack them.

513

Record energy components in the output structure file. This flag is on by default; use DEBG 514 to turn it off.

514

Do not record energy components in output structure file. Turns DEBG 513 off.

520

Basic reporting for Automatic setup (AUTO)

521

GV, reporting for Automatic setup (AUTO) and turn on DEBG 520

530

Record the structure for each molecule in both solvents for LOGP calculations in the output structure file

531

GV, for LOGP calculations

550

GV, MBAE

555

GV, LOOP

570

Don’t turn on MMSYM_IN_PLACE when a fixed or frozen atom is added. The use of DEBG 570 is not recommended because mmsym comparisons which are not done in place translate and rotate the system without taking into account fixed or frozen atom positioning, resulting in distorted structures.

601

Turn off writing to output structure file unless explicit WRIT is used

602

If old-style titles are detected in a Maestro-formatted input structure file, do not update them.

720

GV, 1st and second derivs of Wilson angle OOP terms

725

Turn off constant long-range nonbonded derivs

726

Turn off constant long-range polarization solvation terms

727

Turn off constant long-range surface-area solvation terms

800

Don’t regenerate solvation overlap array after MC accept

820

Set all atomic weights to 12 for dynamics, inc. FEP

825

Don’t correct tiny denom. in analytical solvation derivs

830

Don’t correct Gpol,i' for nonbonded pairs left off the nonbonded pairlist

832

Don’t correct Gpol,i' for F-F nonbonded pairs which are farther apart than the nonbonded cutoff

F = (a) fixed without flat bottom well or (b) frozen

835

GV, final Gpol,i' values for all atoms

836

GV, generalized Born CCF (Close Contact Function). Available only with single precision energies)

899

GV, FlexLM licensing general

900

GV, print RCS versions of source files used in compilation

901

GV, detailed tables of COMMON memory utilization

902

GV, table of atom info (regurgitation of atom.typ info)

903

GV, table of atomic masses by atom number

920

Low-mode search (LMCS or LMC2), write perturbed structures in output structure file

930

Do not check for .stp, .upt, .slp files (speeds response, especially on NFS-mounted filesystems, but loses the functionality of these checks). This behavior is on by default. To enable checking for .stp, .upt, .slp files, use DEBG 931.

931

Turns DEBG 930 off, thus turning on checking for .stp, .upt, .slp files. Note that these files must be in the directory from which the MacroModel job is being run. It may be useful to use DEBG 931 with the -LOCAL command-line option to MacroModel, which keeps job files in the current directory.

940

GV, for network-distributed MacroModel jobs using the NPRC command, save files written by slave processes. You must use the -LOCAL option to the bmin launch script when using this debug option.

950

GV, on IBM SP2, save file written by parallel threads

960

Turn off reporting of format problems in the .com file

961

Cause MacroModel to stop if a format problem is found in the .com file. This overrides DEBG 960 and forces reporting of format problems.

975

Do not use atomic number information from the input file. Instead, obtain the atomic number information from the atom type.

999

GV, ARPK

1000

GV, give CPU timings in energetic routines. Now gives more detailed and informative output.

1001

GV, MINTA free-energy calculation.

1002

Turn off distance check on 1-3 atoms. Structures in which two atoms that are bonded to a third atom but not to each other are rejected by default if the two atoms are closer than 1 Å.

 

DUMP — DUMP connection table

List the connection table to the log file (used primarily for testing purposes).

GEOM — obtain GEOMetric information about the molecule

The GEOM command allows the user to obtain geometric information about the molecule from the MacroModel command file. Bond lengths, bond angles, and dihedral angles are written as properties to the log file.

arg1

Atom 1

 

If arg1 is nonzero and arg2 is zero, then GEOM prints out the x, y, and z coordinates of the atom given by arg1.

arg2

Atom 2

 

If arg1 and arg2 are nonzero and arg3 and arg5 are zero, GEOM prints the distance between the atoms specified by arg1 and arg2.

arg3

Atom 3

 

If arg1, arg2, and arg3 are nonzero and arg4 is zero, GEOM prints the angle between the atoms specified in arg1, arg2, and arg3. If arg5 is nonzero, it is ignored.

arg4

Atom 4

 

If arg1, arg2, arg3, and arg4 are nonzero, GEOM prints the dihedral angle between the atoms specified in arg1, arg2, arg3, and arg4. If arg5 is nonzero, it is ignored.

arg5

Spin-spin coupling constant

 

If arg5 > 0, GEOM prints the spin-spin coupling constant J between the atoms specified in arg1 and arg2, subject to the following conditions:

  • The atoms given by arg1 and arg2 are hydrogen atoms

  • The hydrogen atoms are connected through two carbon atoms

  • The values of arg3 and arg4 are zero.

 

If either of the first two conditions is not met, a warning is printed and the calculation continues without calculating the coupling constant.

TIME — report cpu TIME (user+system)

The TIME command reports CPU time (user+system) since the previous invocation of TIME, or (on the first invocation) since program start. See also DEBG 1000 for more detailed and informative output on task timings.

JWRT — Journal WRiTe

The JRED and JWRT commands are provided in order to use MacroModel as a force-field server in connection with procedures being carried out by other processes. JWRT writes out a user-specifiable combination of coordinates, energy, gradient, and Hessian in binary form that the co-process can read. JRED reads in coordinates in a similar format that have been written out by the co-process. Thus, the co-process can provide coordinates to MacroModel, instruct it to compute the energetic terms, read back those energetic terms, manipulate the molecule, and complete the cycle. The way this facility is provided now, MacroModel has to be launched anew for each new calculation (for example, by a system() call from the client process); however, we may later enhance this facility to make it more fully interactive.

arg1

Write coordinates

 

If arg1 is nonzero, write out the coordinates.

arg2

Write energy

 

If arg2 is nonzero, write out the energy.

arg3

Write gradient

 

If arg3 is nonzero, write out the gradient.

arg4

Write Hessian

 

If arg4 is nonzero, write out the Hessian.

The filename used is filename.jwr, where filename is the prefix of the input filename. The file is opened with FORM=UNFORMATTED, but is sequential. All variables are written in double precision. Thus, if all four args are nonzero, and if there are N atoms in the part of the system being simulated (the whole system, unless SUBS is used with FXAT and all atoms are not covered by these commands), the .jwr file will contain 3N coordinates, in sequence x(1), y(1), z(1), x(2), ..., z(N), followed by one double precision value for the energy, followed by 3N gradient components, followed by (3N)2 Hessian elements, in order x(1)x(1), y(1)x(1), z(1)x(1), x(2)x(1), ..., y(N)z(N), z(N)z(N).

JRED — Journal REaD

arg1

Read coordinates

 

If arg1 is nonzero, read the coordinates.

arg2

Read energy

 

If arg2 is nonzero, read the energy.

arg3

Read gradient

 

If arg3 is nonzero, read the gradient.

arg4

Read Hessian

 

If arg4 is nonzero, read the Hessian.

arg5

Print values read

 

If arg5 is nonzero, whatever is read will be printed to the .log file. However, only the coordinates are used by subsequent computations in the program; the energy, gradient, and Hessian are simply read and printed, if requested.

JRED works as follows. It expects to read a file called filename.jrd, where filename is the stem of the input file name. For the purpose of debugging the JWRT command, args1-4 cause JRED to read the coordinates, the energy, the gradient, and the Hessian, respectively, if nonzero. If arg5 is nonzero, whatever is read will be printed to the .log file.

NPRC — Number of PRoCessors (distributed MacroModel calculations)

Distribute the MacroModel job over a number of different hosts. The name of the hosts to use are taken from the file schrodinger.hosts, which must be in the $SCHRODINGER directory or the user’s working directory. The NPRC command can be used with the following kinds of calculations:

  • Non-serial conformational searches
  • Serial conformational searches
  • MULT minimizations
  • Free-energy perturbation calculations (FEAV, FESA)
  • Embrace (MBAE) minimization and conformational search calculations

The types of non-serial conformational searches supported are: MCMM, LMCS, LMC2, mixed LMCS/MCMM, and mixed LMC2/MCMM. The types of serial searches supported are MCMM, LMCS, and mixed LMCS/MCMM. The AUTO command is required for serial MCMM and serial mixed LMCS/MCMM jobs, and is recommended for serial LMCS jobs. The procedure is split into a number of different searches and run on the hosts as they become available. In an MCMM procedure, a different SEED value is used on each host.

For MBAE energy difference calculations the initial receptor computations are conducted by the parent process prior to distributing the calculations for the ligands amongst the child processes. Because of the complexity of MBAE computations users are encouraged to consult the description of the MBAE opcode in this manual and the examples of MBAE calculations in Command File Examples for Embrace.

See Running Remote and Distributed MacroModel Calculations for a description of internally-distributed MacroModel calculations which use NPRC and see Preparing for Remote Job Submission (DEPRECATED) for information on setting computers and accounts to permit distributed MacroModel calculations.

If a requested host becomes unavailable during a run, its status is checked periodically. If the host later becomes available, the process starts using it again. Exception: hosts unavailable at startup time are removed from the list of allowed hosts and never re-used. This is because a host that was unavailable at the start of the job cannot have been checked for energetic consistency (see arg4 below), and using it without this test having been performed is potentially dangerous.

DEBG 333 gives greater verbosity; DEBG 940 saves, rather than discards, the output files of the intermediate jobs.

arg1

Number of hosts to check for availability

 

arg1 specifies how many hosts in the schrodinger.hosts file (see Submitting MacroModel Jobs From the Command Line), will be checked for availability for a specific distributed run. If any hosts are not available, they are removed from the list of hosts to be used for the specified job. Each host that is checked but unavailable decreases the number of hosts over which the job will be distributed. Only hosts read and available will be used.

 

For example, if the schrodinger.hosts file lists ten hosts, and arg1 is set to 5, then the first five hosts listed in the scmchrodinger.hosts file will be checked for availability. If two of the first five hosts are unavailable, the job will be distributed over three hosts.

arg2

Job size

 

For non-serial searches arg2 specifies the number of steps from the search that should be carried out by each job. The total number of steps is the number given by arg1 of the search command (i.e. arg1 of MCMM, LMCS, or LMC2) and the total number of jobs is roughly given by arg1 of the search command divided by arg2 of NPRC.

 

For serial calculations, such as minimizations of multiple input structures and serial searches this argument specifies the number of input structures given to each job for minimization or searching. In serial searches separate searches are conducted for each structure in the input structure file. Serial searches can be conducted for MCMM, LMCS, LMC2, mixed LMCS/MCMM and SPMC searches. The total number of jobs is given by the number of structures in the input structure file divided by arg2 of NPRC.

 

If the total number of jobs is significantly larger than some small multiple of the number of hosts specified by arg1 of NPRC, load balancing can take place by sending more jobs to the machines that finished their assigned jobs faster. The number of jobs should not be too large, as this would result in overhead associated with starting many jobs and organizing the results from many jobs.

0

For non-serial searches, set the number of steps per job to the total number of steps for the search divided by the number of processors (arg1).

 

For serial searches, set the number of structures to process per job to the number of structures in the input structure file divided by the number of processors.

 

In either case, this setting is sub-optimal since no load balancing can be carried out.

arg3

Sleep time (sec)

 

The time in seconds that the “master” MacroModel process will sleep before checking on the progress of the “slave” jobs.

0

60 seconds. This is a reasonable value.

arg4

Energy-test control

0

Perform no energy tests.

1

Perform energy tests; this is highly recommended.

Prior to starting the distributed job, an energy calculation on the starting structure is performed on each processor. The resulting energies are compared. If any value differs from that on the current processor by more than 0.001 kJ/mol or 0.1% (whichever is smaller), the user is notified and the job is terminated. This is to make sure that the version of MacroModel and the associated solvent and force-field files are the same on all hosts.

SPAT — SPecial Atom Treatment

This opcode is used to instruct MacroModel how to proceed when it encounters certain atom types.

arg1-4

Atom types to be flagged

Specify which atom types are flagged by MacroModel for special treatment. See MacroModel Atom Types for a listing of MacroModel atom types.

arg5

Action to be taken on flagged atom types

1

Instructs MacroModel to stop when it encounters any of the atom types specified in args 1-4.

 

Multiple SPAT lines may be used, and arg5 may differ on each of them (it applies only to the atom types given in the same SPAT line).