1. Introduction 2. NEB/STRING 3. ADMD 4. Numerical...
Transcript of 1. Introduction 2. NEB/STRING 3. ADMD 4. Numerical...
-
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