Computation of non-bonded interactions: Part 1

Similar documents
Molecular Dynamics Calculations using NAMD. Dr Karina Kubiak Ossowska High Performance Computing Support Team Department of Physics

NAMD TUTORIAL. Windows Version. NAMD Developers: James Phillips, David Hardy

Computer simulation methods (2) Dr. Vania Calandrini

Why Proteins Fold? (Parts of this presentation are based on work of Ashok Kolaskar) CS490B: Introduction to Bioinformatics Mar.

NAMD TUTORIAL. Unix/MacOSX Version. NAMD Developers: James Phillips, David Hardy

University of Illinois at Urbana-Champaign Beckman Institute for Advanced Science and Technology Theoretical and Computational Biophysics Group

Introduction to molecular dynamics

NAMD TUTORIAL. Unix/MacOSX Version. NAMD Developer: James Phillips Timothy Isgro James Phillips Marcos Sotomayor Elizabeth Villa

NAMD TUTORIAL. Windows Version

NAMD TUTORIAL. Unix/MacOSX Version

Advanced Molecular Molecular Dynamics

Molecular Dynamics Simulations

What is Classical Molecular Dynamics?


Generate topology (Gromacs)

Molecular dynamics simulation. CS/CME/BioE/Biophys/BMI 279 Oct. 5 and 10, 2017 Ron Dror

NAMD User s Guide. Version 2.6b2

Intermolecular Forces and Monte-Carlo Integration 열역학특수연구

NAMD User s Guide. Version 2.7b1

Multiscale Materials Modeling

Applications of Molecular Dynamics

Non-bonded interactions

Molecular Dynamics. What to choose in an integrator The Verlet algorithm Boundary Conditions in Space and time Reading Assignment: F&S Chapter 4

Molecular Dynamics simulations of lysozyme in water

Non-bonded interactions

Hands-on : Model Potential Molecular Dynamics

Molecular Dynamics. A very brief introduction

Neighbor Tables Long-Range Potentials

Exercise 2: Solvating the Structure Before you continue, follow these steps: Setting up Periodic Boundary Conditions

Multiple time step Monte Carlo

Efficient Parallelization of Molecular Dynamics Simulations on Hybrid CPU/GPU Supercoputers

Molecular dynamics simulation of Aquaporin-1. 4 nm

Parallel Utility for Modeling of Molecular Aggregation

Molecular Dynamics 9/6/16

Optimizing GROMACS for parallel performance

Analysis of the simulation

LAMMPS Performance Benchmark on VSC-1 and VSC-2

Molecular Dynamics Simulation of a Nanoconfined Water Film

Molecular Dynamics. The Molecular Dynamics (MD) method for classical systems (not H or He)

All-atom Molecular Mechanics. Trent E. Balius AMS 535 / CHE /27/2010

Department of Chemical Engineering University of California, Santa Barbara Spring Exercise 3. Due: Thursday, 5/3/12

Biochemistry,530:,, Introduc5on,to,Structural,Biology, Autumn,Quarter,2015,

Potential Energy (hyper)surface

Lecture 11: Potential Energy Functions

Gromacs Workshop Spring CSC

Why study protein dynamics?

Project 4/5 - Molecular dynamics part II: advanced study of Lennard-Jones fluids, deadline December 1st (noon)

The Molecular Dynamics Method

Introduction to Simulation - Lectures 17, 18. Molecular Dynamics. Nicolas Hadjiconstantinou

Bioengineering 215. An Introduction to Molecular Dynamics for Biomolecules

Charge equilibration

Free energy simulations

The Molecular Dynamics Method

CHEM 498Q / CHEM 630Q: Molecular Modeling of Proteins TUTORIAL #3a: Empirical force fields

Aqueous solutions. Solubility of different compounds in water

NAMD User s Guide. Version 2.8

The Computational Microscope

Molecular Mechanics. I. Quantum mechanical treatment of molecular systems

Can a continuum solvent model reproduce the free energy landscape of a β-hairpin folding in water?

The Molecular Dynamics Simulation Process

2008 Biowerkzeug Ltd.

