1 subroutine parmread(iparm,*)
3 C Read the parameters of the probability distributions of the virtual-bond
4 C valence angles and the side chains and energy parameters.
6 implicit real*8 (a-h,o-z)
8 include 'DIMENSIONS.ZSCOPT'
9 include 'DIMENSIONS.FREE'
10 include 'COMMON.IOUNITS'
11 include 'COMMON.CHAIN'
12 include 'COMMON.INTERACT'
14 include 'COMMON.LOCAL'
15 include 'COMMON.TORSION'
16 include 'COMMON.FFIELD'
17 include 'COMMON.NAMES'
18 include 'COMMON.SBRIDGE'
19 include 'COMMON.WEIGHTS'
20 include 'COMMON.ENEPS'
21 include 'COMMON.SCCOR'
22 include 'COMMON.SCROT'
25 character*1 onelett(4) /"G","A","P","D"/
27 dimension blower(3,3,maxlob)
28 character*800 controlcard
29 character*256 bondname_t,thetname_t,rotname_t,torname_t,
30 & tordname_t,fouriername_t,elename_t,sidename_t,scpname_t,
36 double precision ip,mp
40 C Set LPRINT=.TRUE. for debugging
41 dwa16=2.0d0**(1.0d0/6.0d0)
44 C Assign virtual-bond length
48 call card_concat(controlcard,.true.)
51 key = wname(i)(:ilen(wname(i)))
52 call reada(controlcard,key(:ilen(key)),ww(i),1.0d0)
54 call reada(controlcard,"D0CM",d0cm,3.78d0)
55 call reada(controlcard,"AKCM",akcm,15.1d0)
56 call reada(controlcard,"AKTH",akth,11.0d0)
57 call reada(controlcard,"AKCT",akct,12.0d0)
58 call reada(controlcard,"V1SS",v1ss,-1.08d0)
59 call reada(controlcard,"V2SS",v2ss,7.61d0)
60 call reada(controlcard,"V3SS",v3ss,13.7d0)
61 call reada(controlcard,"EBR",ebr,-5.50D0)
62 c dyn_ss=(index(controlcard,'DYN_SS').gt.0)
63 write (iout,*) "iparm",iparm," myparm",myparm
65 c dyn_ss_mask(i)=.false.
69 dyn_ssbond_ij(i,j)=1.0d300
72 call reada(controlcard,"HT",Ht,0.0D0)
74 c if(me.eq.king.or..not.out1file) then
75 c print *,'indpdb=',indpdb,' pdbref=',pdbref
77 c If reading not own parameters, skip assignment
78 cc write(iout,*) "KURWA", ww(15)
79 if (iparm.eq.myparm .or. .not.separate_parset) then
82 c Setup weights for UNRES
104 cc write(iout,*) "KURWA", wstrain,akcm,akth,wsc,dyn_ss
106 call card_concat(controlcard,.false.)
108 c Return if not own parameters
110 if (iparm.ne.myparm .and. separate_parset) return
112 call reads(controlcard,"BONDPAR",bondname_t,bondname)
113 open (ibond,file=bondname_t,status='old')
115 call reads(controlcard,"THETPAR",thetname_t,thetname)
116 open (ithep,file=thetname_t,status='old')
118 call reads(controlcard,"ROTPAR",rotname_t,rotname)
119 open (irotam,file=rotname_t,status='old')
121 call reads(controlcard,"TORPAR",torname_t,torname)
122 open (itorp,file=torname_t,status='old')
124 call reads(controlcard,"TORDPAR",tordname_t,tordname)
125 open (itordp,file=tordname_t,status='old')
127 call reads(controlcard,"SCCORAR",sccorname_t,sccorname)
128 open (isccor,file=sccorname_t,status='old')
130 call reads(controlcard,"FOURIER",fouriername_t,fouriername)
131 open (ifourier,file=fouriername_t,status='old')
133 call reads(controlcard,"ELEPAR",elename_t,elename)
134 open (ielep,file=elename_t,status='old')
136 call reads(controlcard,"SIDEPAR",sidename_t,sidename)
137 open (isidep,file=sidename_t,status='old')
139 call reads(controlcard,"SCPPAR",scpname_t,scpname)
140 open (iscpp,file=scpname_t,status='old')
142 write (iout,*) "Parameter set:",iparm
143 write (iout,*) "Energy-term weights:"
145 write (iout,'(a16,f10.5)') wname(i),ww(i)
147 write (iout,*) "Sidechain potential file : ",
148 & sidename_t(:ilen(sidename_t))
150 write (iout,*) "SCp potential file : ",
151 & scpname_t(:ilen(scpname_t))
153 write (iout,*) "Electrostatic potential file : ",
154 & elename_t(:ilen(elename_t))
155 write (iout,*) "Cumulant coefficient file : ",
156 & fouriername_t(:ilen(fouriername_t))
157 write (iout,*) "Torsional parameter file : ",
158 & torname_t(:ilen(torname_t))
159 write (iout,*) "Double torsional parameter file : ",
160 & tordname_t(:ilen(tordname_t))
161 write (iout,*) "Backbone-rotamer parameter file : ",
162 & sccorname(:ilen(sccorname))
163 write (iout,*) "Bond & inertia constant file : ",
164 & bondname_t(:ilen(bondname_t))
165 write (iout,*) "Bending parameter file : ",
166 & thetname_t(:ilen(thetname_t))
167 write (iout,*) "Rotamer parameter file : ",
168 & rotname_t(:ilen(rotname_t))
171 c Read the virtual-bond parameters, masses, and moments of inertia
172 c and Stokes' radii of the peptide group and side chains
175 read (ibond,*) vbldp0,akp
178 read (ibond,*) vbldsc0(1,i),aksc(1,i)
179 dsc(i) = vbldsc0(1,i)
183 dsc_inv(i)=1.0D0/dsc(i)
187 read (ibond,*) ijunk,vbldp0,akp,rjunk
189 read (ibond,*) nbondterm(i),(vbldsc0(j,i),aksc(j,i),abond0(j,i),
191 dsc(i) = vbldsc0(1,i)
195 dsc_inv(i)=1.0D0/dsc(i)
200 write(iout,'(/a/)')"Force constants virtual bonds:"
201 write (iout,'(a10,a3,6a10)') 'Type','N','VBL','K',
203 write(iout,'(a10,i3,6f10.5)') "p",1,vbldp0,akp,0.0d0
205 write (iout,'(a10,i3,6f10.5)') restyp(i),nbondterm(i),
206 & vbldsc0(1,i),aksc(1,i),abond0(1,i)
208 write (iout,'(13x,3f10.5)')
209 & vbldsc0(j,i),aksc(j,i),abond0(j,i)
215 C Read the parameters of the probability distribution/energy expression
216 C of the virtual-bond valence angles theta
219 read (ithep,*) a0thet(i),(athet(j,i),j=1,2),(bthet(j,i),j=1,2)
220 read (ithep,*) (polthet(j,i),j=0,3)
221 read (ithep,*) (gthet(j,i),j=1,3)
222 read (ithep,*) theta0(i),sig0(i),sigc0(i)
228 c & 'Parameters of the virtual-bond valence angles:'
229 c write (iout,'(/a/9x,5a/79(1h-))') 'Fourier coefficients:',
230 c & ' ATHETA0 ',' A1 ',' A2 ',
233 c write(iout,'(a3,i4,2x,5(1pe14.5))') restyp(i),i,
234 c & a0thet(i),(athet(j,i),j=1,2),(bthet(j,i),j=1,2)
236 c write (iout,'(/a/9x,5a/79(1h-))')
237 c & 'Parameters of the expression for sigma(theta_c):',
238 c & ' ALPH0 ',' ALPH1 ',' ALPH2 ',
239 c & ' ALPH3 ',' SIGMA0C '
241 c write (iout,'(a3,i4,2x,5(1pe14.5))') restyp(i),i,
242 c & (polthet(j,i),j=0,3),sigc0(i)
244 c write (iout,'(/a/9x,5a/79(1h-))')
245 c & 'Parameters of the second gaussian:',
246 c & ' THETA0 ',' SIGMA0 ',' G1 ',
249 c write (iout,'(a3,i4,2x,5(1pe14.5))') restyp(i),i,theta0(i),
250 c & sig0(i),(gthet(j,i),j=1,3)
253 & 'Parameters of the virtual-bond valence angles:'
254 write (iout,'(/a/9x,5a/79(1h-))')
255 & 'Coefficients of expansion',
256 & ' theta0 ',' a1*10^2 ',' a2*10^2 ',
257 & ' b1*10^1 ',' b2*10^1 '
259 write(iout,'(a3,1h&,2x,5(f8.3,1h&))') restyp(i),
260 & a0thet(i),(100*athet(j,i),j=1,2),(10*bthet(j,i),j=1,2)
262 write (iout,'(/a/9x,5a/79(1h-))')
263 & 'Parameters of the expression for sigma(theta_c):',
264 & ' alpha0 ',' alph1 ',' alph2 ',
265 & ' alhp3 ',' sigma0c '
267 write (iout,'(a3,1h&,2x,5(1pe12.3,1h&))') restyp(i),
268 & (polthet(j,i),j=0,3),sigc0(i)
270 write (iout,'(/a/9x,5a/79(1h-))')
271 & 'Parameters of the second gaussian:',
272 & ' theta0 ',' sigma0*10^2 ',' G1*10^-1',
275 write (iout,'(a3,1h&,2x,5(f8.3,1h&))') restyp(i),theta0(i),
276 & 100*sig0(i),gthet(1,i)*0.1D0,gthet(2,i),gthet(3,i)*10.0D0
281 C Read the parameters of Utheta determined from ab initio surfaces
282 C Kozlowska et al., J. Phys.: Condens. Matter 19 (2007) 285203
284 read (ithep,*) nthetyp,ntheterm,ntheterm2,
285 & ntheterm3,nsingle,ndouble
286 nntheterm=max0(ntheterm,ntheterm2,ntheterm3)
287 read (ithep,*) (ithetyp(i),i=1,ntyp1)
293 aathet(l,i,j,k)=0.0d0
297 bbthet(m,l,i,j,k)=0.0d0
298 ccthet(m,l,i,j,k)=0.0d0
299 ddthet(m,l,i,j,k)=0.0d0
300 eethet(m,l,i,j,k)=0.0d0
306 ffthet(mm,m,l,i,j,k)=0.0d0
307 ggthet(mm,m,l,i,j,k)=0.0d0
317 read (ithep,'(3a)') res1,res2,res3
318 read (ithep,*) aa0thet(i,j,k)
319 read (ithep,*)(aathet(l,i,j,k),l=1,ntheterm)
321 & ((bbthet(lll,ll,i,j,k),lll=1,nsingle),
322 & (ccthet(lll,ll,i,j,k),lll=1,nsingle),
323 & (ddthet(lll,ll,i,j,k),lll=1,nsingle),
324 & (eethet(lll,ll,i,j,k),lll=1,nsingle),ll=1,ntheterm2)
326 & (((ffthet(llll,lll,ll,i,j,k),ffthet(lll,llll,ll,i,j,k),
327 & ggthet(llll,lll,ll,i,j,k),ggthet(lll,llll,ll,i,j,k),
328 & llll=1,lll-1),lll=2,ndouble),ll=1,ntheterm3)
333 C For dummy ends assign glycine-type coefficients of theta-only terms; the
334 C coefficients of theta-and-gamma-dependent terms are zero.
339 aathet(l,i,j,nthetyp+1)=aathet(l,i,j,1)
340 aathet(l,nthetyp+1,i,j)=aathet(l,1,i,j)
342 aa0thet(i,j,nthetyp+1)=aa0thet(i,j,1)
343 aa0thet(nthetyp+1,i,j)=aa0thet(1,i,j)
346 aathet(l,nthetyp+1,i,nthetyp+1)=aathet(l,1,i,1)
348 aa0thet(nthetyp+1,i,nthetyp+1)=aa0thet(1,i,1)
351 C Control printout of the coefficients of virtual-bond-angle potentials
354 write (iout,'(//a)') 'Parameter of virtual-bond-angle potential'
358 write (iout,'(//4a)')
359 & 'Type ',onelett(i),onelett(j),onelett(k)
360 write (iout,'(//a,10x,a)') " l","a[l]"
361 write (iout,'(i2,1pe15.5)') 0,aa0thet(i,j,k)
362 write (iout,'(i2,1pe15.5)')
363 & (l,aathet(l,i,j,k),l=1,ntheterm)
365 write (iout,'(//2h m,4(9x,a,3h[m,i1,1h]))')
366 & "b",l,"c",l,"d",l,"e",l
368 write (iout,'(i2,4(1pe15.5))') m,
369 & bbthet(m,l,i,j,k),ccthet(m,l,i,j,k),
370 & ddthet(m,l,i,j,k),eethet(m,l,i,j,k)
374 write (iout,'(//3hm,n,4(6x,a,5h[m,n,i1,1h]))')
375 & "f+",l,"f-",l,"g+",l,"g-",l
378 write (iout,'(i1,1x,i1,4(1pe15.5))') n,m,
379 & ffthet(n,m,l,i,j,k),ffthet(m,n,l,i,j,k),
380 & ggthet(n,m,l,i,j,k),ggthet(m,n,l,i,j,k)
393 C Read the parameters of the probability distribution/energy expression
394 C of the side chains.
397 read (irotam,'(3x,i3,f8.3)') nlob(i),dsc(i)
401 dsc_inv(i)=1.0D0/dsc(i)
412 read(irotam,*)(censc(k,1,i),k=1,3),((blower(k,l,1),l=1,k),k=1,3)
414 read (irotam,*) bsc(j,i)
415 read (irotam,*) (censc(k,j,i),k=1,3),
416 & ((blower(k,l,j),l=1,k),k=1,3)
423 akl=akl+blower(k,m,j)*blower(l,m,j)
434 write (iout,'(/a)') 'Parameters of side-chain local geometry'
438 write (iout,'(/3a,i2,a,f8.3)') 'Residue type: ',restyp(i),
439 & ' # of gaussian lobes:',nlobi,' dsc:',dsc(i)
440 c write (iout,'(/a,8x,i1,4(25x,i1))') 'Lobe:',(j,j=1,nlobi)
441 c write (iout,'(a,f10.4,4(16x,f10.4))')
442 c & 'Center ',(bsc(j,i),j=1,nlobi)
443 c write (iout,'(5(2x,3f8.4))') ((censc(k,j,i),k=1,3),j=1,nlobi)
444 write (iout,'(1h&,a,3(2h&&,f8.3,2h&&))')
445 & 'log h',(bsc(j,i),j=1,nlobi)
446 write (iout,'(1h&,a,3(1h&,f8.3,1h&,f8.3,1h&,f8.3,1h&))')
447 & 'x',((censc(k,j,i),k=1,3),j=1,nlobi)
454 c blower(k,l,j)=gaussc(ind,j,i)
459 write (iout,'(2h& ,5(2x,1h&,3(f7.3,1h&)))')
460 & ((gaussc(k,l,j,i),l=1,3),j=1,nlobi)
467 C Read scrot parameters for potentials determined from all-atom AM1 calculations
468 C added by Urszula Kozlowska 07/11/2007
476 read(irotam,*) sc_parmin(j,i)
484 C Read torsional parameters in old format
486 read (itorp,*) ntortyp,nterm_old
487 write (iout,*) 'ntortyp,nterm',ntortyp,nterm_old
488 read (itorp,*) (itortyp(i),i=1,ntyp)
493 read (itorp,*) kk,v1(k,j,i),v2(k,j,i)
499 write (iout,'(/a/)') 'Torsional constants:'
502 write (iout,'(2i3,6f10.5)') i,j,(v1(k,i,j),k=1,nterm_old)
503 write (iout,'(6x,6f10.5)') (v2(k,i,j),k=1,nterm_old)
511 C Read torsional parameters
513 read (itorp,*) ntortyp
514 read (itorp,*) (itortyp(i),i=1,ntyp)
515 write (iout,*) 'ntortyp',ntortyp
518 read (itorp,*) nterm(i,j),nlor(i,j)
522 read (itorp,*) kk,v1(k,i,j),v2(k,i,j)
523 v0ij=v0ij+si*v1(k,i,j)
527 read (itorp,*) kk,vlor1(k,i,j),vlor2(k,i,j),vlor3(k,i,j)
528 v0ij=v0ij+vlor1(k,i,j)/(1+vlor3(k,i,j)**2)
535 write (iout,'(/a/)') 'Torsional constants:'
538 write (iout,*) 'ityp',i,' jtyp',j
539 write (iout,*) 'Fourier constants'
541 write (iout,'(2(1pe15.5))') v1(k,i,j),v2(k,i,j)
543 write (iout,*) 'Lorenz constants'
545 write (iout,'(3(1pe15.5))')
546 & vlor1(k,i,j),vlor2(k,i,j),vlor3(k,i,j)
552 C 6/23/01 Read parameters for double torsionals
557 read (itordp,'(3a1)') t1,t2,t3
558 if (t1.ne.onelett(i) .or. t2.ne.onelett(j)
559 & .or. t3.ne.onelett(k)) then
560 write (iout,*) "Error in double torsional parameter file",
562 stop "Error in double torsional parameter file"
564 read (itordp,*) ntermd_1(i,j,k),ntermd_2(i,j,k)
565 read (itordp,*) (v1c(1,l,i,j,k),l=1,ntermd_1(i,j,k))
566 read (itordp,*) (v1s(1,l,i,j,k),l=1,ntermd_1(i,j,k))
567 read (itordp,*) (v1c(2,l,i,j,k),l=1,ntermd_1(i,j,k))
568 read (itordp,*) (v1s(2,l,i,j,k),l=1,ntermd_1(i,j,k))
569 read (itordp,*) ((v2c(l,m,i,j,k),v2c(m,l,i,j,k),
570 & v2s(l,m,i,j,k),v2s(m,l,i,j,k),m=1,l-1),l=1,ntermd_2(i,j,k))
576 write (iout,*) 'Constants for double torsionals'
580 write (iout,*) 'ityp',i,' jtyp',j,' ktyp',k,
581 & ' nsingle',ntermd_1(i,j,k),' ndouble',ntermd_2(i,j,k)
583 write (iout,*) 'Single angles:'
584 do l=1,ntermd_1(i,j,k)
585 write (iout,'(i5,2f10.5,5x,2f10.5)') l,
586 & v1c(1,l,i,j,k),v1s(1,l,i,j,k),
587 & v1c(2,l,i,j,k),v1s(2,l,i,j,k)
590 write (iout,*) 'Pairs of angles:'
591 write (iout,'(3x,20i10)') (l,l=1,ntermd_2(i,j,k))
592 do l=1,ntermd_2(i,j,k)
593 write (iout,'(i5,20f10.5)')
594 & l,(v2c(l,m,i,j,k),m=1,ntermd_2(i,j,k))
597 write (iout,'(3x,20i10)') (l,l=1,ntermd_2(i,j,k))
598 do l=1,ntermd_2(i,j,k)
599 write (iout,'(i5,20f10.5)')
600 & l,(v2s(l,m,i,j,k),m=1,ntermd_2(i,j,k))
608 C Read of Side-chain backbone correlation parameters
609 C Modified 11 May 2012 by Adasko
612 read (isccor,*) nsccortyp
613 read (isccor,*) (isccortyp(i),i=1,ntyp)
614 c write (iout,*) 'ntortyp',ntortyp
616 cc maxinter is maximum interaction sites
620 read (isccor,*) nterm_sccor(i,j),nlor_sccor(i,j)
624 do k=1,nterm_sccor(i,j)
625 read (isccor,*) kk,v1sccor(k,l,i,j)
627 v0ijsccor=v0ijsccor+si*v1sccor(k,l,i,j)
630 do k=1,nlor_sccor(i,j)
631 read (isccor,*) kk,vlor1sccor(k,i,j),
632 & vlor2sccor(k,i,j),vlor3sccor(k,i,j)
633 v0ijsccor=v0ijsccor+vlor1sccor(k,i,j)/
634 &(1+vlor3sccor(k,i,j)**2)
636 v0sccor(i,j)=v0ijsccor
643 write (iout,'(/a/)') 'Torsional constants:'
646 write (iout,*) 'ityp',i,' jtyp',j
647 write (iout,*) 'Fourier constants'
648 do k=1,nterm_sccor(i,j)
649 write (iout,'(2(1pe15.5))')v1sccor(k,l,i,j),v2sccor(k,l,i,j)
651 write (iout,*) 'Lorenz constants'
652 do k=1,nlor_sccor(i,j)
653 write (iout,'(3(1pe15.5))')
654 & vlor1sccor(k,i,j),vlor2sccor(k,i,j),vlor3sccor(k,i,j)
661 C 9/18/99 (AL) Read coefficients of the Fourier expansion of the local
662 C interaction energy of the Gly, Ala, and Pro prototypes.
664 read (ifourier,*) nloctyp
667 read (ifourier,*) (b(ii,i),ii=1,13)
669 write (iout,*) 'Type',i
670 write (iout,'(a,i2,a,f10.5)') ('b(',ii,')=',b(ii,i),ii=1,13)
674 B1tilde(1,i) = b(3,i)
675 B1tilde(2,i) =-b(5,i)
684 Ctilde(2,1,i)=-b(9,i)
692 Dtilde(2,1,i)=-b(8,i)
694 EE(1,1,i)= b(10,i)+b(11,i)
695 EE(2,2,i)=-b(10,i)+b(11,i)
696 EE(2,1,i)= b(12,i)-b(13,i)
697 EE(1,2,i)= b(12,i)+b(13,i)
701 write (iout,*) 'Type',i
703 c write (iout,'(f10.5)') B1(:,i)
704 write(iout,*) B1(1,i),B1(2,i)
706 c write (iout,'(f10.5)') B2(:,i)
707 write(iout,*) B2(1,i),B2(2,i)
710 write (iout,'(2f10.5)') CC(j,1,i),CC(j,2,i)
714 write (iout,'(2f10.5)') DD(j,1,i),DD(j,2,i)
718 write (iout,'(2f10.5)') EE(j,1,i),EE(j,2,i)
723 C Read electrostatic-interaction parameters
726 write (iout,'(/a)') 'Electrostatic interaction constants:'
727 write (iout,'(1x,a,1x,a,10x,a,11x,a,11x,a,11x,a)')
728 & 'IT','JT','APP','BPP','AEL6','AEL3'
730 read (ielep,*) ((epp(i,j),j=1,2),i=1,2)
731 read (ielep,*) ((rpp(i,j),j=1,2),i=1,2)
732 read (ielep,*) ((elpp6(i,j),j=1,2),i=1,2)
733 read (ielep,*) ((elpp3(i,j),j=1,2),i=1,2)
738 app (i,j)=epp(i,j)*rri*rri
739 bpp (i,j)=-2.0D0*epp(i,j)*rri
740 ael6(i,j)=elpp6(i,j)*4.2D0**6
741 ael3(i,j)=elpp3(i,j)*4.2D0**3
742 if (lprint) write(iout,'(2i3,4(1pe15.4))')i,j,app(i,j),bpp(i,j),
743 & ael6(i,j),ael3(i,j)
747 C Read side-chain interaction parameters.
749 read (isidep,*) ipot,expon
750 if (ipot.lt.1 .or. ipot.gt.5) then
751 write (iout,'(2a)') 'Error while reading SC interaction',
752 & 'potential file - unknown potential type.'
756 write(iout,'(/3a,2i3)') 'Potential is ',potname(ipot),
757 & ', exponents are ',expon,2*expon
758 goto (10,20,30,30,40) ipot
759 C----------------------- LJ potential ---------------------------------
760 10 read (isidep,*)((eps(i,j),j=i,ntyp),i=1,ntyp),(sigma0(i),i=1,ntyp)
762 write (iout,'(/a/)') 'Parameters of the LJ potential:'
763 write (iout,'(a/)') 'The epsilon array:'
764 call printmat(ntyp,ntyp,ntyp,iout,restyp,eps)
765 write (iout,'(/a)') 'One-body parameters:'
766 write (iout,'(a,4x,a)') 'residue','sigma'
767 write (iout,'(a3,6x,f10.5)') (restyp(i),sigma0(i),i=1,ntyp)
770 C----------------------- LJK potential --------------------------------
771 20 read (isidep,*)((eps(i,j),j=i,ntyp),i=1,ntyp),
772 & (sigma0(i),i=1,ntyp),(rr0(i),i=1,ntyp)
774 write (iout,'(/a/)') 'Parameters of the LJK potential:'
775 write (iout,'(a/)') 'The epsilon array:'
776 call printmat(ntyp,ntyp,ntyp,iout,restyp,eps)
777 write (iout,'(/a)') 'One-body parameters:'
778 write (iout,'(a,4x,2a)') 'residue',' sigma ',' r0 '
779 write (iout,'(a3,6x,2f10.5)') (restyp(i),sigma0(i),rr0(i),
783 C---------------------- GB or BP potential -----------------------------
784 30 read (isidep,*)((eps(i,j),j=i,ntyp),i=1,ntyp),
785 & (sigma0(i),i=1,ntyp),(sigii(i),i=1,ntyp),(chip0(i),i=1,ntyp),
787 C For the GB potential convert sigma'**2 into chi'
790 chip(i)=(chip0(i)-1.0D0)/(chip0(i)+1.0D0)
794 write (iout,'(/a/)') 'Parameters of the BP potential:'
795 write (iout,'(a/)') 'The epsilon array:'
796 call printmat(ntyp,ntyp,ntyp,iout,restyp,eps)
797 write (iout,'(/a)') 'One-body parameters:'
798 write (iout,'(a,4x,4a)') 'residue',' sigma ','s||/s_|_^2',
800 write (iout,'(a3,6x,4f10.5)') (restyp(i),sigma0(i),sigii(i),
801 & chip(i),alp(i),i=1,ntyp)
804 C--------------------- GBV potential -----------------------------------
805 40 read (isidep,*)((eps(i,j),j=i,ntyp),i=1,ntyp),
806 & (sigma0(i),i=1,ntyp),(rr0(i),i=1,ntyp),(sigii(i),i=1,ntyp),
807 & (chip(i),i=1,ntyp),(alp(i),i=1,ntyp)
809 write (iout,'(/a/)') 'Parameters of the GBV potential:'
810 write (iout,'(a/)') 'The epsilon array:'
811 call printmat(ntyp,ntyp,ntyp,iout,restyp,eps)
812 write (iout,'(/a)') 'One-body parameters:'
813 write (iout,'(a,4x,5a)') 'residue',' sigma ',' r0 ',
814 & 's||/s_|_^2',' chip ',' alph '
815 write (iout,'(a3,6x,5f10.5)') (restyp(i),sigma0(i),rr0(i),
816 & sigii(i),chip(i),alp(i),i=1,ntyp)
820 C-----------------------------------------------------------------------
821 C Calculate the "working" parameters of SC interactions.
829 sigma(i,j)=dsqrt(sigma0(i)**2+sigma0(j)**2)
830 sigma(j,i)=sigma(i,j)
831 rs0(i,j)=dwa16*sigma(i,j)
835 if (lprint) write (iout,'(/a/10x,7a/72(1h-))')
836 & 'Working parameters of the SC interactions:',
837 & ' a ',' b ',' augm ',' sigma ',' r0 ',
842 if (ipot.eq.1 .or. ipot.eq.3 .or. ipot.eq.4) then
851 sigeps=dsign(1.0D0,epsij)
853 aa(i,j)=epsij*rrij*rrij
854 bb(i,j)=-sigeps*epsij*rrij
862 ratsig1=sigt2sq/sigt1sq
863 ratsig2=1.0D0/ratsig1
864 chi(i,j)=(sigii1-1.0D0)/(sigii1+ratsig1)
865 if (j.gt.i) chi(j,i)=(sigii2-1.0D0)/(sigii2+ratsig2)
866 rsum_max=dsqrt(sigii1*sigt1sq+sigii2*sigt2sq)
870 c if (ipot.eq.1 .or. ipot.eq.3 .or. ipot.eq.4) then
871 sigmaii(i,j)=rsum_max
872 sigmaii(j,i)=rsum_max
874 c sigmaii(i,j)=r0(i,j)
875 c sigmaii(j,i)=r0(i,j)
877 cd write (iout,*) i,j,r0(i,j),sigma(i,j),rsum_max
878 if ((ipot.eq.2 .or. ipot.eq.5) .and. r0(i,j).gt.rsum_max) then
879 r_augm=sigma(i,j)*(rrij-sigma(i,j))/rrij
880 augm(i,j)=epsij*r_augm**(2*expon)
881 c augm(i,j)=0.5D0**(2*expon)*aa(i,j)
888 write (iout,'(2(a3,2x),3(1pe10.3),5(0pf8.3))')
889 & restyp(i),restyp(j),aa(i,j),bb(i,j),augm(i,j),
890 & sigma(i,j),r0(i,j),chi(i,j),chi(j,i)
895 C Define the SC-p interaction constants and SS bond potentials
898 ss_depth=ebr/wsc-0.25*eps(1,1)
899 Ht=Ht/wsc-0.25*eps(1,1)
900 akcm=akcm*wstrain/wsc
901 akth=akth*wstrain/wsc
902 akct=akct*wstrain/wsc
903 v1ss=v1ss*wstrain/wsc
904 v2ss=v2ss*wstrain/wsc
905 v3ss=v3ss*wstrain/wsc
907 ss_depth=ebr/wstrain-0.25*eps(1,1)*wsc/wstrain
909 write (iout,*) "Parameters of the SS-bond potential:"
910 write (iout,*) "D0CM",d0cm," AKCM",akcm," AKTH",akth,
912 write (iout,*) "V1SS",v1ss," V2SS",v2ss," V3SS",v3ss
913 write (iout,*) "EBR",ebr," SS_DEPTH",ss_depth
914 write (iout,*)" HT",Ht
918 C "Soft" SC-p repulsion (causes helices to be too flat, but facilitates
920 c aad(i,1)=0.3D0*4.0D0**12
921 C Following line for constants currently implemented
922 C "Hard" SC-p repulsion (gives correct turn spacing in helices)
923 aad(i,1)=1.5D0*4.0D0**12
924 c aad(i,1)=0.17D0*5.6D0**12
926 C "Soft" SC-p repulsion
928 C Following line for constants currently implemented
929 c aad(i,1)=0.3D0*4.0D0**6
930 C "Hard" SC-p repulsion
931 bad(i,1)=3.0D0*4.0D0**6
932 c bad(i,1)=-2.0D0*0.17D0*5.6D0**6
941 C 8/9/01 Read the SC-p interaction constants from file
944 read (iscpp,*) (eps_scp(i,j),rscp(i,j),j=1,2)
947 aad(i,1)=dabs(eps_scp(i,1))*rscp(i,1)**12
948 aad(i,2)=dabs(eps_scp(i,2))*rscp(i,2)**12
949 bad(i,1)=-2*eps_scp(i,1)*rscp(i,1)**6
950 bad(i,2)=-2*eps_scp(i,2)*rscp(i,2)**6
954 write (iout,*) "Parameters of SC-p interactions:"
956 write (iout,'(4f8.3,4e12.4)') eps_scp(i,1),rscp(i,1),
957 & eps_scp(i,2),rscp(i,2),aad(i,1),bad(i,1),aad(i,2),bad(i,2)
962 C Define the constants of the disulfide bridge
966 c Old arbitrary potential - commented out.
971 c Constants of the disulfide-bond potential determined based on the RHF/6-31G**
972 c energy surface of diethyl disulfide.
973 c A. Liwo and U. Kozlowska, 11/24/03
984 c write (iout,'(/a)') "Disulfide bridge parameters:"
985 c write (iout,'(a,f10.2)') 'S-S bridge energy: ',ebr
986 c write (iout,'(2(a,f10.2))') 'd0cm:',d0cm,' akcm:',akcm
987 c write (iout,'(2(a,f10.2))') 'akth:',akth,' akct:',akct
988 c write (iout,'(3(a,f10.2))') 'v1ss:',v1ss,' v2ss:',v2ss,