From: Mayne, Christopher G (
Date: Tue May 28 2013 - 12:13:33 CDT


a. The bond visualization is purely a visualization issue that has to do with how VMD guesses bonds based on the first frame. It will not affect the actual charge optimization routine.
b. the number of frames is related to the number of steps taken during the QM optimizations. Some water molecules are positioned near an energy minimum, others will have to be optimized more.

I was able to reproduce your error. I also found that only including one or two of the log files resolved the error. The error message suggests that VMD the measure bond contains too few or too many atom indices. Based on these observations I can think of two possibilities:

when loading the QM target data, the parser assigns an inappropriate atom name (i.e. the atom name doesn't exist)
there are two atoms with the same name

beyond this particular syntax error that's hanging ffTK up, I suspect that you are trying to do waaaaaaay too much here. The best approach to parameterization is the so-called "divide and conquer" approach. I would also encourage you to look through the literature to try and find validated parameters for heme and/ or porphyrin rings.

Christopher Mayne

On May 27, 2013, at 11:02 AM, surya narayanan chandrasekaran wrote:


I was trying to develop force field for a phorphrin magnesium complex. When i was in the charge optimization step i am having two kinds of problem.

1) some of the water molecule after first step of RHF calculation seems to be bonded on visualization and the number of frames for energy minimization also pretty less compared to other water molecule number of frames. I cross checked the initial file(.gau) for calculation its perfectly fine. anyway Gaussian does not showed it as an error neither the FFTK.

2)I am getting this error during opt.charges step. I am sending you the link of PSF PDB PAR and log files in dropbox kindly have a look at it if you want.

  measure bond: must specify exactly two atoms in a list
 measure bond: must specify exactly two atoms in a list
    while executing
"measure bond "[$temp1 get index] [$temp2 get index]" frame $i"
    (procedure "::ForceFieldToolKit::ChargeOpt::optimize" line 215)
    invoked from within
    (procedure "::ForceFieldToolKit::gui::coptRunOpt" line 55)
    invoked from within
"::ForceFieldToolKit::gui::coptRunOpt "
    invoked from within
".fftk_gui.hlf.nb.chargeopt.runOpt invoke "
    invoked from within
".fftk_gui.hlf.nb.chargeopt.runOpt instate {pressed !disabled} { .fftk_gui.hlf.nb.chargeopt.runOpt state !pressed; .fftk_gui.hlf.nb.chargeopt.runOpt in..."
    (command bound to event)

Suryanarayanan C
M.S Chemist