Jump to content

Mod:Hunt Research Group/Jan evaluate esp

From ChemWiki

evaluating the quality of the different esp fits

  • the script we need is eval_fit.py
  • this generates
a root mean square or RMS
a relative root mean square or RRMS
a root mean square value or RMSV
  • explaination
if we have a set of N exact values y1, y2, y3 ... and a set of N calculated (fitted) values x1, x2, x3 ...
the difference between these are our "errors" or variance d1=x1-y1 giving d1, d2, d3, ...
Y2=i=1N(yi)2 and D2=i=1N(di)2
the RMS can then be evaluated ie the square root of the mean (of the squared differences)
dRMS=D2N and dRRMS=D2Y2 and dRMSV=dRMSdRRMS=Y2N
however quite often our esp will range over different scales and so we need to normalise between these so instead of dividing by N, the number of values, we can divide by the sum of the squares of all the actual values to get a normalised number
this is the sum of the errors squared divided by the sum of the values squared
  • for instructions run with -h argument "rep_esp.py -h"
  • this code requires use of the respin files!
  • required arguments are
input charge type=name the charges to be extracted options are 'mulliken', 'nbo', 'aim', 'mk', 'chelp', 'chelpg', 'hly', or 'list' if the charges are to be provided from a text file
input charge file = file to extract charges from this can be a gaussian.log file or a text file if you have used resp
esp file = name of file with the esp mesh used to generate the charges, this must be in the same directory as the respin files (file generate with IOP(6/50=1))
  • then add -o file to direct the output to a named cube file (remove the .cub extension)
  • the text file has the format of the atom order as in the template file values are space separated, line breaks are irrelevant
  • example of my text file
[tricia@dyn1246-193]/Users/tricia/bin/repESP/data/ch3oh $ cat resp_mk_charges.txt
  0.107929  0.030521  0.030521  0.030521 -0.588728  0.389236
  • now for some examples using the ch3oh molecule
  • example using mk charges from a gaussian log file and a mk mesh
eval_fit.py mk ch3oh_mk.log ch3oh_mk.esp
 RMS: 0.00208
RRMS: 0.13573
RMSV: 0.01534
  • example using resp_mk charges from a text input file and a mk mesh
eval_fit.py list resp_mk_charges.txt ch3oh_mk.esp
 RMS: 0.00320
RRMS: 0.20869
RMSV: 0.01534
  • example using chelpg charges from a gaussian log file and a chelpg mesh
eval_fit.py chelpg ch3oh_chelpg.log ch3oh_chelpg.esp
 RMS: 0.00221
RRMS: 0.14810
RMSV: 0.01494
  • example using resp_chelpg charges from a text input file and a chelpg mesh
eval_fit.py list resp_chelpg_charges.txt ch3oh_chelpg.esp 
 RMS: 0.00325
RRMS: 0.21773
RMSV: 0.01494
  • example using resp_chelpg charges from a text input file but a mk mesh!
eval_fit.py list resp_chelpg_charges.txt ch3oh_mk.esp
 RMS: 0.00322
RRMS: 0.20968
RMSV: 0.01534
  • example using resp_mk charges from a text input file but a chelpg mesh!
eval_fit.py list resp_mk_charges.txt ch3oh_chelpg.esp
 RMS: 0.00327
RRMS: 0.21917
RMSV: 0.01494