MD Thermodynamics. Lecture 12 3/26/18. Harvard SEAS AP 275 Atomistic Modeling of Materials Boris Kozinsky

NAMD User s Guide. Version 2.10

Computational Molecular Biophysics. Computational Biophysics, GRS Jülich SS 2013

Computational Modeling of Protein Kinase A and Comparison with Nuclear Magnetic Resonance Data

Introduction to model potential Molecular Dynamics A3hourcourseatICTP

Organization of NAMD Tutorial Files

Alchemical free energy calculations in OpenMM

Supporting Information

Why Proteins Fold. How Proteins Fold? e - ΔG/kT. Protein Folding, Nonbonding Forces, and Free Energy

CE 530 Molecular Simulation

Introduction to Classical Molecular Dynamics. Giovanni Chillemi HPC department, CINECA

Molecular Dynamics Simulations. Dr. Noelia Faginas Lago Dipartimento di Chimica,Biologia e Biotecnologie Università di Perugia

Force fields, thermo- and barostats. Berk Hess

Protein Structure Analysis

Parallelization of Molecular Dynamics (with focus on Gromacs) SeSE 2014 p.1/29

COSMO module interface of COLUMBUS

An FPGA Implementation of Reciprocal Sums for SPME

Don t forget to bring your MD tutorial. Potential Energy (hyper)surface

