+ All Categories
Home > Documents > 1. Introduction 2. NEB/STRING 3. ADMD 4. Numerical...

1. Introduction 2. NEB/STRING 3. ADMD 4. Numerical...

Date post: 10-Feb-2021
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
83
The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012 1. Introduction 2. NEB/STRING 3. ADMD 4. Numerical Experiments
Transcript
  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    1. Introduction 2. NEB/STRING 3. ADMD 4. Numerical Experiments

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Hamilton’s principle Lagrange’s equation

    {q(0)}

    {q(P)}

    {q(0)}

    {q(P)}

    Action optimization

    Known two conformations

    Reactants

    Products

    solution

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    q(0)

    q(t)

    Hamilton’s principle Lagrange’s equation

    Complexity 3Natom (P-1)

    S2

    S1 S3

    Saddle?

    Microscopic

    reversibility

    Fast sine transformation {q} {a}

    http://gams.nist.gov/serve.cgi/Module/SLATEC/SINT/7394/

    O(P2) O(P log P)

    The nature of the stationary points depends on time step.

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Phys. Rev. 159, 98 (1967)

    aka Onsager-Machlup

    “path quality”measure

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    The Verlet algorithm Phys. Rev. 159, 98

    (1967)

    Elber et al. (1996)

    +

    aka Onsager-Machlup

    “path quality”measure

    Adv. Chem. Phys. 126, 93 (2003)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    improved path quality : new object function

    Phys. Rev. Lett. 87, 10832 (2001)

    Fictitious T

    Target energy

    Phys. Rev. B 68, 064303 (2003)

    Chem. Phys. Lett. 105, 9299 (1996)

    Onsager-Machlup

    Passerone-Parrinello

    Phys. Rev. Lett. 90, 065501 (2003)

    J. Chem. Phys. 120, 4672 (2004)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Q representation

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    example

    C60 molecule formation process simulation

    N=60, P=150, 6 fs = Time increment, 3N(P-1)=26820

    Atomic unit = 0.529177 Angstrom

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    “path quality”measure

    Phys. Rev. B 68, 064303 (2003)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    ADMD vs NEB

    systematic barrier estimation : target E Phys. Rev. B 68, 064303 (2003)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Numerical Optimization, Nocedal and Wrights, Springer, 1999

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Numerical Optimization, Nocedal and Wrights, Springer, 1999

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Complexity 3N(P-1),

    N = the number of atoms,

    P = the number of steps

    Typical distribution of

    I : 1, 2, 3,…., N

    j : 1, 2, 3,….,P-1

    HP-36

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    N=504, P=2000

    3N(P-1)=3022488

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Parallel ADMD start

    end

    j=0,1,2,…,P

    Vj,{F}j

    V0,{F}0 V1,{F}1 V3,{F}3 V2,{F}2 VP,{F}P …

    {R}j configurations

    Object function/gradient Relaxation {R}j

    Converged?

    No

    j=0 and j=P

    Yes

    ,…,

    speedup

    {Communication}/{CPU} ratio

    Time consuming part

    LBFGS

    Energy/force

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    subroutine multiv

    ! Written by In-Ho Lee, KRISS, August 10 (2007)

    USE action, ONLY : qq,force_ac,vofqj,np_ac,natom_ac,isequence,isymbol,iattyp,ii12

    IMPLICIT NONE

    include 'mpif.h'

    integer n1,n2,j,jstart,jfinish

    real*8, allocatable :: exqq(:,:,:),exforce(:,:,:),exvofqj(:)

    integer myid,nproc,ierr,kount,iroot

    !

    call MPI_COMM_RANK( MPI_COMM_WORLD, myid, ierr )

    call MPI_COMM_SIZE( MPI_COMM_WORLD, nproc, ierr )

    if(nproc > np_ac+1) then

    write(6,*) 'you have too many CPUs nproc, np+1',nproc,np_ac+1

    call MPI_FINALIZE(ierr)

    stop

    endif

    if(myid == 0)then ! -----{ PROCESS ID = 0

    vofqj=0.0d0 ; force_ac=0.0d0

    endif ! -----} PROCESS ID = 0

    !

    if(nproc == 1)then

    do j=0,np_ac

    call xtinker(qq(1,1,j),force_ac(1,1,j),vofqj(j),natom_ac,isequence,isymbol,iattyp,ii12)

    enddo

    return

    endif

    !

    allocate(exqq(natom_ac,3,0:np_ac), exforce(natom_ac,3,0:np_ac), exvofqj(0:np_ac))

    if(myid == 0)then ! -----{ PROCESS ID = 0

    exqq=qq

    endif ! -----} PROCESS ID = 0

    iroot=0 ; kount=3*natom_ac*(np_ac+1)

    call MPI_BCAST(exqq, kount,MPI_REAL8, iroot,MPI_COMM_WORLD,ierr)

    n1=0 ; n2=np_ac

    call equal_load(n1,n2,nproc,myid,jstart,jfinish)

    !

    exforce=0.0d0 ; exvofqj=0.0d0

    do j=jstart,jfinish

    call xtinker(exqq(1,1,j),exforce(1,1,j),exvofqj(j),natom_ac,isequence,isymbol,iattyp,ii12)

    enddo

    iroot=0 ; kount=3*natom_ac*(np_ac+1)

    call MPI_REDUCE(exforce,force_ac,kount,MPI_DOUBLE_PRECISION,MPI_SUM,iroot,MPI_COMM_WORLD,ierr)

    iroot=0 ; kount=(np_ac+1)

    call MPI_REDUCE(exvofqj,vofqj,kount,MPI_DOUBLE_PRECISION,MPI_SUM,iroot,MPI_COMM_WORLD,ierr)

    !

    deallocate(exforce, exvofqj, exqq)

    return

    end

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    subroutine equal_load(n1,n2,nproc,myid,istart,ifinish)

    ! Written by In-Ho Lee, KRISS, September (2006)

    implicit none

    integer nproc,myid,istart,ifinish,n1,n2

    integer iw1,iw2

    iw1=(n2-n1+1)/nproc ; iw2=mod(n2-n1+1,nproc)

    istart=myid*iw1+n1+min(myid,iw2)

    ifinish=istart+iw1-1 ; if(iw2 > myid) ifinish=ifinish+1

    ! print*, n1,n2,myid,nproc,istart,ifinish

    if(n2 < istart) ifinish=istart-1

    return

    end

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    http://en.wikipedia.org/wiki/File:Protein_backbone_PhiPsiOmega_drawing.jpg http://en.wikipedia.org/wiki/Ramachandran_plot

    CNCC

    NCCN

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Conformational isomerization

    480 fs

    N=22

    JKPS 46, 601 (2005).

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Conformational isomerization

    690 fs 690 fs

    N=28

    JKPS 46, 601 (2005).

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Hammond postulate "If two states, as for example, a transition state and an unstable intermediate, occur consecutively during a reaction process and have nearly the same energy content, their interconversion will involve only a small reorganization of the molecular structures."

    G. S. Hammond

    That is, along the reaction coordinate, species with similar energies also have similar structures.

    activation energy: the minimum energy necessary to form an activated complex in a reaction.

    The Bell–Evans–Polanyi principle states that highly exothermic chemical reactions have a low activation energy.

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Exp. analysis

    • (9,0)-capsule : C114 (C42+18x4) : 0.704 nm

    • (5,5)-capsule : C120 (C40+20x4) : 0.678 nm

    • kBT=800 oC ~ 0.09 eV vs SW ~ 6 eV

    Chem. Phys. Lett. 384, 320 (2004)

    Phys. Rev. B 69, 73402 (2004)

    Rep. Prog. Phys. 62, 1181 (1999)

    ~0.8 eV (th. & exp.)

    Migration energy : inside SWCNT

    6 atoms

    J. Phys. Chem. 96, 3574 (1992)

    exchange

    A beam of 13C ions

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Science 272, 87 (1996)

    autocatalysis

    Chem. Phys. Lett. 351, 178 (2002)

    Ea= 6.2 eV4.0 eV2.3 eV

    kBT= 800 oC ~ 0.09 eV

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Microscopic reversibility

    C. H. Xu, C. Z. Wang, C. T. Chan, and K. M. Ho, J. Phys.: Condens. Matter 4, 6047 (1992) Tight-binding

    ADMD simulation

    Appl. Phys. Lett. 88, 011913 (2006)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Dynamic pathway models

    C60 precursor models Potential-energy fluctuations

    Simulated annealing

    J. Phys. Chem. 98, 1810 (1994)

    J. Chem. Phys. 120, 4672 (2004)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    C60 formation ADMD simulation

    Chain/hexagon

    Tangled polycyclic I

    J. Chem. Phys. 120, 4672 (2004)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    C60 activation energy, formation rate

    Phys. Rev. Lett 72, 2418 (1994)

    Tight-binding C. H. Xu, C. Z. Wang, C. T. Chan, and K. M. Ho, J. Phys.: Condens. Matter 4, 6047 (1992)

    C-C: 3.6 eV concerted motions

    J. Phys. Chem. 98, 1810 (1994)

    J. Chem. Phys. 120, 4672 (2004)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    C60 fusion

    nanotubes C60

    Double walled fused C60

    Chem. Phys. Lett. 315, 31 (1999)

    ~800 oC

    Chem. Phys. Lett. 384, 320 (2004)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    C60 fusion ADMD simulation

    C60 + C60 (5,5)-capsule

    Phys. Rev. Lett. 90, 065501 (2003)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    An extra carbon atom

    C60 fusion capsule (5,5) chirality

    Two extra carbon atoms

    catalyst

    Appl. Phys. Lett. 88, 011913 (2006)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Single/double exchange

    C60 + C60 + C C120 + C C60 + C60 + C + C C120 + C + C

    Appl. Phys. Lett. 88, 011913 (2006)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Partial density of state

    Appl. Phys. Lett. 88, 011913 (2006)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Potential energy profile along pathway

    C60 + C60 + C C120 + C

    C60 + C60 + C + C C120 + C + C

    Appl. Phys. Lett. 88, 011913 (2006)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    J. Am. Chem. Soc. 129, 8954 (2007)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Alignment of vacancies

    Phys. Rev. B 79, 174105 (2009)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012 Phys. Rev. B 74, 195409 (2006)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012 Phys. Rev. B 74, 195409 (2006)

    „Y‟ junction

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012 Phys. Rev. B 74, 195409 (2006)

    „T‟ junction

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Screw dislocation in Cu

    New cross slip mechanism (ADMD, empirical potential model)

    Lower activation energy process = Fleischer +Friedel-Escaig mechanism

    Appl. Phys. Lett. 88, 201908 (2006)

    The activation energy is around 2.14 eV that

    is the lowest energy barrier ever reported by atomistic

    simulations.

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012 Phys. Rev. B 76, 245408 (2007) Phys. Rev. B 76, 245407 (2007)

    Transition-pathway models of atomic diffusion on fcc metal surfaces. I. Flat surfaces

    Transition-pathway models of atomic diffusion on fcc metal surfaces. II. Stepped surfaces

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    The two most important secondary structure motifs

    N=112

    N=247

    Chem. Phys. Lett. 412, 307 (2005)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    helix formation

    Acetyl-(Ala)10-N-methyl amide Generalized Born solvation model

    N=112

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    helix formation

    Generalized Born solvation model J. Mol. Biol. 267, 963 (1997)

    Chem. Phys. Lett. 412, 307 (2005)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    b-hairpin formation

    Residues 41-56 of protein G Generalized Born solvation model

    N=247

    Turn forms first

    Chem. Phys. Lett. 412, 307 (2005)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    b-hairpin formation

    Generalized Born solvation model Nature 390, 196 (1997)

    Turn forms first

    At the central part : the first native H bond

    Chem. Phys. Lett. 412, 307 (2005)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012 J. Comput. Chem. 31, 57 (2009)

    HP-36

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    HP-36

    3N(P − 1) = 3 × 596 × 1999 = 3,574,212 Amber94, GB/SA 36.28 fs

    J. Comput. Chem. 31, 57 (2009)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    J. Comput. Chem. 31, 57 (2009)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Principal component analysis

    Principal component analysis is used to extract a small number of the most contributing elements (principal

    components) of the spatial correlation between residue pairs. M defined as Mij = (xi − )(xj − ),

    where x1, x2, . . . , x3 Nα are the Cartesian coordinates of the Nα Cα

    atoms. The average . . . is over all structural frames from the ADMD trajectory (i.e., P + 1 = 2001). By

    diagonalizing M, 3Nα eigenvectors with their corresponding eigenvalues are obtained.

    J. Comput. Chem. 31, 57 (2009)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Eigenvalues As Percentages Cumul. Percentages

    ----------- -------------- ------------------

    0.55364246E+02 51.2632 51.2632

    0.16711985E+02 15.4741 66.7372

    0.10515863E+02 9.7369 76.4741

    0.77891107E+01 7.2121 83.6863

    0.52260976E+01 4.8390 88.5253

    0.33910422E+01 3.1399 91.6651

    0.17537344E+01 1.6238 93.2889

    0.12711619E+01 1.1770 94.4660

    0.12134945E+01 1.1236 95.5895

    0.92323029E+00 0.8548 96.4444

    0.64476693E+00 0.5970 97.0414

    0.56307554E+00 0.5214 97.5628

    0.46476060E+00 0.4303 97.9931

    0.27635869E+00 0.2559 98.2490

    0.26253435E+00 0.2431 98.4921

    0.21947116E+00 0.2032 98.6953

    0.18363801E+00 0.1700 98.8653

    0.14950135E+00 0.1384 99.0038

    0.13822177E+00 0.1280 99.1317

    0.11565286E+00 0.1071 99.2388

    0.11010055E+00 0.1019 99.3408

    0.89341208E-01 0.0827 99.4235

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Principal component analysis

    J. Comput. Chem. 31, 57 (2009)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Reaction coordinate(s) ADMD simulation

    Reaction coordinate(s) Markov state model

    free energy profile

    time scale

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Predicting the weather

    • very simple model (sunny-rainy model) • sunny, rainy, K=2, 2x2 matrix P • sunny sunny : rainy = 0.9 : 0.1 • rainy sunny : rainy = 0.5 : 0.5

    http://en.wikipedia.org/wiki/Examples_of_Markov_chains

    Markov model

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Steady state of the weather

    program steady_state_test implicit none integer k real*8 pp(2,2),vec1(2),vec2(2) pp(1,1)=0.9d0 ; pp(1,2)=0.1d0 pp(2,1)=0.5d0 ; pp(2,2)=0.5d0 vec1(1)=1.d0 ; vec1(2)=0.d0 do k=1,1000 vec2=matmul(vec1,pp) vec1=vec2 end do write(6,*) vec2 stop end 0.8333333333333345 0.1666666666666669 FORTRAN STOP

    In conclusion, in the long term, 83% of days are sunny.

    Stationary distribution

    vec2(1)*pp(1,2)-vec2(2)*pp(2,1)=0 Detailed balance

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    J. Chem. Phys. 129, 064107 (2008).

    Markov State Model: example

    Free energy profile and characteristic time scale

    A. C. Pan and B. Roux

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Transition-count matrix

    • Mij= Mij+1, state i; 0 state j; , lag time • time-consumming part : many (relatively) short MD simulations : parallel job

    • Mij/(sumj Mij) Pij : finite sampling

    • Posterior_distribution (P | M) ~ Likelihood(M | P) x Prior_distribution (P)

    • Likelihood(M | P) ~ Pij M

    ij

    • Prior_distribution (P) ~ Pij b

    ij-1

    • Posterior_distribution (P | M) ~ Pij

    ij-1, a Dirichlet distribution

    • ij=bij+Mij • bij= ½ or bij= 1 or bij= 1/K, [ KxK matrices, M, P, , b]

    • Dirichlet distribution, ~ Pij

    ij-1

    • Bayesian Inference : error analysis

    W. C. Swope , J. W. Pitera, and F. Suits, J. Phys. Chem. B 108, 6571 (2004).

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Transition matrix

    • If the state space is finite, the transition probability distribution can be represented by a matrix, called the transition matrix, with the ij element of P equal to Pij= Pr(Xn+1=j| Xn=i). p = pP, p: left-eigenvector, eigenvalue =1 probability of the state i : pi : sumi pi = 1

    • a left-eigenvector of the transition matrix associated with the eigenvalue 1 • a right-eigenvector of the transition matrix associated with the eigenvalue 1

    • single eigenvalue=1 for left-eigenvector and right-eigenvector • a time-homogenous chain: Markov chain, a stationary distribution • Perron-Frobenius theorem • other eigenvalues, |eigenvalue| < 1

    • (relaxation time scale)s = - /ln(ls), largest eigenvalue of P matrix less than 1 • l1,l2,l3,l4,l5,....,lK-1,lK=1, (in ascending order), lK-1=ls

    • Pij >=0

    • sumj Pij =1. (stochasticity) : sum of each row is unity • pi Pij = pj Pji (detailed balance) : p = pP • sumi piPij= sumi pjPji =pj sumi Pji=pj

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    0.15 microsecond

    41x41 matrix

    Langevin dynamics, 300 K, 91 ps-1

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Energ

    y

    Reaction coordinate

    Weighted-Ensemble

    bins

    Free energy surface

    Time variations

    weight(bin,time)

    Transition probability : P(t)

    Weighted-ensemble Brownian dynamics simulations for protein association reactions Biophysical Journal, Volume 70, Issue 1, Pages 97-110

    ADMD-pathway

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Example

    Potential energy profile

    Population changes

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    1l2y

    32 replicas/bin, 300 K, 91 ps-1

    states pico-second

    popula

    tion

    Popula

    tion a

    t final sta

    te (

    t)

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Crooks‟ fluctuation theorem

    The Crooks equation is an equation in statistical mechanics that relates the work done on a system

    during a non-equilibrium transformation to the free energy difference

    between the final and the initial state of the transformation.

    WAB, i.e. the work done on the system during the forward transformation (from A to B)

    ΔF = F(B) − F(A), i.e. the Helmholtz free energy difference between the state A and B

    http://incredible.egloos.com/4646410

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    ADMD + PCA

    ADMD + Markov state model

    (stochastic model)

    ADMD + Replica-exchange molecular dynamics

    (thermodynamics)

    ADMD + Weighted-ensemble

    (kinetics)

    ADMD + Crooks‟ fluctuation theorem

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    summary

    • Rare event simulations

    • Minimum energy path, transition state

    • NEB, string

    • Action-derived molecular dynamics reaction coordinates

    • PCA, MSM, REMD, weighted ensemble

    • Crooks’ fluctuation theorem

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    1. Introduction 2. NEB/STRING 3. ADMD 4. Numerical Experiments

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    /home/ihlee/tutorial_string_admd/potential_plot

    =============================================================

    vi plot_pot.f90

    pgf90 plot_pot.f90 energy?.f90

    ./a.out

    ls -ltra

    gnuplot

    >set pm3d

    >set palette rgbformulae 33,32,10

    >splot 'fort.7' with pm3d

    Remember that it is an interactive mode.

    The followings are the gnuplot commands for getting a color eps file.

    gnuplot> set pm3d

    gnuplot> set palette rgbformulae 33,32,10

    gnuplot> splot 'fort.7' with pm3d

    gnuplot> set term postscript eps enhance color

    Terminal type set to 'postscript'

    Options are 'eps enhanced color colortext \

    dashed dashlength 1.0 linewidth 1.0 defaultplex \

    palfuncparam 2000,0.003 \

    butt "Helvetica" 14'

    gnuplot> set output "test.eps"

    gnuplot> replot

    gnuplot> quit

    [ihlee@helix source]$ gv test.eps

    =============================================================

    gnuplot> set pm3d map

    gnuplot> set size square

    gnuplot> splot 'fort.7'

    gnuplot> set palette rgbformulae 33,32,10

    gnuplot> splot 'fort.7'

    gnuplot> set xrange[-25: 25]

    gnuplot> set yrange[-25: 25]

    gnuplot> splot 'fort.7'

    gnuplot> set term postscript eps enhanced color

    Terminal type set to 'postscript'

    Options are 'eps enhanced color colortext \

    dashed dashlength 1.0 linewidth 1.0 defaultplex \

    palfuncparam 2000,0.003 \

    butt "Helvetica" 14'

    gnuplot> set output "test1.eps"

    gnuplot> replot

    gnuplot> quit

    [ihlee@helix potential_plot]$ gv test1.eps

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    /home/ihlee/tutorial_string_admd/string_m1/source

    ====================================================

    make clean

    make

    make a2ps

    gv main.ps

    or evince energy.ps

    ls -ltra ../*.x

    ====================================================

    cp include.f init.f inout.f ../

    cd ../

    pgf90 init.f inout.f

    ./a.out

    ls -ltra

    data0 will be present. This file will be an input file for the program string1.x.

    ./string1.x

    ls -ltra

    data1 will be present.

    xmgrace data0 data1

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    ====================================================

    cmpl= pgf90

    segl= pgf90

    #OPT = -fast

    OPT =

    FFLAGS = -c ${OPT}

    LIBS =

    FILES= main.o dcopy.o energy.o force.o inout.o intpol.o mvper.o mvtan.o tangent.o

    /home/ihlee/tutorial_string_admd/string_m1/string1.x: $(FILES)

    $(segl) -o ../string1.x $(FILES) $(LIBS)

    main.o:main.f

    $(cmpl) $(FFLAGS) main.f

    dcopy.o:dcopy.f

    $(cmpl) $(FFLAGS) dcopy.f

    energy.o:energy.f

    $(cmpl) $(FFLAGS) energy.f

    force.o:force.f

    $(cmpl) $(FFLAGS) force.f

    inout.o:inout.f

    $(cmpl) $(FFLAGS) inout.f

    intpol.o:intpol.f

    $(cmpl) $(FFLAGS) intpol.f

    mvper.o:mvper.f

    $(cmpl) $(FFLAGS) mvper.f

    mvtan.o:mvtan.f

    $(cmpl) $(FFLAGS) mvtan.f

    tangent.o:tangent.f

    $(cmpl) $(FFLAGS) tangent.f

    clean:

    rm -f *.x *.o *.mod *.M core*

    touch:

    touch *.f90 *.i makefile ; chmod 600 *.f90 *.i makefile ; ls -l *.f90 *.i makefile *.f

    rmo:

    rm -f *.o *.mod *.M core*

    lsl:

    ls -l *.f90 makefile *.i

    a2ps:

    a2ps --prologue=color -o main.ps main.f ; a2ps --prologue=color -o energy.ps energy.f ; a2ps --prologue=color -o force.ps

    force.f ; a2ps --prologue=color -o inout.ps inout.f ; a2ps --prologue=color -o mvper.ps mvper.f ; a2ps --prologue=color -o

    mvtan.ps mvtan.f ; a2ps --prologue=color -o tangent.ps tangent.f ; a2ps --prologue=color -o intpol.ps intpol.f

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    subroutine lbfgs_driv(theta,posi,grad,nn)

    ! Written by In-Ho Lee, KRISS, January 31 (2003)

    implicit none

    integer nn

    real*8 theta,posi(nn),grad(nn)

    integer n_local,m,msave

    real*8, allocatable :: diag(:),w(:)

    real*8 eps,xtol,gtol,t1,t2,stpmin,stpmax

    integer iprint(2),iflag,icall,mp,lp,j,nwork

    logical diagco

    real*8, allocatable :: gmatwork(:,:)

    integer itrelax

    !

    ! The driver for LBFGS must always declare LB2 as EXTERNAL

    external lb2

    common /lb3/mp,lp,gtol,stpmin,stpmax

    !

    itrelax=1000

    n_local=nn

    m=5 ; msave=7 ; nwork=n_local*(2*msave+1)+2*msave

    allocate(diag(n_local),w(nwork))

    iprint(1)= 1 ; iprint(2)= 0

    !

    ! We do not wish to provide the diagonal matrices Hk0, and

    ! therefore set DIAGCO to FALSE.

    diagco= .false. ; eps= 1.0d-4 ; xtol= 1.0d-16 ; icall=0 ; iflag=0

    !

    !

    allocate(gmatwork(nn/3,nn/3))

    20 continue

    call lj(posi,grad,theta,nn/3,gmatwork)

    !

    write(6,'(e14.7)') theta

    call lbfgsac(n_local,m,posi,theta,grad,diagco,diag,iprint,eps,xtol,w,iflag)

    if(iflag.le.0) go to 50

    icall=icall + 1

    ! We allow at most 2000 evaluations of Function and Gradient

    if(icall > itrelax) go to 50

    go to 20

    50 continue

    deallocate(gmatwork)

    deallocate(diag,w)

    return

    end

    Local minimization LBFGS : function, gradient

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    implicit none

    integer natoms,nn

    real*8 elj

    real*8, allocatable :: x(:),v(:)

    real*8, allocatable :: g(:,:)

    integer i

    real*8 tmpx,tmpy,tmpz,obj

    natoms=7

    allocate(x(3*natoms),v(3*natoms))

    allocate(g(natoms,natoms))

    do i=1,natoms

    x(3*(i-1)+1)=0.3*i

    x(3*(i-1)+2)=0.3*i**2+1.

    x(3*(i-1)+3)=0.d0

    enddo

    i=1

    x(3*(i-1)+1)=-1.0d0

    x(3*(i-1)+2)=0.0d0

    x(3*(i-1)+3)=0.0d0

    i=2

    x(3*(i-1)+1)=1.0d0

    x(3*(i-1)+2)=0.0d0

    x(3*(i-1)+3)=0.0d0

    i=3

    x(3*(i-1)+1)=0.0d0

    x(3*(i-1)+2)=-1.0d0

    x(3*(i-1)+3)=0.0d0

    i=4

    x(3*(i-1)+1)=0.0d0

    x(3*(i-1)+2)=1.0d0

    x(3*(i-1)+3)=0.0d0

    i=5

    x(3*(i-1)+1)=1.0d0

    x(3*(i-1)+2)=1.0d0

    x(3*(i-1)+3)=0.0d0

    i=6

    x(3*(i-1)+1)=-1.0d0

    x(3*(i-1)+2)=-1.0d0

    x(3*(i-1)+3)=0.0d0

    i=7

    x(3*(i-1)+1)=0.0d0

    x(3*(i-1)+2)=0.0d0

    x(3*(i-1)+3)=0.0d0

    tmpx=0.d0 ; tmpy=0.d0 ; tmpz=0.d0

    do i=1,natoms

    tmpx=tmpx+x(3*(i-1)+1)

    tmpy=tmpy+x(3*(i-1)+2)

    tmpz=tmpz+x(3*(i-1)+3)

    enddo

    tmpx=tmpx/float(natoms) ; tmpy=tmpy/float(natoms) ; tmpz=tmpz/float(natoms)

    do i=1,natoms

    x(3*(i-1)+1)=x(3*(i-1)+1)-tmpx

    x(3*(i-1)+2)=x(3*(i-1)+2)-tmpy

    x(3*(i-1)+3)=x(3*(i-1)+3)-tmpz

    enddo

    call lj(x,v,elj,natoms,g)

    write(6,*) natoms

    write(6,*) elj

    do i=1,natoms

    write(6,'(a2,2x,3f18.8)') 'Ar',x(3*(i-1)+1),x(3*(i-1)+2),x(3*(i-1)+3)

    enddo

    write(6,*)

    do i=1,natoms

    write(6,'(3f18.8)') v(3*(i-1)+1),v(3*(i-1)+2),v(3*(i-1)+3)

    enddo

    nn=3*natoms

    call lbfgs_driv(obj,x,v,nn)

    elj=obj

    tmpx=0.d0 ; tmpy=0.d0 ; tmpz=0.d0

    do i=1,natoms

    tmpx=tmpx+x(3*(i-1)+1)

    tmpy=tmpy+x(3*(i-1)+2)

    tmpz=tmpz+x(3*(i-1)+3)

    enddo

    tmpx=tmpx/float(natoms) ; tmpy=tmpy/float(natoms) ; tmpz=tmpz/float(natoms)

    do i=1,natoms

    x(3*(i-1)+1)=x(3*(i-1)+1)-tmpx

    x(3*(i-1)+2)=x(3*(i-1)+2)-tmpy

    x(3*(i-1)+3)=x(3*(i-1)+3)-tmpz

    enddo

    write(6,*) natoms

    write(6,*) elj

    do i=1,natoms

    write(6,'(a2,2x,3f18.8)') 'Ar',x(3*(i-1)+1),x(3*(i-1)+2),x(3*(i-1)+3)

    enddo

    write(6,*)

    do i=1,natoms

    write(6,'(3f18.8)') v(3*(i-1)+1),v(3*(i-1)+2),v(3*(i-1)+3)

    enddo

    deallocate(x,v)

    deallocate(g)

    stop

    end

    Local minimization: function, gradient

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    subroutine lj(x,v,elj,natoms,g)

    ! Written by In-Ho Lee, KRISS, December 22 (2011); based on Wales's GMIN programs in fortran 77.

    implicit none

    integer natoms

    real*8 x(3*natoms),v(3*natoms),elj,g(natoms,natoms)

    integer j1, j2, j3, j4

    real*8 r6, dummyx, dummyy, dummyz, xmul2, dummy, dist

    elj=0.0d0

    do j1=1,natoms

    j3=3*j1

    g(j1,j1)=0.0d0

    do j2=j1+1,natoms

    j4=3*j2

    dist=(x(j3-2)-x(j4-2))**2+(x(j3-1)-x(j4-1))**2+(x(j3)-x(j4))**2

    dist=1.0d0/dist

    r6=dist**3

    dummy=r6*(r6-1.0d0)

    elj=elj+dummy

    dist=dist*r6

    g(j2,j1)=-24.0d0*(2.0d0*r6-1.0d0)*dist

    g(j1,j2)=g(j2,j1)

    enddo

    enddo

    elj=elj*4.0d0

    do j1=1,natoms

    j3=3*j1

    dummyx=0.0d0

    dummyy=0.0d0

    dummyz=0.0d0

    do j4=1,natoms

    j2=3*j4

    xmul2=g(j4,j1)

    dummyx=dummyx+xmul2*(x(j3-2)-x(j2-2))

    dummyy=dummyy+xmul2*(x(j3-1)-x(j2-1))

    dummyz=dummyz+xmul2*(x(j3) -x(j2))

    enddo

    v(j3-2)=dummyx

    v(j3-1)=dummyy

    v(j3)=dummyz

    enddo

    end

    LJ potential : energy, gradient

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    make clean

    make

    cd ../work1

    ../string_m_lj.x

    ../string_m_lj.x

    xmgrace fort.34

    cp fort.8 test.xyz

    xmakemol -f test.xyz

    control --> frames --> start

    control --> frames --> make anim

    ls *.xpm -ltra

    convert lj7.1.xpm lj7_001.jpg

    convert lj7.2.xpm lj7_002.jpg

    convert lj7.3.xpm lj7_003.jpg

    .....

    Use Windows Live Movie Maker

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    program string_driver

    ! Written by In-Ho Lee, KRISS, December 22 (2011); based on W. Ren's string programs in fortran 77.

    USE string, ONLY : initial,final,mvtan,mvper,print_intermediate

    implicit none

    real*8 dt,error

    integer ic

    dt=0.0004d0

    dt=1.0d-7

    call initial(dt)

    !

    ic=0

    100 continue

    ic=ic+1

    if(mod(ic,10).eq.1) then

    call mvtan

    endif

    call mvper(dt,error)

    if(mod(ic,10).eq.1) then

    write(*,*) 'ic=',ic, ' error =',error

    endif

    if(mod(ic,1000).eq.0) then

    call print_intermediate

    endif

    if(error.lt.1.e-6) then

    goto 101

    else

    if(ic > 1000000)then

    write(6,*) 'ic=',ic, ' error =',error

    goto 101

    endif

    endif

    goto 100

    101 continue

    call final

    !

    stop

    end program string_driver

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    subroutine rmarin(ij,kl)

    ! This subroutine and the next function generate random numbers. See

    ! the comments for SA for more information. The only changes from the

    ! orginal code is that (1) the test to make sure that RMARIN runs first

    ! was taken out since SA assures that this is done (this test didn't

    ! compile under IBM's VS Fortran) and (2) typing ivec as integer was

    ! taken out since ivec isn't used. With these exceptions, all following

    ! lines are original.

    ! This is the initialization routine for the random number generator

    ! RANMAR()

    ! NOTE: The seed variables can have values between: 0

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    Simulation details

    No extended atoms, no constraints on bonds &

    angles

    AMBER94 (http://dasher.wustl.edu/tinker)

    atomistic simulation in implicit solvents

    Generalized Born solvation model

    TINKER 3.8

    TINKER 4.2

    TINKER 5.0

    TINKER 6.0

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    .seq

    .key

    .xyz

    .pdb

    protein.x

    newton.x

    pdbxyz.x

    xyzpdb.x

    minimize.x

    superpose.x

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    MPI/FORTRAN 90

    RS/6000 SP: Practical MPI Programming An IBM Redbooks publication

    Yukiya Aoyama and Jun Nakano

    http://www.redbooks.ibm.com/abstracts/sg245380.html

    포트란 및 MPI 레퍼런스, 인터넷

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    FORTRAN 90

    Fortran 90

    A Conversion Course for Fortran 77 Programmers (The University of Manchester)

    The University of Liverpool

    Fortran 90 course notes

    두 개의 포트란 90 레퍼런스, 인터넷

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    http://incredible.egloos.com

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

  • The 11th KIAS Protein Folding Winter School, HIGH1 Resort, February 6-10, 2012

    References • Allen and Tildesley, Computer simulation of liquids • Haile, Molecular dynamics simulation • Frenkel and Smit, Understanding molecular simulation • Landau and Binder, A guide to Monte Carlo simulations in

    statistical physics • Rapaport, The art of molecular dynamics simulation • Newman and Barkema, Monte Carlo methods in statistical

    physics • http://dasher.wustl.edu/tinker • http://www.ccp5.ac.uk/ • http://www.expasy.org/swissmod/course/course-index.htm


Recommended