Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
4 April, 20032
Overview
■ (i) QM/MM Methodology– Background– QM/MM coupling approaches– Implementation
■ (ii) ChemShell– Introduction to Tcl, script basics– Data objects– Modules: dl_poly, gamess-uk, dynamics, hybrid– Examples (zeolite, oxide)
■ (iii) CHARMM/GAMESS-UK– Background– How to run– Active Developments– Example (TIM)
4 April, 20034
The QM/MM Modelling Approach
■ Couple quantum mechanicsand molecular mechanicsapproaches
■ QM treatment of the activesite– reacting centre– excited state processes (e.g.
spectroscopy)– problem structures (e.g.
complex transition metal centre)
■ Classical MM treatment ofenvironment– enzyme structure– zeolite framework– explicit solvent molecules– bulky organometallic ligands
4 April, 20035
Historical Overview (i)
■ 1976 Warshel, Levitt MM+Semi-empirical– study of Lysozyme
■ 1986 Kollmann, Singh QUEST– ab-initio (Gaussian-80/UCSF) + AMBER
■ 1990 Field, Bash, Karplus CHARMM/AM1– full semi-empirical dynamics implementation
■ 1992 Bernardi, Olivucci, Robb MMVB– simulation on MC-SCF results using VB
■ 1995 van Duijnen, de Vries HONDO/DRF– direct reaction field model of polarisation
4 April, 20036
Historical Overview (ii)
■ 1995 Morokuma IMOMM– mechanical embedding with “hidden variable” optimisation
■ 1996 Bakowies and Thiel MNDO/MM– mechanical, electrostatic and polarised semi-empirical models
■ 1997 Eichler, Kölmel, and Sauer QM/Pot– subtractive coupling of GULP/TURBOMOLE
4 April, 20037
Hybrid Computational Schemes
Termination AtomsChemical typehydrogen atoms, pseudopotentialsadjusted connection atoms, localisedorbitalsCharge perturbationsnone, charge deletion, charge shift,selection of 1e integrals, double link atoms
QM/MM CouplingsUnpolarisedQM polarisation
choice of charges?MM polarisation
¤ shell model¤ dipole polarisabilities
Total Energy ExpressionUncorrected
E(M,MM) + E(QL,QM)Boundary corrected
E(M,MM) + E(QL,QM) - E(L,MM)Subtractive
E(MQ,MM) + E(QL,QM) - E(QL,MM)
M1
M2
Q1
Q2
L
M2 Q2
4 April, 20038
Termination of the QM region
■ Boundary region approaches– Boundary atoms are present in both QM and
MM calculations– Range of representations within QM code
✜ Modified ab-initio atom with modelpotential
✜ Semi-empirical parameterisation✜ Frozen orbitals
– Re-parameterised MM potentials
■ Link atom schemes– Terminating (link) atoms are invisible to MM
calculations✜ Hydrogen, pseudo-halogen, etc.
Inner Re gion
Bounda ry Region
Oute r Region
4 April, 20039
Choice of QM Model
■ Applicability– Most QM methods are suitable
✜ Semi-empirical✜ Empirical valence bond (Warshel, MOLARIS)✜ MM-VB (Robb, fitted to CASSCF)✜ ab-initio✜ DFT
– Gaussian basis– Plane wave (CP) - Zeigler, Parrinello, Rothlisburger
■ Requirements for QM methods– For electrostatic embedding need to insert extra nuclei in
Hamiltonian✜ Cost implications, e.g. derivatives, Hessians
4 April, 200310
Choice of MM model
Choice of parameterisation model will be based on nature ofthe chemical system
– Valence forcefields✜ Macromolecular force fields
– CHARMM, Quest (AMBER)✜ MM2/MM3
– MNDO/MM, IMOMM✜ Commercial generation eg CFF (Discover)
– Electronegativity equalisation– Ionic forcefields
✜ Shell Model
4 April, 200311
Valence Force Fields (i)
■ Used for covalently bound molecules and networks
■ Terms associated with bonded groups– bonds
✜ e.g. harmonic, quartic– angles
✜ e.g. harmonic, quartic– dihedral (torsion) angles
✜ sin,cos (rotational barriers)✜ harmonic (e..g planarity constraints)
– sometimes other cross-terms✜ bond-bond coupling✜ bond-angle coupling
4 April, 200312
Valence forcefields (ii)
■ Non-bonded terms– Summed over all non-covalently-bound pairs
✜ always exclude bonded pairs✜ exclude 1,3 interactions for angles✜ sometimes scale 1,4 interactions for dihedrals
– van der Waals✜ Buckingham, Lennard-Jones
– electrostatics✜ simple coulomb (qiqj/r)
– Need to decide the atomic charges …✜ distance-dependent dielectric
– Approximate correction for solvation
■ Examples– MM2, AMBER, CHARMM, UFF, CFF, CVFF
4 April, 200313
Shell Model Force fields
■ Typically used for ionic solids■ Leading terms are non-bonded
– Electrostatics✜ often based on formal charges✜ polarisability of ions included by splitting
total ion charge in– Core (often +ve) and Shell (-ve),
modelling the valence electrons– Shell can shift in response to
electrostatic forces, restoring forcesfrom harmonic “spring”
– van der Waals✜ sometimes compute using shell position
■ Can also incorporate 3-body terms✜ some bond angles are preferred over
others, introducing covalent character
Shell positionCore position
4 April, 200314
Choice of MM Model
■ Practical considerations– We must be able to remove selected forcefield terms from topology
to avoid double counting in both QM and MM✜ handling of link atoms is easier for valence forcefields than for
ionic ones– Need vdW parameters for interaction with QM
✜ always– QM charges
✜ need for some embedding schemes– numerical noise (e.g. MM cutoffs) important for transition states etc.
■ Future prospects– DMA (distributed multipole analysis)– Other models for polarisation
✜ can be difficult to obtain the correct polarisation at the boundary
4 April, 200315
Conventional QM/MM Scheme
■ Termination– hydrogen, adjusted connection
atom, pseudo-halogen■ Coupling
– Unpolarised– QM polarisation– MM Polarisation (Direct
Reaction Field)■ Energy Expression
– No correction (Q2-Q1-L forceconstant mimics Q2-Q1-M1)
■ MM Charge Adjustments– Deletion (first charge group)– Shift (M1->M2)– Integral selection (semi-
empirical)■ Advantages
– Robust■ Disadvantages
– charge perturbation at boundary■ Applications
– zeolites– enzymes
4 April, 200316
Subtractive QM/MM Coupling
■ Energy ExpressionE(MQ,MM) + E(QL,QM) -
E(QL,MM)– includes boundary correction– can treat polarisation of both the
MM and QM regions at theforce-field level
■ Termination– Any (provided a force field
model for QL is available)■ Advantages
– Potentially highly accurate (freefrom artefacts)
– Can also be used for QM/QMschemes (e.g. IMOMO,Morokuma et al)
■ Disadvantages– Need for accurate forcefields– Possible catastrophies on
potential energy surface– No electrostatic influence on
QM wavefunction■ Applications
– Zeolites (Sauer et al)
– under development,theory=subtractive
4 April, 200317
QM/MM Non-bonded Interactions
■ Short-range forces (van der Waals)– Typically will follow MM conventions (pair potentials etc), sometimes
reparameterisation is performed to reflect replacement of pointcharges interactions with QM/MM electrostatic terms.
■ Electrostatic interactions:– Mechanical Embedding
✜ in vacuo QM calculation coupled classically to MM via pointcharges at QM nuclear sites
– Electrostatic Embedding✜ MM atoms appear as centres generating electrostatic
contribution to QM Hamiltonian– Polarised Embedding
✜ MM polarisability is coupled to QM charge density
4 April, 200318
Mechanical Embedding
■ Advantages– MM and QM energies are separable
✜ separate MM relaxation, annealing etc possible– QM/MM terms can be integrated directly into the forcefield– No interactions between link atoms and MM centres– QM energies, gradient, Hessian are the same cost as gas phase
■ Drawbacks– No model for polarisation of QM region– Electrostatic coupling requires atomic charges for QM atoms
✜ generally these will be dependent on reaction coordinate■ Examples
✜ IMOMM (Morokuma)✜ MNDO/MM (Bakowies and Thiel)
4 April, 200319
Electrostatic Embedding
■ (i) Assign MM Charges for pure MM system– Derived from empirical schemes (e.g. as part of forcefield)– Fitted to electrostatic potentials– Formal charges (e.g. shell model potentials)– Electronegativity equalisation (e.g. QEq)
■ (ii) Delete MM charges on atoms in inner region– Attempt to ensure that MM “defect” + terminated QM region has
✜ correct total charge✜ approximately correct dipole moment
■ (iii) Insert charges on MM centres into QM Hamiltonian– Explicit point charges– Smeared point charges– Semi-empirical core interaction terms– Make adjustments to closest charges (deletion, shift etc)
4 April, 200320
Creation of neutral embedding site (i) Neutral charge groups
■ Deletion according to force-field neutral charge-groupdefinitions
C
NC
C
O
H R
N
H
C
O
R
4 April, 200321
Creation of neutral embedding site (i) Neutral charge groups
■ Total charge conserved, poor dipole moments
C
NC
C
O
H R
N
H
C
O
R
H H
4 April, 200322
Creation of neutral embedding site (ii) Polar forcefields
bond dipole models, e.g. for zeolites (Si +0.5x, O -0.5x)
O-x O-x
O-x
O-x
Si+2x
4 April, 200323
Creation of neutral embedding site (ii) Polar forcefields
O-0.5x O-0.5x
O-0.5x
O-0.5x
Si
H
H
HH
■ Select with dipole_adjust=yes
4 April, 200324
Creation of neutral embedding site (iii) Double link atoms
■ Suggestion from Brooks (NIH) for general deletion (not on aforce-field neutral charge-group boundary)
C
NC
C
O
H R
N
H
C
O
R
4 April, 200325
Creation of neutral embedding site (iii) Double link atoms
■ All fragments are common chemical entities, automaticcharge assignment is possible.
C
N
CC
O
HR
N
H
C
O
R
H HH H
4 April, 200326
Boundary adjustments
■ Some of the classical centres will lieclose to link atom (L)
■ Artefacts can result if charge at theM1 centre is included inHamiltonian, many adjustmentschemes have been suggested– Adjustments to polarising field can be
made independently from specificationof MM…MM interactions
– Similar adjustments may are needed ifM1 is classified as a boundary atom,depending on M1 treatment.
M2
M1 Q1
Q2
Q2M2
M3 Q3
L
4 April, 200327
Boundary Adjustments (i)Selective deletion of 1e integrals
– L1: Delete integrals for which basis functions i or j are sited on thelink atom L
✜ found to be effective for semi-empirical wavefunctions✜ difference in potential acting on nearby basis functions causes
unphysical polarisation for ab-initio QM models use coupling=L1 with qm_theory=mndo
– L3: Delete integrals for which basis functions i and j are cited onthe link atom and qA is the neighbouring MM atom (M1)
✜ less consistent results observed in practice †
† Classification from Antes and Thiel, in Combined Quantum Mechanical and MolecularMechanical Methods, J. Gao and M. Thompson, eds. ACS Symp. Ser., WashingtonDC, 1998.
( ) ( )lrqlV jlA
Ai
Aij φφ −=
4 April, 200328
Boundary Adjustments (ii)Deletion of first neutral charge group
■ L2 - Exclude charges on all atoms in the neutral groupcontaining M1– Maintains correct MM charge
✜ leading error is the missing dipole moment of the first chargegroup
– Generally reliable✜ free from artefacts arising from close contacts
– Limitations✜ only applicable in neutral group case (e.g. AMBER, CHARMM)✜ neutral groups are highly forcefield dependent✜ problematic if a charge group needs to be split
– Application✜ biomolecular systems
■ use coupling=L2 with groups = { … }
4 April, 200329
M2
M1 Q1
Q2
Q2M2
M3 Q3
L
Boundary adjustments (iii)Charge shift
■ Delete charge on M1■ Add an equal fraction of q(M1) to
all atoms M2■ Add correcting dipole to M2 sites
(implemented as a pair of charges)– charge and dipole of classical system
preserved– Leading sources of residual error is
thatQ---L dipole moment is not equivalenttoQ------M
■ Requested using coupling=shift
4 April, 200330
Boundary adjustments (iv)Gaussian Blur
■ Delocalise point charge using Gaussian shape function– Large Gaussian width : electrostatic coupling disappears– Narrow Gaussian width : recover point charge behaviour– Intermediate values
✜ short range interactions are attenuated✜ long range electrostatics are preserved
■ Importance of balance - apply to entire MM system or tofirst neutral group
■ Particularly valuable for double-link atom scheme whereMM link atom charge lies within QM molecular envelope
4 April, 200331
Gaussian Blur: QM/MM Ethane
Aggregate dipole moment, withMM atoms broadened
– Large Gaussian widthdipole converges to that ofthe QM methane ( 0 )
– Small Gaussian widthpoint charges polarise theQM region, away from theC-H bond
MM QM
C CH
HH H
H
HHH
Compare with dipole of MM methyl group (0.18)
Ethane Dipole Moment (au)
0
0.1
0.2
0.3
0.4
0.5
0.1 1 10MM Gaussian Blur (Angstroms)
4 April, 200332
Electrostatic Embedding Summary
■ Advantages– Capable of treating changes in charge density of QM
✜ important for solvation energies etc– No need for a charge model of QM region
✜ can readily model reactions that involve charge separation
■ Drawbacks– Charges must provide a reliable model of electrostatics
✜ reparameterisation may be needed for some forcefields– Danger of spurious interactions between link atoms and charges– QM evaluation needed to obtain accurate MM forces– QM energy, gradient, Hessian are more costly than gas phase QM
4 April, 200333
Polarised embedding schemes
■ Incorporate polarisation of classical region– most appropriate used when the forcefield itself is based on explicit
polarisability– back-coupling of polarised charge density to QM calculation can
sometimes be omitted■ Approaches
– Iterative solution of dipole polarisabilities– Direct Reaction Field Hamiltonian (van Duijnen, de Vries)
✜ solution of coupled polarisabilities using relay matrix✜ possibility of including 2-electron dispersion terms✜ implemented in HONDO and GAMESS-UK
– Shell model-based schemes✜ atomic charge is split into core and valence electron shell,
connected by a harmonic spring✜ QUASI solid-state embedding scheme
4 April, 200334
Solid-state Embedding
■ Classical cluster termination– Base model on finite MM cluster– QM region sees fitted correction
charges at outer boundary■ QM region termination
– Ionic pseudopotentials (e.g.Zn2+, O2-) associated with atomsin the boundary region
■ Forcefield– Shell model polarisation– Classical estimate of long-range
dielectric effects (Mott/Littleton)■ Energy Expression
– Uncorrected
■ Advantages– suitable for ionic materials
■ Disadvantages– require specialised
pseudopotentials■ Applications
– metal oxide surfaces
QM
MM
4 April, 200335
Polarised Embedding SchemesSummary
■ Advantages– more accurate treatment of solvation effects– allows coupling to systems where the best forcefields are based on
polarisation (e.g. shell model potentials for metal oxide systems)
■ Drawbacks– Additional cost
✜ solution of coupled polarisabilities✜ some schemes will require additional SCF iterations
– requirement for polarised force-field– danger of electrostatic instabilities close to boundaries
✜ difficult to apply reliably when using link atoms
4 April, 200336
QM Termination Schemes
■ Link atom schemes– Hydrogen atoms– Adjusted electronegativity
✜ Hamiltonian shift operator✜ pseudohalogen (Hyperchem)
– Methyl groups (Cummins, Gready)■ Boundary schemes
– Frozen Orbitals✜ Local SCF scheme (Rivail)✜ Generalised hybrid orbital (Gao)✜ ab-initio implementation (Friesner)
– Pseudopotentials✜ Gaussian basis (Yang), Plane-wave (Rothlisberger)
– Adjusted connection atoms (Thiel)✜ semi-empirical mimic for attached methyl group
4 April, 200337
111 M
L
LMM xx
xE
xE
xE
∂∂
∂∂
∂∂
∂∂ ⋅+=
Positioning of link atoms
■ Initial placement– Usually on terminated bond
■ Unconstrained– Additional degrees of freedom present in geometry optimisation and
MD✜ e.g. CHARMM, QUEST
■ Constrained– Need to take into account forces on link atoms,
✜ shared internal coordinate definitions (IMOMM)✜ chain-rule differentiation (QM/Pot, ChemShell)
4 April, 200338
QM/MM Implementation
■ Different ways to implement QM/MM methods, withexamples– QM added as an extension to forcefield
✜ CHARMM/GAMESS-UK
– MM environment added to a small-molecule treatment✜ ONIOM (G98)✜ GAMESS-UK/AMBER✜ Gaussian/AMBER (Manchester)
– Modular scheme with a range of QM and MM methods✜ e.g. ChemShell✜ emphasis on flexibility✜ specialised optimisation algorithms
4 April, 200339
QM/MM Software Approach (i)
■ Specialised for a classical modelling approach, byintegrating QM code into MM package– CHARMM + GAMESS(US,UK), MNDO (Harvard & NIH)– AMBER + Gaussian (UCSF, Manchester)– QM/Pot, GULP + TURBOMOLE (Berlin)
■ Advantages– Good MD capabilities, model building etc
■ Disadvantages– Restricted to certain classes of systems by forcefield choice
4 April, 200340
QM/MM Software Approach (ii)
■ Extend QM code by adding MM environment as aperturbation– QM code is “in control”– MM environment will typically be relaxed for each QM structure
(hidden coordinates)– e.g. ONIOM (Gaussian), IMOMM, Gaussian/AMBER (Manchester)
■ Advantages– Familiarity for quantum chemists– Tools for small molecule manipulation (internal coordinates,
transition state search etc) are available■ Disadvantages
– Compared with CHARMM etc, limited tools for management ofconformational search of QM/MM surface, QM/MM dynamics etc
4 April, 200341
QM/MM Software Approach (iii)
■ Modular approach covering a range of MM and QM codes– e.g. ChemShell
■ Advantages– Flexibility of applications areas– Ability to choose the best QM code for the specific task– Ease of update of component codes
■ Disadvantages– Software Complexity
✜ range of forcefield types✜ wide variation in QM and MM program design✜ Close integration needed for performance (e.g. HPC), but weak
coupling simplifies maintenance
4 April, 200343
ChemShell
■ Extended Tcl Interpreter– Scripting capability– Interfaces to a range of QM and MM codes including
✜ GAMESS-UK✜ DL_POLY✜ MNDO97✜ TURBOMOLE✜ CHARMM✜ GULP✜ Gaussian94
– Implementation of QM/MM coupling schemes✜ link atom placement, forces etc✜ boundary charge corrections
4 April, 200344
ChemShell Architecture - Languages
■ An extended Tcl interpeter, written in..– Tcl
✜ Control scripts✜ Interfaces to 3rd party executables✜ GUI construction (Tk and itcl)✜ Extensions
– C✜ Tcl command implementations✜ Object management (fragment, matrix, field, graph)
– Tcl and C APIs– I/O
✜ Open GL graphics– Fortran77
✜ QM and MM codes: GAMESS-UK, GULP, MNDO97, DL_POLY
4 April, 200345
ChemShell Architecture
■ Core– ChemShell Tcl interpreter,
with code to supportchemistry data:
✜ Optimiser and dynamics✜ QM/MM Coupling✜ Utilities✜ Graphics
– GAMESS-UK (ab-initio, DFT)– MNDO (semi-empirical)– DL_POLY (MM)– GULP (Shell model, defects)
■ Features– Single executable possible– Parallel implementations
■ External Modules– CHARMM– TURBOMOLE– Gaussian94– MOPAC– AMBER– CADPAC
■ Features– Interfaces written in Tcl– No changes to 3rd party
codes
4 April, 200346
ChemShell Basics
■ ChemShell control files are Tcl Scripts– Usually we use a .chm suffix
■ ChemShell commands have some additional structure,usually they take the following formcommand arg1=value1 arg2=value2
Arguments can serve many functionsmm_defs=dl_poly.ff Identify a data file to usecoords=c Use object c as the source of the structureuse_pairlist=yes Provide a Boolean flag (yes/no, 1/0,, on/off)list_option=full Provide a keyword settingtheory=gamess Indicate which compute module to use
Sometimes command arg1=value1 arg2=value2 data
4 April, 200347
Very Simple Tcl (i)
■ Variable Assignment (all variables are strings)set a 1
■ Variable use[ set a ]
$a
■ Command result substitution[ <Tcl command> ]
■ Numerical expressions– set a [ expr 2 * $b ]
■ Ouput to stdout– puts stdout “this is an output string”
4 April, 200348
Very Simple Tcl (ii)
■ Lists - often passed to ChemShell commands as argumentsset a { 1 2 3 }
set a “1 2 3”
set a [ list 1 2 3 ]
$ is evaluated within [ list .. ] and “ “ but not { }– [ list … ] construct is best for building nested lists using variables
■ Arrays - not used in ChemShell arguments, useful for userscripts– Associative - can be indexed using any stringset a(1) 1
set a(fred) x
parray a
4 April, 200349
Very Simple Tcl (iii)
■ Continuation lines:– can escape the newline
tclsh % set a “this \is \
a single variable”this is a single variabletclsh %
– { } will incorporate newlines into the list
tclsh % set a {thisis
a single variable}this
isa single variabletclsh %
4 April, 200350
Very Simple Tcl (iv)
■ Procedures– Sometimes needed to pass to ChemShell commands to provide an
action
proc my_procedure { my_arg1 my_arg2 args } {
puts stdout “my_procedure”
return “the result”
}
■ Filesset fp [ open my.dat w ]
puts $fp “set x $x”
close $fp
…..
source my.dat
4 April, 200351
ChemShell Object types
■ ChemShell object types– fragment - molecular structure
✜ creation: c_create, load_pdb …. Universal!!– zmatrix
✜ z_create, newopt, z_surface– matrix
✜ creation: create_matrix, energy and gradient evaluators,dynamics
– field✜ creation: cluster_potential etc, graphical display, charge fits
■ GUI only– 3dgraph
4 April, 200352
ChemShell Object Representations
■ Between calculations, and sometimes between commandsin a script, objects are stored as files. Usually there is nosuffix, objects are distinguished internally by the blockstructure.
% cat cblock = fragment records = 0block = title records = 1phosphineblock = coordinates records = 34p 4.451659000000e+00 0.000000000000e+00 -8.177564917868e-16c 6.185735500000e+00 -2.300821074583e+00 1.930618115088e+00c 8.212885576806e+00 -3.578564654643e+00 9.301887908754e-01c 9.494813317978e+00 -5.314337337147e+00 2.374688491156e+00c 8.749590982344e+00 -5.772366439592e+00 4.819617515649e+00……....■ Multi block objects are initiated by an empty block (e.g. fragment)■ Unrecognised blocks are silently ignored
4 April, 200353
Object Caching
■ During a run objects can be cached in memory, thecommand to request this is the name of the object (similarto a declaration in a compiled language)
#fragment cc_create coords=c {h 0 0 0h 0 0 1}list_molecule coords=cdelete_object c# No file is created here
■ Confusion of objects with files can lead to confusion!!
4 April, 200354
Object Input and Output
■ If you access an object from a disk, ChemShell will alwaysupdate the disk copy when it has finished (there is no easyway of telling if a command or procedure has changed it).
■ Usually this is harmless (e.g. output formats are preciseenough), but unrecognised data in the input will not bepresent in the output, take a copy if you need to keep it.
■ E.g. if a GAMESS-UK punchfile contains a fragment objectand a single data field (e.g. the potential) you can use it asboth a fragment object and a field object
% rungamess test% cp test.pun my_structure% cp test.pun my_field% chemsh…….
4 April, 200355
Energy Gradient Evaluators
■ Many modules are designed to work with a variety ofmethods to compute the energy and gradient. Theprocedure relies on– the interfaces to the codes being consistent, each comprises a set
of callable functions e.g.✜ initialisation, energy, gradient, kill, update
– the particular set of functions being requested by a commandoption, usually theory=
■ Example evaluators (depends on locally available codes)✜ gamess, turbomole✜ dl_poly, charmm✜ mopac, mndo✜ hybrid
– You can write your own in Tcl
4 April, 200356
Module options, using the :
■ The : syntax is used to pass control options to sub-module, e.g. whenrunning the optimiser, to set the options for the module computing theenergy and gradient. {} can be used if there is more than one argument topass on. Nested structures are possible using Tcl lists.
newopt function=zopt : {theory=gamess : {basis=sto3g} zmatrix=z }
Command
newopt arguments
gamess arguments
zopt arguments
4 April, 200357
Loading Objects - Z-matrices
z_create zmatrix=z {zmatrix angstromcx 1 1.0n 1 cn 2 angf 1 cf 2 ang 3 phivariablescn 1.135319cf 1.287016phi 180.constantsang 90.end}
z_list zmatrix=z
set p [ z_prepare_input zmatrix=z ]puts stdout $p
■ z_create provides inputprocessor for the z-matrix object
■ z_list can be used to display theobject in a readable form
■ z_prepare_input provides thereverse transformation if youneed something to edit
■ z_to_c provides the cartesianrepresentation
4 April, 200358
Additional Z-matrix features (i)
■ Can include some atoms specified using cartesian coordinates■ Can use symbols for atom-path values (i1,i2,i3)■ Can append % to symbols to make them unique (e.g. o%1)■ Can create/destroy and set variables using Tcl commands
z_create zmatrix=z1 {
zmatrix
o%1
o%2 o%1 3.
h%1 o%1 1.8 o%2 121.0
h%2 o%2 1.85 o%1 122.0 h%1 29.0
end
}
z_var zmatrix=z1 result=z2 control= "release all"
z_substitute zmatrix=z2 values= {r2=3.0 r3=2.0}
z_list zmatrix=z2
4 April, 200359
Additional Z-matrix features (ii)
■ Combine cartesian and internal definitions
z_create zmatrix=z1 {
coordinates
...
zmatrix
....
end
}
■ c_to_z will create a fully cartesian z-matrix
4 April, 200360
c_create coords=h2o.c {
title
water dimer
coordinates au
o 0.0000000000 0.0000000000 0.0000000000
h 0.0000000000 -1.4207748912 1.0737442022
h 0.0000000000 1.4207748912 1.0737442022
o -4.7459987607 0.0000000000 -2.7401036621
h -3.1217528345 0.0000000000 -2.0097934033
h -4.4867611522 0.0000000000 -4.5020127872}
Loading Data Object - Coordinates
■ No symbols allowed■ Can also use read_xyz, read_pdb, read_xtl
4 April, 200361
Periodic Systems (i)
■ Crystallographic cell constants can be provided, alongwith fractional coordinates
#c_create coords=mgo.c {space_group1cell_constants angstrom4.211200 4.211200 4.211200 90.00 90.00 90.00coordinatesMg 0.10000000 0.00000000 0.00000000O 0.50000000 0.50000000 -0.50000000Mg 0.00000000 0.50000000 -0.50000000O 0.50000000 1.00000000 -1.00000000Mg 0.50000000 0.00000000 -0.50000000O 1.00000000 0.50000000 -1.00000000Mg 0.50000000 0.50000000 0.00000000O 1.00000000 1.00000000 -0.50000000}list_molecule coords=cset p [ c_prepare_input coords=c ]
4 April, 200362
Periodic Systems (ii)
#c_create coords=d {titleprimitive unit cell of diamondcoordinates auc 0.8425347285 0.8425347285 0.8425347285c -0.8425347285 -0.8425347285 -0.8425347285cell au
0.00000 3.37014 3.370143.37014 0.00000 3.370143.37014 3.37014 0.00000
}extend_fragment coords=d cell_indices= { -2 2 -2 2 -2 2 }
result=d2set_cell coords=d cell= {
0.00000 3.37014 3.370143.37014 0.00000 3.370143.37014 3.37014 0.00000 }
■ Alternatively, input the cell explicitly, in c_create orattach to the structure later
4 April, 200363
Core modules: DL_POLY
■ Features– Energy and gradient routines from DL_POLY (Bill Smith UK, CCP5)– General purpose MM energy expression, including approximations
to CFF91 (e.g. zeolites), CHARMM, AMBER, MM2– Topology generator
✜ automatic atom typing✜ parameter assignment based on connectivity✜ topology from CHARMM PSF input
– FIELD, CONFIG, CONTROL are generated automatically– FIELD is built up using terms defined in the file specified by
mm_defs= argument– Periodic boundary conditions are limited to parallelopiped shaped
cells– Can have multiple topologies active at one time
4 April, 200364
DL_POLY forcefield terms
■ Terms are input using atom symbols (or * wild card)■ Individual keyword terms:
– bond mm2bond quarbond anglemm2angle quarangle ptor mm2tor htorcfftor aa-couple aat-couple vdwpowers m_n_vdw 6_vdw mm2_vdw
■ Input units are kcal/mol, angstrom etc in line with mostforcefield publications
■ For full description see the manual
4 April, 200365
DL_POLY InterfaceAutomatic atom type assigment
■ Forcefield definition can incorporate connectivity-basedatom type definitions which will be used to assign types
■ Atom types are hierarchical, most specific applicable typewill be used (algorithm is iterative)
■ e.g. to use different parameters for ipso-C of PPh3 define anew type by a connection to phosphorous
query ci "ipso c"supergroup ctarget catom pconnect 1 2endquery
charge c -0.15charge h 0.15
4 April, 200366
DL_POLY Example
# dummy forcefield
read_input dl_poly.ff {
bond c c 100 1.5
bond c h 100 1.0
angle c c c 100 120
angle c c h 100 120
vdw h h 2500 1000000
vdw c c 2500 1000000
vdw h c 2500 1000000
htor c c c c 100 0.0 i-j-k-l
charge c -0.15
charge h 0.15
}
energy theory=dl_poly : mm_defs = dl_poly.ff coords=cenergy=e
4 April, 200367
# run charmm using script provided
charmm.preinit charmm_script=all.charmm coords=charmm.c
# Store type names from the topology file
load_charmm_types2 top_all22_prot.inp charmm_types
# These requires CTCL (i.e. charmm running)
set types [ get_charmm_types ]
set charges [ get_charmm_charges ]
set groups [ get_charmm_groups ]
charmm.shutdown
DL_POLY with CHARMM Parameters
■ Replicates CHARMM energy expression (without UREY)■ Uses standard CHARMM datafiles■ Requires CHARMM program + script to run as far as
energy evaluation for initial setup■ Atom charges and types are obtained by communication
with a running CHARMM process (usually only run once)
4 April, 200368
DL_POLY with CHARMM Parameters
theory=dl_poly : [ list \
list_option=full \
cutoff = [ expr 15 / 0.529177 ] \
scale14 = { 1.0 1.0 } \
atom_types= $types \
atom_charges= $charges \
use_charmm_psf=yes \
charmm_psf_file=4tapap_wat961.psf \
charmm_parameter_file=par_all22_prot_mod.inp \
charmm_mass_file= $top ]
■ Then provide dl_poly interface with– .psf (topology) charmm_psf =– .rtf (for atom types) charmm_mass_file=– .inp parameter files charmm_parameter_file=
4 April, 200369
Core modules: Geometry Optimisers
Small Molecules■ Internal coordinates (delocalised,
redundant etc)■ Full Hessian■ O(N3) cost per step
– BFGS, P-RFO
Macromolecules• Cartesian coordinates• Partial Hessian (e.g. diagonal)• O(N) cost per step
¤ Conjugate gradient¤ L-BFGS
Coupled QM/MM schemes¤ Combine cartesian and internal coordinates
¤ Reduce cost of manipulating B, G matrices¤ Define subspace (core region) and relax environment at each step
¤ reduce size of Hessian¤ exploit greater stability of minimisation vs. TS algorithms¤ Use approximate scheme for environmental relaxation
4 April, 200370
Newopt: Geometry Optimisation Module
newopt– A general purpose optimiser
✜ Target functions, specified by function =– copt : cartesian (obsolete)– zopt: z-matrix (now also handles cartesians)– new functions can be written in Tcl (see example rosenbrock)
✜ For QM/MM applications e.g.– P-RFO adapted for presence of soft modes– Hessian update includes partial finite difference in eigenmode
basis✜ New algorithms can be coded in Tcl using primitive steps
(forces, updates, steps, etc).hessian
– Generates hessian matrices (e.g. for TS searching)
4 April, 200371
Newopt Example - minimisation
## function zopt allows the newopt optimiser to work with# the energy as a function of the internal coordinates of# the molecule#
newopt function=zopt : { theory=gamess : { basis=dzp } } \zmatrix=z
4 April, 200372
Newopt: Transition state determination
# functions zopt.* allow the newopt optimiser to work with# the energy as a function of the internal coordinates of# the molecule
set args "{theory=gamess : { basis=3-21g } zmatrix=z}"
hessian function=zopt : [ list $args ] \hessian=h_fcn_ts method=analytic
newopt function=zopt : [ list $args ] \method=baker \input_hessian=h_fcn_ts \follow_mode=1
4 April, 200373
HDLCopt Optimiser
■ hdlcopt– Hybrid Delocalised Internal Coordinate scheme (Alex Turner, Walter
Thiel, Salomon Billeter)✜ Developed within QUASI project✜ O(N) overall scaling per step
– Key elements:– Residue specification, often taken from a pdb file (pdb_to_res)
allows separate delocalised coordinates to be generated for eachresidue
– Can perform P-RFO TS search in the first residue with relaxation ofthe others
✜ increased stability for TS searching✜ Much smaller Hessians
– Further information on algorithm✜ S.R. Billeter, A.J. Turner and W. Thiel, PCCP 2000, 2, p 2177
4 April, 200374
HDLCopt Example
# procedure to update the last step
proc hdlcopt_update { args } {
parsearg update { coords } $args
write_xyz coords= $coords file=update.xyz
end_module
}
# select residues
set residues [ pdb_to_res "4tapap_wat83.pdb" ]
# load coordinates
read_pdb file=4tapap_wat83.pdb coords=4tapap_wat83.c
hdlcopt coords=4tapap_wat83.c result=4tapap_wat83.opt \
theory=mndo : { hamiltonian=am1 charge=1 \
optstr={ nprint=2 kitscf=200 } } \
memory=200 residues= $residues \
update_procedure=hdlcopt_update
4 April, 200375
GULP Interface
■ Simple interface to GULP energy and forces■ GULP licensing from Julian Gale■ GULP must be compiled in
– (this has been included in the workshop versions)■ ChemShell fragment object supports shells
– Shells are relaxed by GULP with cores fixed, ChemShell typicallycontrols the core positions
■ Provide forcefield in standard GULP format
4 April, 200376
GULP interface example
read_input gulp.ff {# from T.S.Bush, J.D.Gale, C.R.A.Catlow and P.D. Battle# J. Mater Chem., 4, 831-837 (1994)speciesLi core 1.000Na core 1.000...buckinghamLi core O shel 426.480 0.3000 0.00 0.0 10.0Na core O shel 1271.504 0.3000 0.00 0.0 10.0...springMg 349.95Ca 34.05...}add_shells coords=mgo.c symbols= {O Mg}newopt function=copt : [ list coords=mgo.c theory=gulp : [
list mm_defs=gulp.ff ] ]
4 April, 200377
Molecular Dynamics Module
■ Design Features– Generic - can integrate QM, MM, QM/MM trajectories– Based on DL_POLY routines
✜ Integration by Verlet leap-frog✜ SHAKE constraints✜ Quaternion rigid body motion✜ NVT, NPT, NVE integration
– Script-based control of primitive steps✜ Simulation Protocols
– equilibration– simulated annealing
✜ Tcl access to ChemShell matrix and coordinate objects– e.g. force modification for harmonic restraint
✜ Data output– trajectory output, restart files
4 April, 200378
Molecular Dynamics - arguments
■ Object oriented syntax follows Tk etc– dynamics dyn1 coords=c … etc
■ Arguments– theory= module used to compute energy and forces– coords= initial configuration of the system– timestep= integration timestep (ps) [0.0005]– temperature= simulation temperature (K) [293]– mcstep= Max step displacement (a.u.) for Monte Carlo [0.2]– taut= Tau(t) for Berendsen Thermostat (ps) [0.5]– taup= Tau(p) for Berendsen Barostat (ps) [5.0]– compute_pressure= Whether to compute pressure and virial
(for NVT simulation)– verbose= Provide additional output– energy_unit= Unit for output
4 April, 200379
Molecular Dynamics - arguments
■ Arguments (cont.)– rigid_groups= rigid group (quaternion defintions)– constraints= interatomic distances for SHAKE– ensemble= Choice of ensemble [NVE]– frozen= List of frozen atoms– trajectory_type= Additional fields for trajectory (> 0 for
velocity, > 1 for forces)– trajectory_file= dynamics.trj file for trajectory output
■ Methods:– Dyn1 configure temperature=300
✜ configure - modify simulation parameters✜ initvel - initialise random velocities✜ forces - evaluate molecular forces✜ step - Take MD step
4 April, 200380
Molecular Dynamics - More methods
✜ update - Request MM or QM/MM pairlist update✜ mctest - Test step (Monte Carlo only)✜ output - print data (debugging use only✜ printe - print step number, kinetic, potential, total energy,
temperature, pressure volume and virial.✜ get - Return a variable from the dynamics,
– temperature, input_temperature, pressure, input_pressure,total_energy, kinetic_energy, potential_energy time
✜ trajectory - Output the current configuration to the trajectoryfile
✜ destroy - free memory and destroy object✜ fcap - force cap✜ load - recover positions/velocities✜ dump - save positions/velocities✜ dumpdlp - write REVCON
4 April, 200381
Molecular Dynamics - Example
dynamics dyn1 coords=c theory=mndo \temperature=300 timestep=0.005
dyn1 initvelset nstep 0while {$nstep < 10000 } {dyn1 forcedyn1 step.....# additional Tcl commands hereincr nstep
}dyn1 configure temperature=300# etcdyn1 destroy
4 April, 200382
QM Code Interfaces
■ Provides access to third party codes– GAMESS-UK– MOPAC– MNDO– TURBOMOLE– Gaussian98
■ Standardised interfaces– argument structure
✜ hamiltonian (includes functional)✜ charge, mult, scftype✜ basis (internal library or keywords)✜ accuracy✜ direct✜ symmetry✜ maxcyc...
4 April, 200383
energy coords=c \theory=gamess : { basis=dzp hamiltonian=b3lyp } \energy=e
■ Notes– The jobname is gamess1 unless specified– Some code-specific options
dumpfile= specify dumpfile routinggetq = load vectors from foreign dumpfile
GAMESS-UK Interface
■ Can be built in two ways– Interface calls GAMESS-UK and the job is executed using
rungamess✜ parallel execution can be requested even if ChemShell is
running serially– GAMESS-UK is built as part of ChemShell
✜ mainly intended for parallel machines
4 April, 200384
energy coords=c \theory=gamess : { basisspec = { { sto-3g *} {dzp o} } } \energy=e
GAMESS-UK Example - Basis library
■ basisspec has the structure { { basis1 atoms-spec1} {basis2 atomspec2} ….. }■ Assignment proceeds left to right using pattern matching for
atom labels■ * is a wild card■ This example gives sto-3g for all atoms except o■ Library can be extended in the Tcl script (see
examples/gamess/explicitbas.chm)■ ECPs are used where appropriate for the basis
4 April, 200385
■ All control data held in Tcl lists created– by setup program (Z-matrix style input)– by scripts or GUI etc– from user-supplied list of QM atoms provided as an argument
■ Implements– Book-keeping
✜ Division of atom lists✜ addition of link atoms✜ summation of energy/forces
– Charge shift, and addition of a compensating dipole at M2– Force resolution when link atoms are constrained to bond directions,
e.g. the force on first layer MM atom (M1) arising from the force onthe link atom is evaluated
– Uses neutral group cutoff for QM/MM interactions
Hybrid Module
4 April, 200386
Hybrid Module
■ Typical input options– qm_theory=– mm_theory=– qm_region = { } list of atoms in the QM region– coupling = type of coupling– groups = { } neutral charge groups– cutoff = QM/MM cutoff– atom_charges = MM charges
4 April, 200387
Solid-state Embedding Scheme
■ Classical cluster termination– Base model on finite MM cluster– QM region sees fitted correction
charges at outer boundary■ QM region termination
– Ionic pseudopotentials (e.g.Zn2+, O2-) associated with atomsin the boundary region
■ Forcefield– Shell model polarisation– Classical estimate of long-range
dielectric effects (Mott/Littleton)■ Energy Expression
– Uncorrected
■ Advantages– suitable for ionic materials
■ Disadvantages– require specialised
pseudopotentials■ Applications
– metal oxide surfaces
QM
MM
4 April, 200388
GULP - GAMESS-UK coupling■ Features
– From Julian Gale (ImperialCollege), classical energiesincluding shell model
– Self-consistent coupling of shellrelaxation to GAMESS-UK
✜ Import electrostatic forceson shells from GAMESS-UK
✜ relax shell positions– Defect energies (Mott Littleton
scheme) a posteriori– MPI parallel version available.– Use coupling=shift (without
any bonds, and with someshells in MM region,include_qm_force=yes forGULP
ChemShell - hybrid module
GULPshell relaxation
GAMESS-UKSCF & shell forces
GAMESS-UKatomic forces
GULP forces
4 April, 200389
Finite Cluster Models for Periodic Systems
Active MMRegion
Ideal MM Model ofSubstrate
Frozen MMRegion
CorrectionCharges
QM RegionElectrostaticpotential samplingregion
(i) Evaluate electrostatic potential for perfect MM System(ii) Cut out spherical cluster (1000-3000 atoms)(iii) Adjust finite MM cluster to reproduce periodic potential in region ofinterest(iv) Embed QM region in the finite cluster
4 April, 200390
QM/MM Modelling for Zeolites
■ Forcefield: CVFF (Hill/Sauer)■ Construct finite cluster as a
model for periodic lattice
■ QM Model comprises T3 or T5cluster + adsorbate
■ Additive Scheme, Electrostaticembedding
4 April, 200391
Solid-state embedding for oxidesurfaces
■ Finite cluster model, outersleeve of fitted chargescharges from 2D Ewaldsummation
■ QM: GAMESS-UK■ MM: GULP■ Solid-state embedding
scheme– Based on ZnO shell model
potential– Boundary atoms carrying
both shell model forcefieldand pseudopotentials
4 April, 200393
CHARMM + GAMESS-UK
■ Developed at Daresbury in collaboration with BernieBrooks, Eric Billings (NIH), Milan Hodoscek.
■ Based on Additive Model, Electrostatic Embedding– Link atoms (Hydrogen)– Neutral charge groups can be used to choose QM region and avoid
link-atom .. point charge close contacts.■ Other QM interfaces also available in CHARMM
– Semi-empirical
– GAMESS(US)– CADPAC
http://www.cse.clrc.ac.uk/qcg/chmguk
M.J. Field, P.A. Bash, M. Karplus, J. Comput. Chem. 11 (1990) 700-33
4 April, 200394
Running CHARMM/GAMESS-UK
■ Requires working knowledge of CHARMM– loading geometry– constructing PSF etc– similar interface to other quantum methods
■ Add Link Atoms– QQH atom type
■ Build GAMESS-UK input file– (without geometry)
■ Initialise interface– specify QM region and coupling requirements
■ Link atom constraints
4 April, 200395
Adding link atoms
■ Three options– ADDLink command
e.g. for a link between QM atom C2 and MM atom C1 in residue 1of segment PAMN:ADDL QQL pamn 1 c2 pamn 1 c1
– Explicit modification of RTF✜ make a customised residue with the additional atoms included
– PATCH directive
4 April, 200396
Adding Link atoms: using PATCH
■ Sample Patch– included in RTF along with residue data
PRES SLA -0.27ATOM C2 CT2 0.00 ! Sets pointer so that link is added\
after the QM hostATOM QQL QQH 0.00 ! The new atomATOM C1 CT3 -0.27 ! This record is not actually needed
! as the charge and type are unchangedBOND C2 QQLBOND C1 QQL
■ Invoked using the following commandPATCH SLA pamn 1 setup
For conventional (single) link atoms ADDlink is preferred
4 April, 200397
GAMESS-UK input
■ Leave out geometry (CHARMM will provide it)■ Normal control of theory:
– CHARGE, MULTIPLICITY– BASIS, DFT …..
■ Extra Class I Directive– CHM NOATOM
✜ don’t print the atom coordinates, forces etc– CHM APPEND
✜ concatenate all GAMESS-UK outputs together– CHM OFFSET -1200.00
✜ offset all energies for printing in CHARMM
4 April, 200398
Environment Variables
■ Used to control the files written and read by GAMESS-UK.■ When running with CHARMM, providing a name for the
dumpfile (ed3) is mandatory.■ Can be performed by
– issuing setenv before running CHARMM,– envi command in the CHARMM script:envi "ed3" "charmm.ed3"
■ The input and output files can optionally be renamed, usingthe strings "gamess.in" and "gamess.out", which are thedefault file names.
envi "gamess.in" "data/alanine_guk.in"
4 April, 200399
Link atom position
■ Restraint terms in the forcefield– e.g. QQH --- QMHost-----MMHost restrained to 0.00
■ Constraints using the Lone Pair Facility– (to be preferred)
! constrain the QM link atom qql (between QMH c2 and MMH c1)
lone coli dist -1.0 sele -
atom pamn 1 qql end -
sele atom pamn 1 c2 end -
sele atom pamn 1 c1 end
4 April, 2003100
Gaussian Blur
■ Implemented using GAMESS-UK DFT modules– same code as Coulomb fit
■ Required Gaussian width for each centre to be stored inCHARMM’s WMAIN array:
scalar wmain set 1.20 sele .not. qm end
scalar wmain show
gamess remove sele qm end blur
D. Das, K.P. Eurenius, E.M. Billings, P. Sherwood, D.C. Chatfield, M.Hodoscek, B.R. Brooks, J. Chem. Phys. 117 (2002) 10534
4 April, 2003101
CHARMM/GAMESS-UK Developments
■ Replica methods - simultaneous optimisation of completereaction paths– More robust than traditional TS searches– Constrained dynamics to get free energies of activation.– Potentially suitable for large scale parallelism– Currently an implementation of the Nudged Elastic Band method is
underway (Trout group (MIT) & NIH )
H.L. Woodcock, B.R. Brooks, M. Hodoscek, H.F. Schaefer, P.Sherwood and Y. S. Lee, (Theoretical Chemistry Accounts, inpress).
4 April, 2003102
Using GAMESS-UK within CHARMM
■ Within CHARMM– Add link atoms
✜ using ADDL command✜ manual edits of the topology
– set environment variable to preserve ed3 between calls– use gamess command to define QM region (from a charmm
selection) and set up QM/MM optionsaddl qqh1 mpep 1 c mpep 1 ca
define qm sele atom mpep 1 c .or. atom mpep 1 ot1 - .or. atom mpep 1 ot2 end
envi "ed3" "ed3"gamess remove sele qm end
fast off
4 April, 2003103
C. Lennartz, A. Schäfer, F.Terstegen, W. Thiel, J. Phys.Chem. B 106 (2002) 1758-67
Enzyme QM/MM Applications
■ TriosPhosphateIsomerase
■ Central reaction inglycolysis, catalyticinterconversion ofDHAP to GAP
■ Demonstration casewithin QUASI Project(Muelheim, and BASF)
■ Compare differentQM/MM approaches
4 April, 2003104
QM/MM Treatment of TIM
■ Electrostatic embedding (L1, ACAfor semi-empirical, L2 and chargeshift schemes)
■ QM: MNDO and TURBOMOLE QMregion– small 37 atoms, include residues
with possible proton donor/acceptorroles
– large 275 atoms, include alllneighbouring residues
■ MM: DL_POLY (CHARMMForcefield)– 4,200 atoms + solvent
■ QM/MM cutoffs based on neutralgroups
4 April, 2003105
QM/MM Treatment of TIM
■ Electrostatic embedding (L1 forsemi-empirical, L2 and charge shiftschemes)
■ QM: MNDO and TURBOMOLE QMregion– >33 atoms, include residues with
possible proton donor/acceptorroles
■ MM: DL_POLY (CHARMMForcefield)– 4,200 atoms + solvent
■ QM/MM cutoffs based on neutralgroups
4 April, 2003106
• QM region 35 atoms (DFT BLYP)– include residues with possibleproton donor/acceptor roles– GAMESS-UK, MNDO, TURBOMOLE
• MM region (4,180 atoms + 2 link)– CHARMM force-field, implementedin CHARMM, DL_POLY
QM/MM Applications
Triosephosphateisomerase (TIM)
• Central reaction inglycolysis, catalyticinterconversion ofDHAP to GAP• Demonstration casewithin QUASI (PartnersUZH, and BASF)
Triosephosphateisomerase (TIM)
• Central reaction inglycolysis, catalyticinterconversion ofDHAP to GAP• Demonstration casewithin QUASI (PartnersUZH, and BASF)
Measured Time (seconds)T T 128128 (IBM SP/p690) = 143 (IBM SP/p690) = 143 secssecs
1030
1487
714 797
540
778
419 431
308
428
274246
196
257213
170
0
400
800
1200
1600
8 16 32 64
CS9 P4/2000 + Myrinet 2kSGI Origin3800/R14k-500AlphaServer SC ES45/1000IBM SP/Regatta-H
Number of CPUs