MPEOE (generation of parameters)


Parameters for the MPEOE net atomic charge method may be derived with the MPEOE command. This command is not for the faint of heart, and therefore hidden (i.e. not accessible through any of the menus). Type "mpeoe" at the Wit!P> main command level prompt to bring up the MPEOE parameter refinement menu:

charge comp.: parameter ref.: I/O and feedback: miscellaneous:
accuracy dChi edit Command
compute dF list display
nsteps iterations read label
  maxF refine modify
  minF show reset
  minocc write select
  report  
  tolerance   end

Prerequisites for the use of the MPEOE command are

  1. a set of molecules with net atomic charges (target charges, qtarget),
  2. a file with initial MPEOE parameters ,, (atom parameters) and  (bond parameters),
  3. patience and skill (for many potential users, this will prove to be the bottleneck).
The target charges may come from any source, e.g. from force field library files, such as CHARMm's PDBAMINO.RTF or AMBER's all_amino94.in file, or from semi-empirical or ab-initio calculations. The initial values of the MPEOE parameters will be adjusted such that the following target function is minimized:

where Aqmpeoe are net atomic charges computed by the MPEOE method from the parameters ,,, and Aw are user specified weighting factors. The dependence of the net atomic charges Aqmpeoe is rather complex, and the first derivatives of T w.r.t. the MPEOE parameters is not available. The non-linear derivative free simplex method [1,2] is used to find (local) minima of T. Unfortunately, the convergence properties of this minimizer are not very good, and the method often gets stuck in suboptimal solutions. (This is where requirement 3, patience and skill) comes in. It is highly recommended that inexperienced users acquire some driving practice before they attempt to generate their own MPEOE parameter sets.
 

Description of MPEOE menu options:

accuracy <dq> and nsteps <n> are convergence criteria of the MPEOE charge computation method. The MPEOE method attains convergence if the maximum amount of charge transferred through any bond does not exceed the threshold defined by <dq> (default: 0.0001), or if the number of iterations has reached <n> (default: 1000), whichever happens first.
Note: The convergence parameters set in this menu will be used in all subsequent MPEOE charge calculations.
compute <atomselection>  is a shortcut, which lets the user compute MPEOE charges for a set of atoms of his choice.

dChi <dx> and dF <df> define two parameters in the setup of the starting simplex of the non-linear parameter fitting routine. The starting simplex will be formed by the base point (= current parameter values) plus one point per parameter in the refinement, at an offset of +-<dx> (for atomic Chi-parameters, default: 0.5) or +=<df> (for bond f-parameters, default: 0.05) in the direction of the corresponding parameter axis. The sign of the offset is picked at random. Large values <dx> and <df> should be used when starting the parameter refinement far from a local minimum, or in an attempt to escape from a local minimum. Small values for the offsets should be used when the initial parameter values are close to the desired minimum.

iterations <n> sets a limit to the number of simplex refinement steps (default: 1000). The 'abort' command may be used to safely interrupt parameter refinement before normal convergence or the maximum iteration count is reached. The best parameter set (in a least squares sense) will be retained at the end of the refinement.

maxF <max> and minF <min> may be used to constrain the bond damping factors to a user selected range (default: 0.05...0.85).  Small values of the bond damping factors will lead to faster convergence of the MPEOE charge calculation. In most cases the damping factors may be constrained to <0.5 without significant loss of accuracy in the resulting net charges.

minocc <n> sets a lower bound on the number of times a parameter must occur in the refinement target function to be considered a refineable parameter, i.e. parameters with fewer than <n> (default: 1) will not be refined.

report <n> defines the progress report frequency during parameter refinement. At the end of every <n>-th iteration the simplex optimization procedure will report the current iteration count, the values at the best and worst point of the current simplex, and the difference between the target function at the worst and best simplex point. (default: 10).

tolerance <d> sets the convergence criterion for the simplex parameter refinement procedure. The refinement procedure has reached convergence, if the difference between target function values at the worst and best simplex points does not exceed <d> (default: 0.0001). The simplex procedure may stop before reaching convergence if the iteration count is exceeded, or if the procedure is interrupted by the 'abort' command.

Note: reaching convergence, even for very small values of <d>, does not necessarily mean that the best simplex point is close to a local minimum of the target function.
edit writes the current parameter set to a temporary file in the current working directory (write access to this directory is needed!) and calls the editor defined by the environment variable WNP_EDIT (default: vi). The Wit!P client program blocks while the parameter file is being edited. Upon exit from the editor, the modified parameter file is read, and the temporary disk file will be deleted.

list will produce a list of current MPEOE parameter values. Only variable parameters (i.e. occurring at least <n> times as defined by the minocc option) will be listed.

read <file> reads parameter values from a file in Wit!P library format. Parameters to be used in the refinement must be marked by appending an asterisk (*) to the parameter value.

refine <atomselection> starts parameter refinement, using the current net charges of the selected atoms as target charges.

write <file> writes all known parameters (refined or not) back to a Wit!P library formatted file.

show will bring up a submenu with the following options:

-print: modifier for the atoms, bonds, errors and missing options of the show command. When set, the command will produce additional  text output in the message window.

atoms <atomslection> labels the selected atoms with the corresponding atomic MPEOE parameters.

bonds <bondselection> labels the selected bonds with the corresponding MPEOE bond damping factors.

errors <d> <atomselection>  labels selected atoms for which the net charge (qtarget) differs by more than <d> from the the net charges (qmpeoe) obtained the current MPEOE parameter set with the difference qtarget-qmpeoe. As a side effect, connected fragments containing atoms from <atomselection> with charge differences less than <d> will be undisplayed, while connected fragments containing selected atoms with charge differences larger than <d> will be displayed.

missing <atomselection> produces a list of atoms and bonds for which the MPEOE method could not assign charges due to missing parameters.

usage <atomselection> produces a list of the current MPEOE parameters together with their usage count (i.e. the number of times a parameter would be used in a charge calculation for the selected atoms.

end returns to the Wit!P main command menu.



References:

1. J.A. Nelder and R. Mead:
A simplex method for function minimization,
Computer Journal, Vol. 7, p. 308, 1965

2. S.S. Rao:
Optimization, theory and applications
Wiley Eastern Ltd., New Delhi, Bangalore, Bombay, 1978



 

A.Widmer, NIBR/CPC/CSG-SB