[AMBER] Coulson vs. Mulliken, CM1, etc. in antechamber + mopac

From: <Don.Bashford.stjude.org>
Date: Thu, 22 Jul 2010 15:59:42 -0500

It looks to me like the usage of any of the charge methods, "mul",
"cm1", "cm2" when using antechamber with mopac (the default) results
in Coulson-type charges rather than Mulliken, etc.

Examining the source code, I see that specifying "-c mul" on the
command line leads to calling the function, mul in charge.c which sets
up a mopac calculation (AM1) without "MULLIK" among the mopac
keywords, so no Mulliken analysis gets done. Then the mopac output is
processed by the rmopcharge function which looks for a block of
charges following a line like, "NET CHARGES AND DIPOLE CONTRIBUTIONS".

I think these are not Mulliken charges. According to the mopac
documentation (http://openmopac.net/manual/index.html -> Features ->
Derived Properties), these are Coulson charges. To get Mulliken
charges in the mopac output you need the MULLIK keyword, and then they
end up following a line that says, "MULLIKEN POPULATIONS AND CHARGES",
while the "NET CHARGES AND DIPOLE CONTRIBUTIONS" block still just has

As a test I tried running,

   antechamber -i ptr.pdb -fi pdb -o ptr-mul.mol2 -fo mol2 -c mul


   antechamber -i ptr.pdb -fi pdb -o ptr-cm1.mol2 -fo mol2 -c cm1

and similarly for cm2.

In all cases the ptr-*.mol2 file has identical charges, and they are
the Coulsons, as described above.

I can get the mopac run to actually do a Mulliken analysis by using
the -ek option with the argument,


but then the final mol2 file STILL gets the Coulson charges rather
than the Mullikens even though mopac.out contains a block of Mulliken

The above tests were done using AmberTools-1.2, but the source code I
examined was from AmberTools-1.4, so I think the behavior will be the

So it looks like way to get real Mulliken charges is to run mopac with
the MULLIK keyword, use an awk script or something to get the charges
from the Mulliken block and into an 8-float-per-line format as needed
for the "rc" charge method, and use "-c rc" on the antechamber command

By the way, we are currently using a similar workaround to get
mopac-generated ESP charges into a mol2 file. At present, antechamber
insists on Gaussian input if you want to use ESP or RESP charges.

Donald Bashford
Department of Structural Biology
St. Jude Children's Research Hospital

Email Disclaimer: www.stjude.org/emaildisclaimer

AMBER mailing list
Received on Thu Jul 22 2010 - 14:30:03 PDT
Custom Search