MPEOE (parameter fitting, exercise 1)


The file exercise1.mol2 contains a polypeptide and a number of small organic molecules with net atomic charges of an "unknown" origin. In a first exercise, we are going to try to find MPEOE parameters which reproduce the net atomic charges in the file as closely as possible.

Read the file into Wit!P, and make sure that the atoms have correct formal charges. Set the site occupancy property (sof) for atoms in /exercise1/resi to 10.0. The parameter fitting routine will use this property as a weighting factor. The charges of atoms in /exercise1/resi come from a residue library, and are deemed to be more reliable than charges for the other atoms:

Wit!P> read mol2 exercise1
Wit!P> modify atom ligance current /exercise1
what: atom charge automatic /exercise1
what: atom sof /exercise1/resi -done all 10.0
what: done
Wit!P> label remove *
Bring up the MPEOE menu, and read in the file exercise1.wlb , which contains initial values for the MPEOE parameters. Parameters that will be refined by the parameter fitting routine are marked with an asterisk (*). Note that in this exercise only the 1st of the three atomic parameters will be refined. The atomic parameters for H are kept constant at {10.0,1.0,1.0}: a quick look at the formulae used in the MPEOE method should convince you, that the  parameters are determined only up to a common additive constant, and that without fixing at leas one of these parameters the parameter fitting problem would be degenerate. (Feel free to have a look at the parameter file, before you read it in.)
Wit!P> mpeoe
MPEOE> read exercise1.wlb
The file that you have just read contains quite a bad guess for the unknown parameters (all atomic parameters are the same: {10.0,1.0,1.0}). Only the  and  parameter will be optimized. Experience has shown that in most cases including the  and  parameters does not improve the final fit significantly. Since the initial parameter values are far from a local minimum, we will increase the dChi and dF parameters, and since we expect the refinement to take a large number of iterations, we will also increase the progress report frequency before starting the refinement:
MPEOE> dchi 2.0
MPEOE> df 0.2
MPEOE> report 500
MPEOE> refine /exercise1
Number of atoms: 1822
MPEOE refinement using 53 parameters:
iter     0  0.23023  0.73368 0.5034566
iter   500  0.05726  0.06600 0.0087391
rms=0.044044
The simplex method has "converged" after <1000 iterations, the final value of the target function (weighted r.m.s. deviation between target charges and MPEOE charges derived from the refined parameter set) is 0.044. The bad convergence properties of the minimization method have been mentioned. It is therefore always worthwhile to restart the refinement a few times. For the next rounds, more stringent convergence criteria and a smaller starting simplex will be used:
MPEOE> iterations 10000
MPEOE> tolerance 0.0000001
MPEOE> dchi 0.5
MPEOE> df 0.05
MPEOE> refine /exercise1    --> repeat this several times
After several repeated restarts (did we mention patience as one of the requirements for the use of the MPEOE command?) , the final rms should drop below 0.006. For practical purposes this would be quite a good fit. But it is time to tell a secret: the "unknown" method from which the target charges were derived is in fact MPEOE, with the same classification of atom- and bond- types that is being used in exercise1.wlb. In theory, it should therefore be possible to achieve an rms of 0.000, but in practice this proves to be rather difficult, even if the correct atom-/bond-type classification is used.

In part 2 of the MPEOE parameter fitting exercise, you will learn how to derive parameters from scratch.



A.Widmer, NIBR/CPC/CSG-SB