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