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 exercise1Bring 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
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 *
Wit!P> mpeoeThe 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
MPEOE> read exercise1.wlb
MPEOE> dchi 2.0The 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> 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
MPEOE> iterations 10000After 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.
MPEOE> tolerance 0.0000001
MPEOE> dchi 0.5
MPEOE> df 0.05
MPEOE> refine /exercise1 --> repeat this several times
In part 2 of the MPEOE parameter fitting exercise, you will learn how to derive parameters from scratch.