To build topology for the new molecule partial charges for atoms should be determined. Working in OPLS force field big amount of atom types with predefined partial charges allows you to chose atom type for almost every atom of your ?new? compound. But In rest force fields you have no choice except use quantum chemistry to determine partial charges. Restrained ElectroStatic Potential method approximates electrostatic potential found ab initio with atom-centered point-charge model [1]. Here the guide to use RESP technique based on calculations from Firefly or GAMESS-US is presented.
(i) Firefly/GAMESS run
First of all one should prepare correct GAMESS input file, some extra parameters should be defined: firstly, MOLPLT flag should be defined for appropriate coordinates transfer to RESP program:
$CONTRL MOLPLT=.TRUE. $END
Secondly, dumping electrostatic potential to PUNCH-file should be turned on:
$ELPOT IEPOT=1 WHERE=PDC OUTPUT=PUNCH $END $PDC PTSEL=CONNOLLY CONSTR=NONE $END
Note, that RESP algorythm will fit potential in the set of points which are selected according to $PDC group in the input-file. CONNOLY method of point selection poses points on the surface constructed of fused VdW-spheres around every atom. Each sphere has a standart VdW atom radius multipled on VDWSCL (default value is 1.4). For some molecules VDWSCL should be chosen more than standrad 1.4 value: 1.5 or 2.0.
Then run Firefly and save PUNCH-file for further work.
(ii) Convert Firefly PUNCH-file into RESP format
There is punch2resp.csh script written by Hans de Winter (Rega Institute for Medical Research, Belgium) in attach archive. Run:
./punch2resp.csh myPunchFile +1
where ?+1? should be substituted with the value of total molecule charge. 2 files will be generated: esp.in (file with electrostatic potential in format appropriate for RESP) and resp.in — file with parameters of RESP-algorythm.
(iii) Edit RESP parameters and run RESP
It’s strongly recommended to point intermolecular restrains. For instance, 3 hydrogen atoms of CH3-group in acetic acid are equal, 2 oxygens are equals too. It is represented in resp.in file given by example:
Acetic acid &cntrl nmol=1, ihfree=1 &end 1.0 Acetic acid -1љљљ 7љљљ #unused col. 6љљљ 0љљљљ #1 8љљљ 0љљљљ #2 8љљљ 2љљљљ # means that this atom will be equal to atom ?2 6љљљ 0љљљљ #4 1љљљ 0љљљљ #5 1љљљ 5љљљљ # means that this atom will be equal to atom ?5 1љљљ 5љљљљ # means that this atom will be equal to atom ?5
punch2resp.csh script will generate resp.in with all zeroes in second column. Intermolecular restrains you should add manually.
If you have no RESP on your computer take it from attached archive, edit Makefile (if need) and make with make command. Finally run RESP:
/usr/local/bin/resp -O -i resp.inљ -o resp.outљљ -e esp.in
Generated resp.out file will contain charges you need:
Point Charges Before & After Optimization no.љ At.no.љљљ q(init)љљљљљљ q(opt)љљљљ ivaryљљљ d(rstr)/dq 1љљ 6љљљљљљ 0.000000љљљљљљ 1.100289љљљљљ 0љљљљљљ 0.000453 2љљ 8љљљљљљ 0.000000љљљљљ -0.907461љљљљљ 0љљљљљљ 0.000548 3љљ 8љљљљљљ 0.000000љљљљљ -0.907461љљљљљ 2љљљљљљ 0.000548 4љљ 6љљљљљљ 0.000000љљљљљ -0.425098љљљљљ 0љљљљљљ 0.001145 5љљ 1љљљљљљ 0.000000љљљљљљ 0.046578љљљљљ 0љљљљљљ 0.000000 6љљ 1љљљљљљ 0.000000љљљљљљ 0.046578љљљљљ 5љљљљљљ 0.000000 7љљ 1љљљљљљ 0.000000љљљљљљ 0.046578љљљљљ 5љљљљљљ 0.000000
Attached archive
Standalone RESP 2.1 with punch2resp.csh script and some examples.