3. Solutions W = N!/(N A!N B!) (3.1) Using Stirling s approximation ln(n!) = NlnN N: ΔS mix = k (N A lnn + N B lnn N A lnn A N B lnn B ) (3.

Force Field for Water Based on Neural Network

CS 273 Prof. Serafim Batzoglou Prof. Jean-Claude Latombe Spring Lecture 12 : Energy maintenance (1) Lecturer: Prof. J.C.

Chapter 32. Computations of radial distributions functions, PMFs and diffusion constants

Introduction to CPMD 1

Towards accurate calculations of Zn 2+ binding free energies in zinc finger proteins

Multiple time step Monte Carlo simulations: Application to charged systems with Ewald summation

Introduction to Computer Simulations of Soft Matter Methodologies and Applications Boulder July, 19-20, 2012

Phase transitions of quadrupolar fluids

Solutions to Assignment #4 Getting Started with HyperChem

Force Fields for Classical Molecular Dynamics simulations of Biomolecules. Emad Tajkhorshid

Developing Monovalent Ion Parameters for the Optimal Point Charge (OPC) Water Model. John Dood Hope College

Dihedral Angles. Homayoun Valafar. Department of Computer Science and Engineering, USC 02/03/10 CSCE 769

Journal of Pharmacology and Experimental Therapy-JPET#172536

Constructing a neighbour list

Imperfect Gases. NC State University

Description of the MULFIT program February 1998 by G. G. Ferenczy, C. A. Reynolds and P. J. Winn modified by A. J.

PHI: Open quantum dynamics of multi-molecule systems

k θ (θ θ 0 ) 2 angles r i j r i j

The AGBNP2 Implicit Solvation Model

Error Analysis of the Poisson P 3 MForce Field Scheme for Particle-Based Simulations of Biological Systems

Transcription:

Computation of non-bonded interactions: Part 1 Computation of non-local (non-bonded) interactions in the potential function E p non-local scales with the number of atoms as N. For the large molecular systems which contain thousands of atoms this scaling makes the computation of E p non-local prohibitively slow. To reduce the computational costs several methods have been developed. These include (i) modifications of potential functions or forces (cut-off methods), (ii) generation of neighbor lists, and (iii) Ewald or multipole methods (for electrostatic interactions). In this lecture the first two approaches are discussed. I. Cut-off methods Generally the non-bonded potentials, such as van-der-waals (represented by the Lennard- Jones function) or electrostatic interactions are assumed spherically symmetric. Therefore, it is possible to modify the original non-bonded potential in such a way that it would decay faster at large distances r and become zero at some finite r. Three modification techniques are commonly used, which are based on truncation, switch, and shift functions. All three must satisfy several requirements: 1. potential (or force) should remain minimally perturbed by modifying function at small distances;. Modified potential (or force) must remain a smooth function. This requirement is crucial for molecular dynamics, Langevin dynamics, or minimization procedures. Violation of this requirement may result in catastrophic instability of the integration of equation of motions due to sudden variation of forces; 3. Because energy is conserved in standard molecular dynamics simulations (NVE ensemble), modification of potentials or forces should not lead to noticeable energy drift. The general implementation of cut-off methods takes on the form B A qiq j ( r ) = S( r ) +, (1) 1 r r r V 6 where S(r) is a function, which modifies the pairwise non-bonded potential V for a pair of atoms i and j (The meaning of the terms in Eq. (1) is discussed in the previous lecture). Truncation function: The most simple implementation of cut-off method is based on truncation of non-bonded interactions at r=a. In this case S(r) =1 for r a, and S(r)=0 at r > a. In general, truncation creates a discontinuity in the potential, which, strictly speaking, results in the infinite force at r=a. Because truncation violates all the 1

conditions outlined above (except (1)), its use is generally not recommended. However, if the potential function is already close to zero at r=a, the numerical error associated with the truncation is small. MOIL molecular dynamics package uses the truncation method for van-der-waals interactions with the typical value of a=9 Å. The ratio V LJ (r=a)/v LJ (r=r min ) (where r min is the location of minimum in Lennard-Jones potential) for OPLS force field used in MOIL is about 0.03 for a=9å (assuming the interactions between C β carbons). Switching function: One can use a smooth function, which gradually brings the potential to zero in the interval (a,b). One possible choice for S(r) is S(r) = 1, r < a r a r a S ( r) = 1+ 3, a r b () b a b a S(r) = 0, r > b The first derivative of S(r) becomes zero at r=a and r=b. NAMD utilizes multistep integration, therefore the switching function in Eq. () is applied to modify van-der- Waals forces (not the potentials itself). Because S(r) is a smooth function, it gradually reduces the amplitude of van-der-waals interactions from full strength at r=a to zero at r=b. Similar to van-der-waals interactions S(r) is applied to electrostatic forces and not to the potential itself. Using S(r) the electrostatic forces F EL in NAMD are partitioned into local and non-local contributions as F EL () r F () r + ( S() r ) F ( r) ( r) = S 1. (3) EL EL The first term in Eq. (3) represents the local part of electrostatic forces, and the second term gives the long-range part. The separation of electrostatic forces in NAMD is used in multistep algorithm. Local part of F EL is computed every integration step, but the nonlocal part is evaluated periodically using Ewald summation. The typical values for a and b are 8 and 1 Å. The switching functionality in NAMD is controlled by the keyword switching (see the NAMD configuration file in Box 1). The keywords switchdist and cutoff specify a and b values, respectively. It is important to remember that switching of electrostatic forces is performed in conjunction with the application of particle mesh Ewald technique (key word PME must be set on). If PME is off, then the keyword switching actually implies shifting procedure for electrostatic interactions. Even though the switching function S(r) is smooth, it still introduces a transient increase in the absolute value of the derivative of the potential function that leads to artificial forces. To minimize their impact the width of the switching interval b-a must be sufficiently large (e.g., > 4 Å). CHARMM uses the same switching function for both,

van-der-waals and electrostatic interactions. In contrast, MOIL utilizes switching function only for partitioning the electrostatic interactions. Shift functions: As an alternative to switching functions, one may use shift functions, which slightly shift the potential in the entire range of r to intersect it with the x axis. The specific implementation of shift function differs for electrostatic and van-der-waals interactions. For electrostatic interactions two shift functions are introduced and r 1() 1 S r = (r b) (4) b r () 1 S r = ( r b) (5) b For r > b both shift functions are zero. However, the force computed for S 1 (r) contains a term, which depends on r, whereas S (r) adds a constant (independent on r) term to the force. Both shifted potential functions and their first derivatives become zero at r=b. NAMD uses S 1 (r) function to shift electrostatic interactions, when Ewald method is not selected (PME off). In this case the keyword switching implies the application of shift function. CHARMM uses both S 1 (r) and S (r) functions, while MOIL does not use any of the shift functions. Another form of shift function is used for van-der-waals interactions. The potential is modified as B A 6 V LJ ( r ) = + C r + D for r b. (6) r r 1 6 VLJ The coefficients C and D are chosen from the conditions V LJ (r=b)=0 and = 0. r These conditions result in C = B b A b, D = 3B b + A b 18 1 1 6 V LJ r=b. Note that when only a constant is added in Eq. (6), the derivative would not become zero at r r=b. Shifting of van-der-waals interactions is not used in NAMD or MOIL, but is implemented in CHARMM. 3

II. Neighbor lists Cut-off methods alone do not save computational time, because they require calculation of the distances between all the pairs of atoms in order to make an appropriate modification of the non-bonded potential. Therefore, the computations still scale as N. The additional, essentially bookkeeping technique, which significantly reduces the CPU time, is based on Verlet lists and consists of the following steps. 1. For each particle i a list is generated, which includes all the particles that are found within the sphere r v > r c, where r c is the cut-off distance for non-bonded interactions. This list is called a Verlet list for a particle i. There are N Verlet lists created, and the positions of particles at the time of Verlet lists generation are saved.. At each conformational update the check is made on whether a maximum displacement of any particle j (with respect to the stored position of the particle j at the time of Verlet list generation) exceeds r v -r c. If yes, one of the particles previously located outside the Verlet list may have moved within the cut-off distance r c of another particle. Note that this is necessary, but not sufficient condition for the appearance of a new particle in the sphere of r c radius around any other particle. As long as the displacement of particles remains small, the Verlet list is used to compute the pairwise interaction energy. Implementation of Verlet list is given in Algorithm 34 in Frenkel and Smit book. Note that the arrays nlist and xv contain the number of particles in the Verlet lists and the positions of particles at the time of generation of Verlet lists. The array list contains the particle indexes in the Verlet lists of all particles. The Verlet lists quickly become incomplete, because many particles enter or leave the buffer between the spheres of the radii r c and r v without triggering the new generation of the lists. However, the new lists are always created when a particle appears in the cut-off sphere of any other particle. The computation of non-bonded interactions scales as N when Verlet lists are used and as N when new Verlet lists are created. In NAMD the generation of Verlet lists is performed periodically without computations of actual particle displacements. The interval between Verlet lists generations is specified by the keyword stepspercycle. The default value is 0. The radius of the Verlet list sphere is given by pairlistdist (the default value is 13.5 Å). Therefore, NAMD tolerates certain inaccuracies in keeping track the particles in the cut-off spheres. To minimize these errors the optional pairlistspercycle parameter can used to force more frequent Verlet list generation. Another type of lists created to reduce N scaling in the computation of non-bonded interactions is the cell lists. The cell lists are generated by dividing the system into the cells of the size r n r c. For each cell the list of particles is made, which belong to a given cell. Then computation of non-bonded interactions for a particle i can be restricted only 4

to the particles in a given and immediately adjacent cells. Algorithm 37 in Frenkel and Smit book shows the generation of cell lists for one dimensional system (Box 3) and utilizes two arrays. The array hoc registers the last particle put into the list of particles for a given cell. The array ll (linked-list array) gives for a given particle the index of the previous particle that has been put into the list of the same cell. It is important to note that the generation of cell lists and the corresponding computation of non-bonded energies scale as N 1 (Box 4). In practice, Verlet lists speed up the computations only if the number of particles in a Verlet list N v << N, the total number of particles. For typical values of Lennard-Jones potential this condition is met for N exceeding approximately 100. The powerful approach is to create first cell lists and then generate Verlet lists based on existing cell lists that allows to reduce the overall scaling from N to N 1. Practical implementation of cell and Verlet lists can use atom or group based approach. In atom based approach all atoms are treated individually, when they are assigned to lists. This approach potentially leads to instabilities, because atoms from the same group (e.g., belonging to the amide group, water molecule etc) may be assigned to different lists causing sudden force jumps. The group based approach takes into account the distribution of atoms over groups and allocates groups (not atoms) to cell or Verlet lists. In NAMD the groups are referred to as patches and hydrogens are always allocated to the same patch to which the donor atom is assigned. Note that CHARMM topology file top_all_prot.inp defines the atom groups for each amino acid. The use of neighbor lists requires the application of interaction cut-offs. In NAMD neighbor lists are applied for short-range (van-der-waals) non-bonded interactions, for which the scaling of computations becomes linear with N. For long-range (electrostatic) non-bonded interactions Ewald sums are typically used. Box 1. Example of the NAMD configuration file # input system... structure ala_solv.psf coordinates./output/ala_quench0100.coor bincoordinates./output/alai_quench0100.coor binvelocities./output/alai_quench0100.vel #..force field... paratypecharmm on parameters par_all_na.inp parameters par_all_prot.inp exclude scaled1-4 1-4scaling 1.0 dielectric 1.0 #for EL1-4 only switching on switchdist 8.0 # =a cutoff 1.0 # =b, applies to both for VdW and EL 5

pairlistdist 13.5 margin 0.0 stepspercycle 0 rigidbonds all rigidtolerance 0.00001 rigiditerations 100 # frequency of updating non-bonded list # shake all Hs # default value # Ewald EL... PME on PMETolerance 0.000001 PMEGridSizeX 3 PMEGridSizeY 3 PMEGridSizeZ 3 # turn on Ewald sum # default value # as in Moil ^5 # as in Moil ^5 # as in Moil ^5 #...peptide CM restraint... #constraints on #integrator... timestep 1.0 fullelectfrequency 4 #output... outputenergies 1000 outputtiming 1000 binaryoutput no outputname output/ala_quench0101 restartname output/alai_quench0101 restartfreq 10000 binaryrestart yes DCDfile output/ala_quench0101.dcd dcdfreq 1000 #MD protocol... seed 3190101 numsteps 1000000 #temperature 300 #rescalefreq 1 #rescaletemp 300 #reassignfreq 1 #reassigntemp 300 #reassignincr 0.001 #reassignhold 300 # frequency of writing E to stdout # frequency of writing time to stdout # don't use binary files for final output # where to save final coord andvel # frequency of writing restart coord # and vel out # no binary files for restart # trajectory filename # frequency of writing to dcdfile #steps in simulations # generate initial distr. of vel for T # frequency of reassigning of temp # T increment # final T after heating 6

# periodic boundary conditions... cellbasisvector1 34.7 0.0 0.0 cellbasisvector 0.0 34.7 0.0 cellbasisvector3 0.0 0.0 34.7 cellorigin 0.0 0.0 0.0 wrapwater on Box. Generation of Verlet lists subroutine new_vlist do i=1,npart nlist(i) = 0 #initializing the Verlet lists xv(i) = x(i) # storing the positions of particles in xv do i=1,npart-1 # loop over all pairs of particles do j=i+1,npart # xr = x(i)-x(j) if(abs(xr) < rv)then # determining if the particle j belongs to the nlist(i) = nlist(i) + 1 # Verlet list of i and vice versa nlist(j) = nlist(j) + 1 # advancing the counters in Verlet lists list(i,nlist(i)) = j # storing the particles i and j in respective endif return end subroutine list(j,nlist(j)) = I # Verlet lists Here, npart is the number of particles, and the array x contains the current positions of particles. Box 3. Generation of the cell lists subroutine new_nlist(rc) rn=box/int(box/rc) do icel=0,ncel-1 hoc(icel) = 0 # setting the size of cells to rn rc # initializing hoc arrays 7

do i=1,npart icel = int(x(i)/rn) ll(i)=hoc(icel) hoc(icel)=i return end subroutine # assigning the particles to cell lists # based on hoc and linked-list array ll Here, box is the system size, rc is the cut-off distance, ncel is the number of cells, and npart is the number of particles. Box 4. Calculation of energy using cell lists subroutine ennlist en=0 icel = int(xi/rn) # cell number for a particle i do ncel = 1, nneigh # loop over adjacent cells jcel = neigh(icel,ncel) # adjacent cell number from the list neigh() j=hoc(jcel) # first particle in the cell do while (j > 0) if(i/=j) en=en+en(i,xi,j,xj) j=ll(j) # get a new partcle from the linked-list ll return end subroutine Homework: User guide for NAMD is at http://www.ks.uiuc.edu/research/namd/current/ug/ 8