Combined Quantum Mechanical and Molecular Mechanics Method
Based on GAMESS-UK in CHARMM
Paul Sherwood
(p.sherwood@dl.ac.uk)
based on the GAMESS(US) interface from Milan Hodoscek
(milan@par10.mgsl.dcrt.nih.gov,milan@kihp6.ki.si)
Ab initio program GAMESS-UK (General Atomic and Molecular Electronic
Structure System, UK version) is connected to CHARMM program in a QM/MM
method. This method is based on the interface to the GAMESS (US version),
the latter being an extension of the QUANTUM code which is
described in J. Comp. Chem., Vol. 11, No. 6, 700-733 (1990).
* Menu:
* Description:: Description of the gamess commands.
* Using:: How to run GAMESS in CHARMM.
* Installation:: How to install GAMESS in CHARMM environment.
* Status:: Status of the interface code.
The GAMESS QM potential is initialized with the GAMEss command.
[SYNTAX GAMEss]
GAMEss [REMOve] [EXGRoup] [QINPut] [BLURred] (atom selection)
REMOve: Classical energies within QM atoms are removed.
EXGRoup: QM/MM Electrostatics for link host groups removed.
QINPut: Charges are taken from PSF for the QM atoms. Charges
may be non integer numbers. Use this with the REMOve!
BLURred: MM charges are scaled by a gaussian function (equivalent to ECP)
Width of the gaussian function is specified in WMAIN array
(usually by SCALar command)
The value for charge is taken from PSF. Some values of WMAIN have
special meaning:
WMAIN.GT.999.0 ignore this atom from the QM/MM interaction
WMAIN.EQ. 0.0 treat this atom as point charge in the QM/MM potential
The atoms in selection will be treated as QM atoms.
Link atom may be added between an QM and MM atoms with the
following command:
ADDLinkatom link-atom-name QM-atom-spec MM-atom-spec
link-atom-name ::= a four character descriptor starting with QQ.
atom-spec::= {residue-number atom-name}
{ segid resid atom-name }
{ BYNUm atom-number }
When using link atoms to break a bond between QM and MM
regions bond and angle parameters have to be added to parameter file
or better use READ PARAm APPEnd command.
If define is used for selection of QM region put it after all
ADDLink commands so the numbers of atoms in the selections are not
changed. Link atoms are always selected as QM atoms.
=======================================================================
CHARMM input scripts are the same as before except the addition of
ENVIronment commands and the GAMEss command itself. GAMESS-UK commands are in a
separate file call gamess.in, (or with an alternative name indicated by the
"gamess.in" environment variable. The GAMESS-UK input file has the same structure
as it would have for a normal GAMESS-UK run, except that the specification of
the geometry is omitted.
Names of the files for GAMESS-UK are specefied with environment
variables as follows. It is essential to provide a routing for ed3 to
ensure it is available to hold information between GAMESS-UK calls,
other file specifications are optional.
use ENVIronment command inside CHARMM
envi "ed2" "/scratch/user/test.ed2" ! quotes needed for lowercase names
envi "ed3" "/scratch/user/test.ed3"
or use (t)csh
setenv ed2 /scratch/user/test.ed2
setenv ed3 /scratch/user/test.ed3
or ksh,sh,bash
export ed2=test.ed2
export ed3=test.ed3
or within GAMESS-UK, use the file predirective
file ed3 /scratch/user/test.ed3
file ed2 /scratch/user/test.ed2
It is advised that the GAMESS-UK directives
noprint dist anal
is strongly recommended as these diagnostic calculations
don't contribute to the charmm job but use a lot of memory
when there are a lot of classical atoms.
You can use the "gamess.out" environment variable to
control the routing of the GAMESS-UK output, or you can define
it as stdout as follows (csh version):
setenv gamess.out stdout
in which case the GAMESS-UK output will be mixed with the charmm
output. (Note these don't seem to work with the bash shell, as
the export command doesn't accept variable names containing a
period (.), we will have to change this part of the code.
Make sure the gamess input contains a generous time
card, since the GAMESS calculation will be skipped if
it thinks it has run out of time.
If you see that the quantum part of the energy goes to
zero, it may reflect the timeout condition above, or some
other non-fatal problem in GAMESS-UK. Check the GAMESS-UK log
file.
For complete information about GAMESS input see the CFS web site
http://www.dl.ac.uk/CFS.
Example:
--------
GAMESS commands have to be in a separate file. Example for the GAMESS input
follows:
-----------------------------------------------------------------------------
------------------------------------------------------------------------------
The above is for 6-31G calculation of any neutral molecule. $DATA
section may be left empty or filled with basis set information in the case
when it cannot be specified by the $BASIS keyword.
[NOTE: For more examples look at test/c28test/guktst.inp]
==========================================================
Installation
------------
Installation itself cannot be automated yet so one has to
follow this procedure (if there are any problems ask p.sherwood@dl.ac.uk):
1. Unpack the GAMESS-UK distribution as a subdirectory of gukint:
source/gukint/GAMESS-UK
2. install.com <machine-type> <size-keyword> U <other-options>
The build procedure works by executing a configuration script within
the GAMESS-UK source tree, (GAMESS-UK/utilities/charmm_configure).
Assuming GAMESS-UK has already been ported to the target platform, it
is this file that will generally need modification on plaforms
for which the CHARMM/GAMESS-UK interface has not been tested.
The following is a summary of the status (c28 release)
Architecture CHARMM host Parallel Status
keyword Options
SGI R4400 sgi - OK
Pentium/Linux gnu - OK
Porting Notes
-------------
It is necessary to ensure that charmm_configure issues the
configure command with a valid set of keywords, the most
important on being the machine type. Unfortunately there isn't
a one-to-one mapping between CHARMM host types and GAMESS-UK
machine types.
e.g. for charmm host type = alpha, gamess type should be
axpev5 or axpev6 etc (depending on the processor type).
In the short term, customisation of the charmm_configure
script will be needed.
Similarly, changes to charmm_configure may be needed to
request the required GAMESS-UK configuration options for
a parallel build. Probably the best bet for a simple
parallel GAMESS-UK/CHARMM code is to select MPI with
static load balancing options, for which the "mpi"
keyword needs to be passed to configure.
On the Cray-T3E, the Global Array port of GAMESS-UK
can be used, you will need to modify install.com
and Makefile_t3e to load the correct libraries (GA,
MA.... etc).
NB The GAMESS-UK distribution can only support a single architecture
(there are no architecture dependent directories). When moving the
code from one platform to another, be sure to clear out the
object and library files
% cd source/gukint/GAMESS-UK/m4
% make clean
When building the parallel code the additional, manual steps
will be needed
For the MPI code
- in install.com, set the variables incpath and libpath
- set MPIINC in GAMESS-UK Makefile.in
- Some changes may be needed to build/UNX/Makefile_<arch> to support
loading with the parallel libraries (e.g. using MPILD)
When building on the T3E (or other platforms for which the
GAMESS-UK port uses the Global Array tools) modify
build/UNX/gukint.mk to include the list of object files
indicated by ${GASTUFF} and remove ${NONGA}.
==========================================================
GAMESS-UK/CHARMM interface status (July 2000) - Parallel version is functional, but will require changes to install.com and/or charmm_configure to activate - All CHARMM testcases are still OK when CHARMM is compiled with GAMESS-UK inside. - GAMESS, GAMESSUK, CADPAC and QUANTUM keywords cannot coexist in pref.dat - GAMESS-UK recognizes atoms by their masses as specified in the RTF file
NIH/DCRT/Laboratory for Structural Biology
FDA/CBER/OVRR Biophysics Laboratory
Modified, updated and generalized by C.L. Brooks, III
The Scripps Research Institute