Changeset cb47b9c
- Timestamp:
- 11/19/09 11:29:16 (14 years ago)
- Branches:
- master
- Children:
- 2d5d396
- Parents:
- ffd2d46
- Files:
-
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
addend.f
rffd2d46 rcb47b9c 28 28 character res*4,rpat*4,sbrs*4,grn*4,grc*4 29 29 30 integer nml 31 32 integer i, ifirs, ilars 33 34 double precision cg 30 35 31 36 grn = grpn … … 170 175 character rpat*4,sbrs*4 171 176 logical ntbb,bb 177 integer nml, nrs, ibd, iybd 172 178 173 179 dimension ibd(mxbd+1),iybd(mxbd+1) 174 175 180 181 integer iopfil, iendst 182 183 double precision valang, dihedr 184 185 integer ish, i, i1, irng1, irng2, ilavr, ilaat, i2, i3, ibdrg, 186 & ib, iat, ifirs, ifivr, ii, iow, isgbb1, ity, nfi, ilars, 187 & ivrrp, ivrsb, jsh, j, iybdrg, k, lvrrp, nb, natsb, nla, 188 & nfirp, nxt, nsb, nlarp, nfisb, nlasb, nrp, nsh, 189 & nvrsb, nxtbb1, nxtbb2, nxtsb 190 double precision ba, ca, ct, dx, dz, h3, h2, sa, st,to, x1, x2, 191 & x3, y1, y2, y3, z1, z2, z3 192 176 193 ifirs=irsml1(nml) 177 194 ilars=irsml2(nml) … … 638 655 639 656 character rpat*4,sbrs*4,atnm*4,res*4,cgty*5,line*100 657 integer nml, nrs 658 659 integer iopfil, iendst 660 661 integer ifirs, ilars, ifvr, ilib, i, l, j, nchg 640 662 641 663 ifirs=irsml1(nml) -
bgs.f
rffd2d46 rcb47b9c 8 8 ! **************************************************************** 9 9 10 ! Subroutine initlund: Initializes data structures used frequently11 ! in connection with Biased Gaussian Steps and the energy functions12 ! from Anders Irback's protein folding model. Calls: none.13 !14 subroutine init_lund15 include 'INCL.H'16 include 'incl_lund.h'17 logical bgsposs18 do i=1,mxrs19 iN(i)=-120 iCa(i)=-121 iC(i)=-122 iphi(i)=-3423 ipsi(i)=-3524 enddo25 ! print *,'total number of variables = ',nvr26 27 do i=1,ntlml28 npprs=129 do j=ivrml1(i),ivrml1(i)+nvrml(i)-130 mlvr(j)=i31 if (nmvr(j).eq.'phi') then32 iphi(npprs)=j33 ! Now if the residue is a proline, there is no phi angle in the variable34 ! list in SMMP, and so iphi(j) will remain at the initial value.35 ! So, make sure you never use iphi(i) for proline.36 endif37 if (nmvr(j).eq.'psi'.or.nmvr(j).eq.'pst') then38 ipsi(npprs)=j39 npprs=npprs+140 endif41 enddo42 do j=irsml1(i),irsml2(i)43 iN(j)=iatrs1(j)44 do k=iatrs1(j),iatrs2(j)45 if (nmat(k)(1:2).eq.'ca') then46 iCa(j)=k47 endif48 if (nmat(k)(1:1).eq.'c') then49 iC(j)=k50 endif51 enddo52 ! print *,'determined phi,psi serial for residue',j,' as '53 ! # ,iphi(j),ipsi(j)54 enddo55 enddo56 abgs=300.057 bbgs=10.058 bgsnvar=059 do i=1,nvr60 if (bgsposs(i)) then61 bgsnvar=bgsnvar+162 bgsvar(bgsnvar)=i63 endif64 enddo65 end66 10 67 11 ! Checks if it is possible to perform a BGS update starting at the -
bldmol.f
rffd2d46 rcb47b9c 29 29 30 30 include 'INCL.H' 31 31 ! Subroutine arguments 32 integer nml 33 34 integer i, i1, i2, i3, ifirs, jow, j, jj 35 double precision x1, x2, x3, y1, y2, y3, z1, z2, z3 36 37 double precision xg, zg 32 38 dimension xg(3),zg(3) 33 39 … … 97 103 98 104 include 'INCL.H' 99 105 ! arguments 106 integer nml, i1, i2, i3 107 108 integer ibd, i, irs, ix 100 109 dimension ibd(4) 101 110 logical bb … … 178 187 179 188 include 'INCL.H' 180 189 ! arguments 190 integer i, ia 191 double precision ct, st, ca, sa, bl, x1, x2, x3, z1, z2, z3 192 double precision y1, y2, y3, h2, h3, dx, dz 193 181 194 ct=cstoat(i) 182 195 st=sntoat(i) … … 249 262 250 263 include 'INCL.H' 251 264 ! arguments 265 integer i1, i2, i3 266 double precision x1, x2, x3, y1, y2, y3, z1, z2, z3, h1, h2, h3 267 double precision dz, dx 268 252 269 h1=xat(i2) 253 270 h2=yat(i2) … … 308 325 309 326 include 'INCL.H' 310 327 ! arguments 328 integer nml, i1, i2, i3 329 double precision xg, zg, ag 311 330 dimension xg(3),zg(3),ag(3,3) 312 331 332 integer i 333 double precision ca, sa, cb,sb, cg, sg, d, ct2, ct3, dx, dz 334 double precision x1, x2, x3, y1, y2, y3, z1, z2, z3, st2, sa2, st3 313 335 314 336 ca = cos(gbpr(4,nml)) ! alpha -
canon.f
rffd2d46 rcb47b9c 40 40 integer nmes 41 41 ! temp: Temperature of simulation 42 double precision temp 42 double precision temp, e_min 43 43 ! 44 44 ! common/bet/beta … … 63 63 64 64 eol = energy() 65 e_min = eol 65 66 write (*,'(a,e12.5,/)') 'energy of start configuration:',eol 66 67 … … 79 80 do nsw=0,nswp 80 81 call metropolis(eol,acz,can_weight) 82 if (eol.lt.e_min) then 83 write (*,*) "New minimum energy:", eol, "t=", nsw 84 write (*,*) eyel,eyhb,eyvr,eysl 85 e_min = eol 86 call outpdb(0, "minen.pdb") 87 endif 81 88 ! 82 89 if(mod(nsw,nmes).eq.0) then … … 96 103 end do 97 104 ! Write down information on actual conformation 98 write(13,'(i5,2f12.3,5i7)') nsw, eol, rgy, 99 & nhel,mhel,nbet,mbet,mhb 105 write(13,'(i7,2f15.3,5i7,4f15.3)') nsw, eol, rgy, 106 & nhel,mhel,nbet,mbet,mhb, 107 & eyel,eyhb,eyvr,eysl 100 108 end if 101 109 ! -
dihedr.f
rffd2d46 rcb47b9c 22 22 23 23 include 'INCL.H' 24 25 integer i1, i2, i3, i4 26 27 double precision x1, y1, z1, x2, y2, z2, ux1,uy1, uz1, a, u, u1, 28 & u2, ux2, uy2, uz2 24 29 25 30 x1=xat(i2)-xat(i1) … … 77 82 78 83 include 'INCL.H' 84 85 integer i1, i2, i3 86 87 double precision h1, h2, h3, x1, x2, x3, y1, y2, y3, x, y, u, a 88 79 89 h1=xat(i2) 80 90 h2=yat(i2) -
enyflx.f
rffd2d46 rcb47b9c 22 22 23 23 include 'INCL.H' 24 25 integer nml 26 27 integer ntlvr, i, i14, i1, i1s, i2, i2s, ia, ic, ijhb, ifivr, 28 & ims, io, iowh, it, jowh, ity, iv, ivw, j, jty 29 double precision cqi, cth, qp, e0, evw, vr, ep, rij, py, px, pz, 30 & rij2, rij6, rij12, sr, xij, xi, yij, xj, yj, yi, 31 & zj, zi, zij 24 32 25 33 ntlvr=nvrml(nml) -
enysol.f
rffd2d46 rcb47b9c 25 25 ! ------------------------------------------------------------- 26 26 ! TODO: Check the solvent energy for multiple molecules 27 ! arguments 28 integer nmol 29 30 ! functions 31 integer nursat 32 33 integer numbox, inbox, indsort, look, i, ii, ia, ib, ibox, icount 34 integer ilk, il, ik, ix, iy, iz, j, jy, jbox, jbi, jres, jj, jcnt 35 integer jtk, jx, jz, lbn, lst, mhx, mx, nsy, ndy, mz, my, nboxj 36 integer ndx, ncbox, nbt, nez, ndz, nex, ney, nlow, nhx, nnei 37 integer nrshi, nqxy, nrslow, mbt, nsx, nsz, numat, nup 38 double precision xyz, radb, radb2, ymin, diamax, area, akrad 39 double precision avr_x, avr_y, avr_z, dd, dr, dx, dy, dz, sizex 40 double precision rmax, shiftx, shifty, shiftz, sizey, sizez 41 double precision sizes, trad, zmin, xmax, xmin, ymax, zmax 42 double precision sdr, sdd, volume 43 27 44 dimension numbox(mxat),inbox(mxbox+1),indsort(mxat),look(mxat) 28 45 dimension xyz(mxinbox,3),radb(mxinbox),radb2(mxinbox) … … 323 340 include 'INCL.H' 324 341 character lin*80 325 342 integer i 326 343 ! Skipping comment lines, which begin with '!' 327 344 read(20,'(a)') lin -
getmol.f
rffd2d46 rcb47b9c 38 38 39 39 include 'INCL.H' 40 40 ! arguments 41 integer nml 42 ! functions 43 integer iopfil, iendst 44 45 integer i, iat, iow, ifirs, ibd, ilars, j, mvr, nbd, n, nbd1, nj 46 integer nh, nrs, ntlat, ntlvr, nat, nxt 47 double precision ba, t, to 41 48 character res*4 42 49 … … 270 277 271 278 include 'INCL.H' 272 279 ! arguments 280 integer nat, nxt, nvrr 281 282 ! functions 283 integer iendst 284 285 integer icl, ibd, ib3, i, ib1, ib2, ic, iow, iexcp, ity, jow, lg 286 integer nln, j 273 287 dimension icl(3),ibd(mxbd) 274 288 character blnk,fix(3),nm(3)*3,res*4,resl*4,line*132 275 289 data blnk/' '/ 276 290 291 double precision ba, to 277 292 278 293 nln=0 -
incl_lund.h
rffd2d46 rcb47b9c 31 31 dimension asaexv(mxtyat,mxtyat),bsaexv(mxtyat,mxtyat) 32 32 33 common /lundff/kbias, 34 & epshb1,epshb2,powa,powb,sighb,cthb, 35 & cthb2, 36 & alhb,blhb,sighb2,cdon,cacc,casc, 37 & ihpat,nhpat,hpstrg, 38 & exvk,exvcut,exvcut2, 39 & matcon, 40 & sigsa,sig2lcp,asalcp,bsalcp, 41 & lcp1,lcp2,ilpst,ilpnd, 42 & exvlam,exvcutg,exvcutg2, 43 & sig2exv,asaexv,bsaexv 33 common /lundff/kbias, & 34 & epshb1,epshb2,powa,powb,sighb,cthb, & 35 & cthb2, & 36 & alhb,blhb,sighb2,cdon,cacc,casc, & 37 & ihpat,nhpat,hpstrg, & 38 & exvk,exvcut,exvcut2, & 39 & matcon, & 40 & sigsa,sig2lcp,asalcp,bsalcp, & 41 & lcp1,lcp2,ilpst,ilpnd, & 42 & exvlam,exvcutg,exvcutg2, & 43 & sig2exv,asaexv,bsaexv 44 44 save /lundff/ -
init_molecule.f
rffd2d46 rcb47b9c 32 32 include 'INCP.H' 33 33 34 !f2py character*80 optional, intent(in) :: seqfile = ' '35 !f2py character*80 optional, intent(in) :: varfile = ' '34 Cf2py character*80 optional, intent(in) :: seqfile = ' ' 35 Cf2py character*80 optional, intent(in) :: varfile = ' ' 36 36 37 37 character grpn*4,grpc*4 -
main.f
rffd2d46 rcb47b9c 25 25 character grpn*4,grpc*4 26 26 logical lrand,bgsposs 27 integer argc, status, argv_length 28 character(len=255) :: argv 27 29 28 30 ! =================================================== Energy setup … … 32 34 ! libraries of residues. 33 35 libdir='./SMMP/' 36 37 ! Set the maximum log level. The larger the number the more detailed 38 ! the log. 39 MAXLOGLEVEL = 1 40 ! File unit to use for the log file. 41 LOGFILEUNIT = 27 42 open(LOGFILEUNIT, file="smmp.log") 34 43 35 44 ! The switch in the following line is now not used. … … 62 71 ! =1: ab Initio from sequence (& variables) 63 72 seqfile='EXAMPLES/enkefa.seq' 64 varfile='EXAMPLES/enkefa. var'73 varfile='EXAMPLES/enkefa.ann' 65 74 ! varfile = ' ' 66 75 … … 95 104 eps = 1.0d-7 ! requested precision 96 105 call minim(imin, maxit, eps) 106 call outvar(0, ' ') 97 107 ! To do a canonical Monte Carlo simulation uncomment the lines below 98 108 ! nequi = 100 -
mklist.f
rffd2d46 rcb47b9c 19 19 ! TODO: Calculate van-der-Waals regions over all molecules. 20 20 include 'INCL.H' 21 21 integer nml 22 23 integer mxh, mx2, l1st1, l1st2, l2nd1, l2nd2, l1i, l2i 22 24 parameter (mxh=50, ! max. # of atom regions 23 25 & mx2=50) … … 27 29 dimension l1st1(mxh),l1st2(mxh),l2nd1(mxh),l2nd2(mxh) 28 30 & ,l1i(mxbd),l2i(mx2) 31 32 integer ia, i, i1s, i2s, ibd, ib, ifivr, ifiat, ilaat, im, ilavr, 33 & iob, io, ioiob, iow, it, is, iv, jbd, j, n1i, n14, n1st, 34 & n2nd, n2i, ntlms, nvw 29 35 30 36 ! _______________________ indices of 1st vdw-region/14-partner for 'nml' -
mulcan_par_mod.f90
rffd2d46 rcb47b9c 239 239 ! File with contact map of reference configuration 240 240 ! FIXME: This must go. Reference structure needs to be read in main() 241 open(9,file=' enkefa.ref')241 open(9,file='1vp.ref') 242 242 ! File with multicanonical parameter 243 243 open(10,file='muca.d') -
redseq.f
rffd2d46 rcb47b9c 28 28 include 'INCL.H' 29 29 30 ! Function definitions 31 integer iofil, iendst, ibegst, iopfil 32 30 33 character blnk,res*4,line*132,hlin*132 34 integer i, i1, i2, ifirs, ie, id, ib, ic, ii, l, lg, nln, nrs 31 35 data blnk/' '/ 32 36 -
redstr.f
rffd2d46 rcb47b9c 26 26 ! CALLS: ibegst,iendst 27 27 ! .......................................................... 28 29 implicit integer*4 (i-n) 30 28 integer ib, ie, l 31 29 character spr,blnk,str*(*),strn*(*) 30 32 31 data blnk/' '/ 32 33 integer i, ic, ish, ii 33 34 34 35 if (spr.eq.blnk) then … … 234 235 235 236 character*(*) str 236 237 238 integer ibegst, iendst 239 240 integer i, ic, ii, ish 237 241 ii=ibegst(str) 238 242 if (ii.gt.0) then … … 258 262 259 263 character str*(*) 264 265 integer iendst, ibegst 266 267 integer i, ii, ic, ish 260 268 261 269 ii=ibegst(str) … … 283 291 ! ........................................................ 284 292 285 i mplicit integer*4 (i-n)293 integer lun 286 294 287 295 logical exs -
redvar.f
rffd2d46 rcb47b9c 70 70 include 'INCL.H' 71 71 72 ! functions 73 integer iopfil, iendst, iredin, iredrl, ibegst 72 74 ! maxfld: max. # of fields in one command 73 75 ! maxide: max. # of identifiers in a field … … 75 77 ! ilrg: a large integer 76 78 79 integer maxfld, maxide, maxcmd, ilrg, ifdend, icb, i, ib, ibz 80 integer ife, ifb, ide, id, ice, ie, ieh, ieh1, iez, ihz, ifx, ifld 81 integer ile, ii, ihy, ilb, iml, it, in ,io, inum, kbz, iv, ity, jb 82 integer j, k, l, kez, kk, kv, lez, lbz,ll, ll1, ll2, n, nfi, ncmd 83 integer nfld, nide, nml, ntlvr 84 double precision vlvrx, rn, vr, val 77 85 parameter (maxfld=4, 78 86 & maxide=30, -
regul.f
rffd2d46 rcb47b9c 44 44 & ' Wt(energy) = ',wtey,' Wt(regul.) = ',wtrg 45 45 46 call minim( 1, nsteps, acc)46 call minim(2, nsteps, acc) 47 47 48 48 write(*,*) ' ' -
setmvs.f
rffd2d46 rcb47b9c 47 47 48 48 include 'INCL.H' 49 ! ID of molecule 50 integer nml 51 52 integer nursvr 49 53 50 54 logical bb 51 55 integer mxh, lvw1h, lvw2h, l1h, l2h 52 56 parameter (mxh=10) 53 57 dimension lvw1h(mxh),lvw2h(mxh),l1h(mxh),l2h(mxh) 54 58 59 integer ifivr, i, i1, ia, ib, ic, ifirs, ifiat, ko, ilaat, ii, 60 & ilars, ilavr, io, ir, irg1, is, it, iv, j, k, j1, jns, 61 & j2, j1s, ja, jb, jv, jo, l, i2, irg2, n, nad, nms, 62 & ntlvr 55 63 56 64 ntlvr=nvrml(nml) … … 418 426 include 'INCL.H' 419 427 428 integer nml, nrs, ifirg, ilarg, irg1, irg2 429 420 430 logical bb 431 integer ibd 421 432 dimension ibd(4) 422 433 434 integer i, ib, ila, ifi, il, ixt, k, j, jb 435 423 436 ilarg=ifirg 424 437 -
setvar.f
rffd2d46 rcb47b9c 23 23 24 24 include 'INCL.H' 25 Cf2py intent(in) nml, vlvrx 26 integer nml 27 double precision vlvrx 28 dimension vlvrx(mxvr) 29 30 ! functions 31 double precision difang 25 32 26 dimension vlvrx(mxvr) 33 integer i, iat,ity, iow, j, jat, i1vr 34 double precision ba, to, tsh 35 27 36 28 37 i1vr=ivrml1(nml) -
utilities.f
rffd2d46 rcb47b9c 168 168 ! End fileNameMP 169 169 170 171 !---------------------------------------------------------------------- 172 ! Add messages to log. This routine takes the log (debugging) mes- 173 ! sages and writes them to the log file if the log level is less or 174 ! equal to the maximum log level given by the global variable 175 ! MAXLOGLEVEL. 176 ! 177 ! @author Jan H. Meinke 178 ! 179 ! @param loglevel level at which this message should be added to 180 ! the log. 181 ! @param message message to be written to the log. 182 ! @param rank global rank of this node if running an MPI job zero 183 ! otherwise. 184 !---------------------------------------------------------------------- 185 subroutine addLogMessage(loglevel, message, rank) 186 187 integer :: loglevel, rank 188 character(LEN=*) :: message 189 190 if (loglevel <= MAXLOGLEVEL) then 191 write(LOGFILEUNIT, *) message 192 end if 193 194 end subroutine addLogMessage
Note:
See TracChangeset
for help on using the changeset viewer.