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)
55 write (iout,*) "iparm",iparm," myparm",myparm
56 c If reading not own parameters, skip assignment
58 if (iparm.eq.myparm .or. .not.separate_parset) then
61 c Setup weights for UNRES
83 call card_concat(controlcard,.false.)
85 c Return if not own parameters
87 if (iparm.ne.myparm .and. separate_parset) return
89 call reads(controlcard,"BONDPAR",bondname_t,bondname)
90 open (ibond,file=bondname_t,status='old')
92 call reads(controlcard,"THETPAR",thetname_t,thetname)
93 open (ithep,file=thetname_t,status='old')
95 call reads(controlcard,"ROTPAR",rotname_t,rotname)
96 open (irotam,file=rotname_t,status='old')
98 call reads(controlcard,"TORPAR",torname_t,torname)
99 open (itorp,file=torname_t,status='old')
101 call reads(controlcard,"TORDPAR",tordname_t,tordname)
102 open (itordp,file=tordname_t,status='old')
104 call reads(controlcard,"SCCORPAR",sccorname_t,sccorname)
105 open (isccor,file=sccorname_t,status='old')
107 call reads(controlcard,"FOURIER",fouriername_t,fouriername)
108 open (ifourier,file=fouriername_t,status='old')
110 call reads(controlcard,"ELEPAR",elename_t,elename)
111 open (ielep,file=elename_t,status='old')
113 call reads(controlcard,"SIDEPAR",sidename_t,sidename)
114 open (isidep,file=sidename_t,status='old')
116 call reads(controlcard,"SCPPAR",scpname_t,scpname)
117 open (iscpp,file=scpname_t,status='old')
119 write (iout,*) "Parameter set:",iparm
120 write (iout,*) "Energy-term weights:"
122 write (iout,'(a16,f10.5)') wname(i),ww(i)
124 write (iout,*) "Sidechain potential file : ",
125 & sidename_t(:ilen(sidename_t))
127 write (iout,*) "SCp potential file : ",
128 & scpname_t(:ilen(scpname_t))
130 write (iout,*) "Electrostatic potential file : ",
131 & elename_t(:ilen(elename_t))
132 write (iout,*) "Cumulant coefficient file : ",
133 & fouriername_t(:ilen(fouriername_t))
134 write (iout,*) "Torsional parameter file : ",
135 & torname_t(:ilen(torname_t))
136 write (iout,*) "Double torsional parameter file : ",
137 & tordname_t(:ilen(tordname_t))
138 write (iout,*) "Backbone-rotamer parameter file : ",
139 & sccorname(:ilen(sccorname))
140 write (iout,*) "Bond & inertia constant file : ",
141 & bondname_t(:ilen(bondname_t))
142 write (iout,*) "Bending parameter file : ",
143 & thetname_t(:ilen(thetname_t))
144 write (iout,*) "Rotamer parameter file : ",
145 & rotname_t(:ilen(rotname_t))
148 c Read the virtual-bond parameters, masses, and moments of inertia
149 c and Stokes' radii of the peptide group and side chains
152 read (ibond,*) vbldp0,akp
155 read (ibond,*) vbldsc0(1,i),aksc(1,i)
156 dsc(i) = vbldsc0(1,i)
160 dsc_inv(i)=1.0D0/dsc(i)
164 read (ibond,*) ijunk,vbldp0,akp,rjunk
166 read (ibond,*) nbondterm(i),(vbldsc0(j,i),aksc(j,i),abond0(j,i),
168 dsc(i) = vbldsc0(1,i)
172 dsc_inv(i)=1.0D0/dsc(i)
177 write(iout,'(/a/)')"Force constants virtual bonds:"
178 write (iout,'(a10,a3,6a10)') 'Type','N','VBL','K',
180 write(iout,'(a10,i3,6f10.5)') "p",1,vbldp0,akp,0.0d0
182 write (iout,'(a10,i3,6f10.5)') restyp(i),nbondterm(i),
183 & vbldsc0(1,i),aksc(1,i),abond0(1,i)
185 write (iout,'(13x,3f10.5)')
186 & vbldsc0(j,i),aksc(j,i),abond0(j,i)
192 C Read the parameters of the probability distribution/energy expression
193 C of the virtual-bond valence angles theta
196 read (ithep,*) a0thet(i),(athet(j,i),j=1,2),(bthet(j,i),j=1,2)
197 read (ithep,*) (polthet(j,i),j=0,3)
198 read (ithep,*) (gthet(j,i),j=1,3)
199 read (ithep,*) theta0(i),sig0(i),sigc0(i)
205 c & 'Parameters of the virtual-bond valence angles:'
206 c write (iout,'(/a/9x,5a/79(1h-))') 'Fourier coefficients:',
207 c & ' ATHETA0 ',' A1 ',' A2 ',
210 c write(iout,'(a3,i4,2x,5(1pe14.5))') restyp(i),i,
211 c & a0thet(i),(athet(j,i),j=1,2),(bthet(j,i),j=1,2)
213 c write (iout,'(/a/9x,5a/79(1h-))')
214 c & 'Parameters of the expression for sigma(theta_c):',
215 c & ' ALPH0 ',' ALPH1 ',' ALPH2 ',
216 c & ' ALPH3 ',' SIGMA0C '
218 c write (iout,'(a3,i4,2x,5(1pe14.5))') restyp(i),i,
219 c & (polthet(j,i),j=0,3),sigc0(i)
221 c write (iout,'(/a/9x,5a/79(1h-))')
222 c & 'Parameters of the second gaussian:',
223 c & ' THETA0 ',' SIGMA0 ',' G1 ',
226 c write (iout,'(a3,i4,2x,5(1pe14.5))') restyp(i),i,theta0(i),
227 c & sig0(i),(gthet(j,i),j=1,3)
230 & 'Parameters of the virtual-bond valence angles:'
231 write (iout,'(/a/9x,5a/79(1h-))')
232 & 'Coefficients of expansion',
233 & ' theta0 ',' a1*10^2 ',' a2*10^2 ',
234 & ' b1*10^1 ',' b2*10^1 '
236 write(iout,'(a3,1h&,2x,5(f8.3,1h&))') restyp(i),
237 & a0thet(i),(100*athet(j,i),j=1,2),(10*bthet(j,i),j=1,2)
239 write (iout,'(/a/9x,5a/79(1h-))')
240 & 'Parameters of the expression for sigma(theta_c):',
241 & ' alpha0 ',' alph1 ',' alph2 ',
242 & ' alhp3 ',' sigma0c '
244 write (iout,'(a3,1h&,2x,5(1pe12.3,1h&))') restyp(i),
245 & (polthet(j,i),j=0,3),sigc0(i)
247 write (iout,'(/a/9x,5a/79(1h-))')
248 & 'Parameters of the second gaussian:',
249 & ' theta0 ',' sigma0*10^2 ',' G1*10^-1',
252 write (iout,'(a3,1h&,2x,5(f8.3,1h&))') restyp(i),theta0(i),
253 & 100*sig0(i),gthet(1,i)*0.1D0,gthet(2,i),gthet(3,i)*10.0D0
258 C Read the parameters of Utheta determined from ab initio surfaces
259 C Kozlowska et al., J. Phys.: Condens. Matter 19 (2007) 285203
261 read (ithep,*) nthetyp,ntheterm,ntheterm2,
262 & ntheterm3,nsingle,ndouble
263 nntheterm=max0(ntheterm,ntheterm2,ntheterm3)
264 read (ithep,*) (ithetyp(i),i=1,ntyp1)
270 aathet(l,i,j,k)=0.0d0
274 bbthet(m,l,i,j,k)=0.0d0
275 ccthet(m,l,i,j,k)=0.0d0
276 ddthet(m,l,i,j,k)=0.0d0
277 eethet(m,l,i,j,k)=0.0d0
283 ffthet(mm,m,l,i,j,k)=0.0d0
284 ggthet(mm,m,l,i,j,k)=0.0d0
294 read (ithep,'(3a)') res1,res2,res3
295 read (ithep,*) aa0thet(i,j,k)
296 read (ithep,*)(aathet(l,i,j,k),l=1,ntheterm)
298 & ((bbthet(lll,ll,i,j,k),lll=1,nsingle),
299 & (ccthet(lll,ll,i,j,k),lll=1,nsingle),
300 & (ddthet(lll,ll,i,j,k),lll=1,nsingle),
301 & (eethet(lll,ll,i,j,k),lll=1,nsingle),ll=1,ntheterm2)
303 & (((ffthet(llll,lll,ll,i,j,k),ffthet(lll,llll,ll,i,j,k),
304 & ggthet(llll,lll,ll,i,j,k),ggthet(lll,llll,ll,i,j,k),
305 & llll=1,lll-1),lll=2,ndouble),ll=1,ntheterm3)
310 C For dummy ends assign glycine-type coefficients of theta-only terms; the
311 C coefficients of theta-and-gamma-dependent terms are zero.
316 aathet(l,i,j,nthetyp+1)=aathet(l,i,j,1)
317 aathet(l,nthetyp+1,i,j)=aathet(l,1,i,j)
319 aa0thet(i,j,nthetyp+1)=aa0thet(i,j,1)
320 aa0thet(nthetyp+1,i,j)=aa0thet(1,i,j)
323 aathet(l,nthetyp+1,i,nthetyp+1)=aathet(l,1,i,1)
325 aa0thet(nthetyp+1,i,nthetyp+1)=aa0thet(1,i,1)
328 C Control printout of the coefficients of virtual-bond-angle potentials
331 write (iout,'(//a)') 'Parameter of virtual-bond-angle potential'
335 write (iout,'(//4a)')
336 & 'Type ',onelett(i),onelett(j),onelett(k)
337 write (iout,'(//a,10x,a)') " l","a[l]"
338 write (iout,'(i2,1pe15.5)') 0,aa0thet(i,j,k)
339 write (iout,'(i2,1pe15.5)')
340 & (l,aathet(l,i,j,k),l=1,ntheterm)
342 write (iout,'(//2h m,4(9x,a,3h[m,i1,1h]))')
343 & "b",l,"c",l,"d",l,"e",l
345 write (iout,'(i2,4(1pe15.5))') m,
346 & bbthet(m,l,i,j,k),ccthet(m,l,i,j,k),
347 & ddthet(m,l,i,j,k),eethet(m,l,i,j,k)
351 write (iout,'(//3hm,n,4(6x,a,5h[m,n,i1,1h]))')
352 & "f+",l,"f-",l,"g+",l,"g-",l
355 write (iout,'(i1,1x,i1,4(1pe15.5))') n,m,
356 & ffthet(n,m,l,i,j,k),ffthet(m,n,l,i,j,k),
357 & ggthet(n,m,l,i,j,k),ggthet(m,n,l,i,j,k)
370 C Read the parameters of the probability distribution/energy expression
371 C of the side chains.
374 read (irotam,'(3x,i3,f8.3)') nlob(i),dsc(i)
378 dsc_inv(i)=1.0D0/dsc(i)
389 read(irotam,*)(censc(k,1,i),k=1,3),((blower(k,l,1),l=1,k),k=1,3)
391 read (irotam,*) bsc(j,i)
392 read (irotam,*) (censc(k,j,i),k=1,3),
393 & ((blower(k,l,j),l=1,k),k=1,3)
400 akl=akl+blower(k,m,j)*blower(l,m,j)
411 write (iout,'(/a)') 'Parameters of side-chain local geometry'
415 write (iout,'(/3a,i2,a,f8.3)') 'Residue type: ',restyp(i),
416 & ' # of gaussian lobes:',nlobi,' dsc:',dsc(i)
417 c write (iout,'(/a,8x,i1,4(25x,i1))') 'Lobe:',(j,j=1,nlobi)
418 c write (iout,'(a,f10.4,4(16x,f10.4))')
419 c & 'Center ',(bsc(j,i),j=1,nlobi)
420 c write (iout,'(5(2x,3f8.4))') ((censc(k,j,i),k=1,3),j=1,nlobi)
421 write (iout,'(1h&,a,3(2h&&,f8.3,2h&&))')
422 & 'log h',(bsc(j,i),j=1,nlobi)
423 write (iout,'(1h&,a,3(1h&,f8.3,1h&,f8.3,1h&,f8.3,1h&))')
424 & 'x',((censc(k,j,i),k=1,3),j=1,nlobi)
431 c blower(k,l,j)=gaussc(ind,j,i)
436 write (iout,'(2h& ,5(2x,1h&,3(f7.3,1h&)))')
437 & ((gaussc(k,l,j,i),l=1,3),j=1,nlobi)
444 C Read scrot parameters for potentials determined from all-atom AM1 calculations
445 C added by Urszula Kozlowska 07/11/2007
453 read(irotam,*) sc_parmin(j,i)
461 C Read torsional parameters in old format
463 read (itorp,*) ntortyp,nterm_old
464 write (iout,*) 'ntortyp,nterm',ntortyp,nterm_old
465 read (itorp,*) (itortyp(i),i=1,ntyp)
470 read (itorp,*) kk,v1(k,j,i),v2(k,j,i)
476 write (iout,'(/a/)') 'Torsional constants:'
479 write (iout,'(2i3,6f10.5)') i,j,(v1(k,i,j),k=1,nterm_old)
480 write (iout,'(6x,6f10.5)') (v2(k,i,j),k=1,nterm_old)
488 C Read torsional parameters
490 read (itorp,*) ntortyp
491 read (itorp,*) (itortyp(i),i=1,ntyp)
492 write (iout,*) 'ntortyp',ntortyp
495 read (itorp,*) nterm(i,j),nlor(i,j)
499 read (itorp,*) kk,v1(k,i,j),v2(k,i,j)
500 v0ij=v0ij+si*v1(k,i,j)
504 read (itorp,*) kk,vlor1(k,i,j),vlor2(k,i,j),vlor3(k,i,j)
505 v0ij=v0ij+vlor1(k,i,j)/(1+vlor3(k,i,j)**2)
512 write (iout,'(/a/)') 'Torsional constants:'
515 write (iout,*) 'ityp',i,' jtyp',j
516 write (iout,*) 'Fourier constants'
518 write (iout,'(2(1pe15.5))') v1(k,i,j),v2(k,i,j)
520 write (iout,*) 'Lorenz constants'
522 write (iout,'(3(1pe15.5))')
523 & vlor1(k,i,j),vlor2(k,i,j),vlor3(k,i,j)
529 C 6/23/01 Read parameters for double torsionals
534 read (itordp,'(3a1)') t1,t2,t3
535 if (t1.ne.onelett(i) .or. t2.ne.onelett(j)
536 & .or. t3.ne.onelett(k)) then
537 write (iout,*) "Error in double torsional parameter file",
539 stop "Error in double torsional parameter file"
541 read (itordp,*) ntermd_1(i,j,k),ntermd_2(i,j,k)
542 read (itordp,*) (v1c(1,l,i,j,k),l=1,ntermd_1(i,j,k))
543 read (itordp,*) (v1s(1,l,i,j,k),l=1,ntermd_1(i,j,k))
544 read (itordp,*) (v1c(2,l,i,j,k),l=1,ntermd_1(i,j,k))
545 read (itordp,*) (v1s(2,l,i,j,k),l=1,ntermd_1(i,j,k))
546 read (itordp,*) ((v2c(l,m,i,j,k),v2c(m,l,i,j,k),
547 & v2s(l,m,i,j,k),v2s(m,l,i,j,k),m=1,l-1),l=1,ntermd_2(i,j,k))
553 write (iout,*) 'Constants for double torsionals'
557 write (iout,*) 'ityp',i,' jtyp',j,' ktyp',k,
558 & ' nsingle',ntermd_1(i,j,k),' ndouble',ntermd_2(i,j,k)
560 write (iout,*) 'Single angles:'
561 do l=1,ntermd_1(i,j,k)
562 write (iout,'(i5,2f10.5,5x,2f10.5)') l,
563 & v1c(1,l,i,j,k),v1s(1,l,i,j,k),
564 & v1c(2,l,i,j,k),v1s(2,l,i,j,k)
567 write (iout,*) 'Pairs of angles:'
568 write (iout,'(3x,20i10)') (l,l=1,ntermd_2(i,j,k))
569 do l=1,ntermd_2(i,j,k)
570 write (iout,'(i5,20f10.5)')
571 & l,(v2c(l,m,i,j,k),m=1,ntermd_2(i,j,k))
574 write (iout,'(3x,20i10)') (l,l=1,ntermd_2(i,j,k))
575 do l=1,ntermd_2(i,j,k)
576 write (iout,'(i5,20f10.5)')
577 & l,(v2s(l,m,i,j,k),m=1,ntermd_2(i,j,k))
585 C Read of Side-chain backbone correlation parameters
586 C Modified 11 May 2012 by Adasko
589 read (isccor,*) nsccortyp
590 read (isccor,*) (isccortyp(i),i=1,ntyp)
592 isccortyp(i)=-isccortyp(-i)
594 iscprol=isccortyp(20)
595 c write (iout,*) 'ntortyp',ntortyp
597 cc maxinter is maximum interaction sites
602 &nterm_sccor(i,j),nlor_sccor(i,j)
603 write (iout,*) nterm_sccor(i,j)
609 nterm_sccor(-i,j)=nterm_sccor(i,j)
610 nterm_sccor(-i,-j)=nterm_sccor(i,j)
611 nterm_sccor(i,-j)=nterm_sccor(i,j)
612 write (iout,*) nterm_sccor(i,j),nterm_sccor(-i,j),
613 & nterm_sccor(-i,-j),nterm_sccor(i,-j)
614 do k=1,nterm_sccor(i,j)
615 read (isccor,*) kk,v1sccor(k,l,i,j)
617 if (j.eq.iscprol) then
618 if (i.eq.isccortyp(10)) then
619 v1sccor(k,l,i,-j)=v1sccor(k,l,i,j)
620 v2sccor(k,l,i,-j)=-v2sccor(k,l,i,j)
622 v1sccor(k,l,i,-j)=v1sccor(k,l,i,j)*0.5d0
623 & +v2sccor(k,l,i,j)*dsqrt(0.75d0)
624 v2sccor(k,l,i,-j)=-v2sccor(k,l,i,j)*0.5d0
625 & +v1sccor(k,l,i,j)*dsqrt(0.75d0)
626 v1sccor(k,l,-i,-j)=v1sccor(k,l,i,j)
627 v2sccor(k,l,-i,-j)=-v2sccor(k,l,i,j)
628 v1sccor(k,l,-i,j)=v1sccor(k,l,i,-j)
629 v2sccor(k,l,-i,j)=-v2sccor(k,l,i,-j)
632 if (i.eq.isccortyp(10)) then
633 v1sccor(k,l,i,-j)=v1sccor(k,l,i,j)
634 v2sccor(k,l,i,-j)=-v2sccor(k,l,i,j)
636 if (j.eq.isccortyp(10)) then
637 v1sccor(k,l,-i,j)=v1sccor(k,l,i,j)
638 v2sccor(k,l,-i,j)=-v2sccor(k,l,i,j)
640 v1sccor(k,l,i,-j)=-v1sccor(k,l,i,j)
641 v2sccor(k,l,i,-j)=-v2sccor(k,l,i,j)
642 v1sccor(k,l,-i,-j)=v1sccor(k,l,i,j)
643 v2sccor(k,l,-i,-j)=-v2sccor(k,l,i,j)
644 v1sccor(k,l,-i,j)=v1sccor(k,l,i,-j)
645 v2sccor(k,l,-i,j)=-v2sccor(k,l,i,-j)
649 v0ijsccor=v0ijsccor+si*v1sccor(k,l,i,j)
650 v0ijsccor1=v0ijsccor+si*v1sccor(k,l,-i,j)
651 v0ijsccor2=v0ijsccor+si*v1sccor(k,l,i,-j)
652 v0ijsccor3=v0ijsccor+si*v1sccor(k,l,-i,-j)
655 do k=1,nlor_sccor(i,j)
656 read (isccor,*) kk,vlor1sccor(k,i,j),
657 & vlor2sccor(k,i,j),vlor3sccor(k,i,j)
658 v0ijsccor=v0ijsccor+vlor1sccor(k,i,j)/
659 &(1+vlor3sccor(k,i,j)**2)
661 v0sccor(l,i,j)=v0ijsccor
662 v0sccor(l,-i,j)=v0ijsccor1
663 v0sccor(l,i,-j)=v0ijsccor2
664 v0sccor(l,-i,-j)=v0ijsccor3
670 write (iout,'(/a/)') 'Torsional constants of SCCORR:'
673 write (iout,*) 'ityp',i,' jtyp',j
674 write (iout,*) 'Fourier constants'
675 do k=1,nterm_sccor(i,j)
676 write (iout,'(2(1pe15.5))')
677 & v1sccor(k,l,i,j),v2sccor(k,l,i,j)
679 write (iout,*) 'Lorenz constants'
680 do k=1,nlor_sccor(i,j)
681 write (iout,'(3(1pe15.5))')
682 & vlor1sccor(k,i,j),vlor2sccor(k,i,j),vlor3sccor(k,i,j)
688 C 9/18/99 (AL) Read coefficients of the Fourier expansion of the local
689 C interaction energy of the Gly, Ala, and Pro prototypes.
691 read (ifourier,*) nloctyp
694 read (ifourier,*) (b(ii,i),ii=1,13)
696 write (iout,*) 'Type',i
697 write (iout,'(a,i2,a,f10.5)') ('b(',ii,')=',b(ii,i),ii=1,13)
701 B1tilde(1,i) = b(3,i)
702 B1tilde(2,i) =-b(5,i)
711 Ctilde(2,1,i)=-b(9,i)
719 Dtilde(2,1,i)=-b(8,i)
721 EE(1,1,i)= b(10,i)+b(11,i)
722 EE(2,2,i)=-b(10,i)+b(11,i)
723 EE(2,1,i)= b(12,i)-b(13,i)
724 EE(1,2,i)= b(12,i)+b(13,i)
728 write (iout,*) 'Type',i
730 c write (iout,'(f10.5)') B1(:,i)
731 write(iout,*) B1(1,i),B1(2,i)
733 c write (iout,'(f10.5)') B2(:,i)
734 write(iout,*) B2(1,i),B2(2,i)
737 write (iout,'(2f10.5)') CC(j,1,i),CC(j,2,i)
741 write (iout,'(2f10.5)') DD(j,1,i),DD(j,2,i)
745 write (iout,'(2f10.5)') EE(j,1,i),EE(j,2,i)
750 C Read electrostatic-interaction parameters
753 write (iout,'(/a)') 'Electrostatic interaction constants:'
754 write (iout,'(1x,a,1x,a,10x,a,11x,a,11x,a,11x,a)')
755 & 'IT','JT','APP','BPP','AEL6','AEL3'
757 read (ielep,*) ((epp(i,j),j=1,2),i=1,2)
758 read (ielep,*) ((rpp(i,j),j=1,2),i=1,2)
759 read (ielep,*) ((elpp6(i,j),j=1,2),i=1,2)
760 read (ielep,*) ((elpp3(i,j),j=1,2),i=1,2)
765 app (i,j)=epp(i,j)*rri*rri
766 bpp (i,j)=-2.0D0*epp(i,j)*rri
767 ael6(i,j)=elpp6(i,j)*4.2D0**6
768 ael3(i,j)=elpp3(i,j)*4.2D0**3
769 if (lprint) write(iout,'(2i3,4(1pe15.4))')i,j,app(i,j),bpp(i,j),
770 & ael6(i,j),ael3(i,j)
774 C Read side-chain interaction parameters.
776 read (isidep,*) ipot,expon
777 if (ipot.lt.1 .or. ipot.gt.5) then
778 write (iout,'(2a)') 'Error while reading SC interaction',
779 & 'potential file - unknown potential type.'
783 write(iout,'(/3a,2i3)') 'Potential is ',potname(ipot),
784 & ', exponents are ',expon,2*expon
785 goto (10,20,30,30,40) ipot
786 C----------------------- LJ potential ---------------------------------
787 10 read (isidep,*)((eps(i,j),j=i,ntyp),i=1,ntyp),(sigma0(i),i=1,ntyp)
789 write (iout,'(/a/)') 'Parameters of the LJ potential:'
790 write (iout,'(a/)') 'The epsilon array:'
791 call printmat(ntyp,ntyp,ntyp,iout,restyp,eps)
792 write (iout,'(/a)') 'One-body parameters:'
793 write (iout,'(a,4x,a)') 'residue','sigma'
794 write (iout,'(a3,6x,f10.5)') (restyp(i),sigma0(i),i=1,ntyp)
797 C----------------------- LJK potential --------------------------------
798 20 read (isidep,*)((eps(i,j),j=i,ntyp),i=1,ntyp),
799 & (sigma0(i),i=1,ntyp),(rr0(i),i=1,ntyp)
801 write (iout,'(/a/)') 'Parameters of the LJK potential:'
802 write (iout,'(a/)') 'The epsilon array:'
803 call printmat(ntyp,ntyp,ntyp,iout,restyp,eps)
804 write (iout,'(/a)') 'One-body parameters:'
805 write (iout,'(a,4x,2a)') 'residue',' sigma ',' r0 '
806 write (iout,'(a3,6x,2f10.5)') (restyp(i),sigma0(i),rr0(i),
810 C---------------------- GB or BP potential -----------------------------
811 30 read (isidep,*)((eps(i,j),j=i,ntyp),i=1,ntyp),
812 & (sigma0(i),i=1,ntyp),(sigii(i),i=1,ntyp),(chip0(i),i=1,ntyp),
814 C For the GB potential convert sigma'**2 into chi'
817 chip(i)=(chip0(i)-1.0D0)/(chip0(i)+1.0D0)
821 write (iout,'(/a/)') 'Parameters of the BP potential:'
822 write (iout,'(a/)') 'The epsilon array:'
823 call printmat(ntyp,ntyp,ntyp,iout,restyp,eps)
824 write (iout,'(/a)') 'One-body parameters:'
825 write (iout,'(a,4x,4a)') 'residue',' sigma ','s||/s_|_^2',
827 write (iout,'(a3,6x,4f10.5)') (restyp(i),sigma0(i),sigii(i),
828 & chip(i),alp(i),i=1,ntyp)
831 C--------------------- GBV potential -----------------------------------
832 40 read (isidep,*)((eps(i,j),j=i,ntyp),i=1,ntyp),
833 & (sigma0(i),i=1,ntyp),(rr0(i),i=1,ntyp),(sigii(i),i=1,ntyp),
834 & (chip(i),i=1,ntyp),(alp(i),i=1,ntyp)
836 write (iout,'(/a/)') 'Parameters of the GBV potential:'
837 write (iout,'(a/)') 'The epsilon array:'
838 call printmat(ntyp,ntyp,ntyp,iout,restyp,eps)
839 write (iout,'(/a)') 'One-body parameters:'
840 write (iout,'(a,4x,5a)') 'residue',' sigma ',' r0 ',
841 & 's||/s_|_^2',' chip ',' alph '
842 write (iout,'(a3,6x,5f10.5)') (restyp(i),sigma0(i),rr0(i),
843 & sigii(i),chip(i),alp(i),i=1,ntyp)
847 C-----------------------------------------------------------------------
848 C Calculate the "working" parameters of SC interactions.
856 sigma(i,j)=dsqrt(sigma0(i)**2+sigma0(j)**2)
857 sigma(j,i)=sigma(i,j)
858 rs0(i,j)=dwa16*sigma(i,j)
862 if (lprint) write (iout,'(/a/10x,7a/72(1h-))')
863 & 'Working parameters of the SC interactions:',
864 & ' a ',' b ',' augm ',' sigma ',' r0 ',
869 if (ipot.eq.1 .or. ipot.eq.3 .or. ipot.eq.4) then
878 sigeps=dsign(1.0D0,epsij)
880 aa(i,j)=epsij*rrij*rrij
881 bb(i,j)=-sigeps*epsij*rrij
889 ratsig1=sigt2sq/sigt1sq
890 ratsig2=1.0D0/ratsig1
891 chi(i,j)=(sigii1-1.0D0)/(sigii1+ratsig1)
892 if (j.gt.i) chi(j,i)=(sigii2-1.0D0)/(sigii2+ratsig2)
893 rsum_max=dsqrt(sigii1*sigt1sq+sigii2*sigt2sq)
897 c if (ipot.eq.1 .or. ipot.eq.3 .or. ipot.eq.4) then
898 sigmaii(i,j)=rsum_max
899 sigmaii(j,i)=rsum_max
901 c sigmaii(i,j)=r0(i,j)
902 c sigmaii(j,i)=r0(i,j)
904 cd write (iout,*) i,j,r0(i,j),sigma(i,j),rsum_max
905 if ((ipot.eq.2 .or. ipot.eq.5) .and. r0(i,j).gt.rsum_max) then
906 r_augm=sigma(i,j)*(rrij-sigma(i,j))/rrij
907 augm(i,j)=epsij*r_augm**(2*expon)
908 c augm(i,j)=0.5D0**(2*expon)*aa(i,j)
915 write (iout,'(2(a3,2x),3(1pe10.3),5(0pf8.3))')
916 & restyp(i),restyp(j),aa(i,j),bb(i,j),augm(i,j),
917 & sigma(i,j),r0(i,j),chi(i,j),chi(j,i)
922 C Define the SC-p interaction constants
926 C "Soft" SC-p repulsion (causes helices to be too flat, but facilitates
928 c aad(i,1)=0.3D0*4.0D0**12
929 C Following line for constants currently implemented
930 C "Hard" SC-p repulsion (gives correct turn spacing in helices)
931 aad(i,1)=1.5D0*4.0D0**12
932 c aad(i,1)=0.17D0*5.6D0**12
934 C "Soft" SC-p repulsion
936 C Following line for constants currently implemented
937 c aad(i,1)=0.3D0*4.0D0**6
938 C "Hard" SC-p repulsion
939 bad(i,1)=3.0D0*4.0D0**6
940 c bad(i,1)=-2.0D0*0.17D0*5.6D0**6
949 C 8/9/01 Read the SC-p interaction constants from file
952 read (iscpp,*) (eps_scp(i,j),rscp(i,j),j=1,2)
955 aad(i,1)=dabs(eps_scp(i,1))*rscp(i,1)**12
956 aad(i,2)=dabs(eps_scp(i,2))*rscp(i,2)**12
957 bad(i,1)=-2*eps_scp(i,1)*rscp(i,1)**6
958 bad(i,2)=-2*eps_scp(i,2)*rscp(i,2)**6
962 write (iout,*) "Parameters of SC-p interactions:"
964 write (iout,'(4f8.3,4e12.4)') eps_scp(i,1),rscp(i,1),
965 & eps_scp(i,2),rscp(i,2),aad(i,1),bad(i,1),aad(i,2),bad(i,2)
970 C Define the constants of the disulfide bridge
974 c Old arbitrary potential - commented out.
979 c Constants of the disulfide-bond potential determined based on the RHF/6-31G**
980 c energy surface of diethyl disulfide.
981 c A. Liwo and U. Kozlowska, 11/24/03
992 write (iout,'(/a)') "Disulfide bridge parameters:"
993 write (iout,'(a,f10.2)') 'S-S bridge energy: ',ebr
994 write (iout,'(2(a,f10.2))') 'd0cm:',d0cm,' akcm:',akcm
995 write (iout,'(2(a,f10.2))') 'akth:',akth,' akct:',akct
996 write (iout,'(3(a,f10.2))') 'v1ss:',v1ss,' v2ss:',v2ss,