From 9260f16064f93b4c825f18bcf56a624fd5c495b5 Mon Sep 17 00:00:00 2001 From: Bartlomiej Zaborowski Date: Tue, 2 Oct 2012 14:07:24 +0200 Subject: [PATCH] D i L aminokwasy dzialajace dla src_CSA --- PARAM/pot_tor_G631_DIL.parm | 212 +++++++++++++++++++++++ source/unres/src_CSA_DiL/COMMON.LOCAL | 7 +- source/unres/src_CSA_DiL/energy_p_new_barrier.F | 34 +++- source/unres/src_CSA_DiL/gen_rand_conf.F | 3 +- source/unres/src_CSA_DiL/geomout_min.F | 2 +- source/unres/src_CSA_DiL/initialize_p.F | 8 +- source/unres/src_CSA_DiL/parmread.F | 131 ++++++++++++-- source/unres/src_CSA_DiL/readrtns_csa.F | 4 +- 8 files changed, 371 insertions(+), 30 deletions(-) create mode 100644 PARAM/pot_tor_G631_DIL.parm diff --git a/PARAM/pot_tor_G631_DIL.parm b/PARAM/pot_tor_G631_DIL.parm new file mode 100644 index 0000000..92d0182 --- /dev/null +++ b/PARAM/pot_tor_G631_DIL.parm @@ -0,0 +1,212 @@ +3 *** Parameters derived by integrating MP2/6-31G** local energy surfaces *** +1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 2 +6 0 ** Gly-D-Pro-reg + 1 -1.02141E+00 -1.21787E+00 + 2 2.66194E-03 1.01052E-02 + 3 1.41880E-02 -1.29145E-02 + 4 -5.54912E-02 -1.54449E-02 + 5 2.72669E-02 4.68748E-02 + 6 7.92569E-03 -3.12502E-02 +6 0 ** Gly-D-Ala-reg + 1 9.97046E-02 2.66476E-01 + 2 -1.69687E-02 -4.91316E-02 + 3 2.50219E-01 -6.24989E-02 + 4 -1.52445E-01 -1.24202E-01 + 5 -9.21242E-03 -9.52846E-04 + 6 6.34622E-03 -4.58307E-03 +6 0 ** Gly-Gly-reg + 1 5.82776E-02 8.29421E-03 + 2 1.17968E-02 -6.32277E-03 + 3 3.64005E-01 1.64751E-02 + 4 -1.43911E-01 5.05281E-04 + 5 -5.30277E-02 -7.79971E-04 + 6 1.94629E-02 2.41670E-03 +6 0 ** Gly-L-Ala-reg + 1 5.77599E-02 -2.82304E-01 + 2 -2.09639E-02 4.90595E-02 + 3 2.50483E-01 6.50655E-02 + 4 -1.48647E-01 1.30048E-01 + 5 -5.22649E-03 -1.28325E-03 + 6 6.35252E-03 5.08303E-03 +6 0 ** Gly-L-Pro-reg + 1 -1.01829E+00 1.21991E+00 + 2 -4.01792E-03 -8.94259E-03 + 3 1.87908E-02 5.17077E-03 + 4 -5.12543E-02 2.52599E-02 + 5 1.49226E-02 -4.89988E-02 + 6 1.82458E-02 2.04167E-02 +6 0 ** L-Ala-D-Pro-reg + 1 -3.67336E+00 1.98471E+00 + 2 -6.26727E-01 -8.14864E-02 + 3 2.43704E-02 -1.02431E+00 + 4 3.16312E-01 1.87132E-01 + 5 2.66420E-01 1.43927E-01 + 6 -2.65977E-01 5.94169E-02 +6 0 ** L-Ala-D-Ala-reg + 1 -7.75462E-01 4.16758E-01 + 2 2.23510E-02 6.78839E-02 + 3 2.54868E-01 -8.31567E-02 + 4 -7.10523E-02 -1.74577E-01 + 5 3.33282E-02 3.98392E-02 + 6 1.56054E-04 -1.41661E-02 +6 0 ** L-Ala-Gly-reg + 1 -9.76097E-03 1.88109E-01 + 2 -1.36284E-01 9.92319E-02 + 3 3.47693E-01 -1.60254E-02 + 4 -8.42223E-02 -1.02985E-01 + 5 3.92826E-02 -5.47651E-02 + 6 -3.83473E-02 -1.30001E-02 +6 0 ** L-Ala-L-Ala-reg + 1 9.50994E-01 6.90587E-02 + 2 1.58320E-01 1.90589E-02 + 3 2.46886E-01 7.70903E-02 + 4 -1.29593E-01 -1.47222E-02 + 5 -8.62477E-03 -9.61802E-03 + 6 -1.25931E-02 -2.91656E-03 +6 0 ** L-Ala-L-Pro-reg + 1 2.58989E+00 3.26816E+00 + 2 6.06044E-01 -1.39461E-01 + 3 8.98937E-01 -4.87358E-01 + 4 3.52383E-01 -4.97235E-02 + 5 -1.10668E-01 -2.92203E-01 + 6 9.38381E-02 -2.66500E-01 +6 0 ** L-Pro-D-Pro-reg + 1 -3.40143E+00 -3.68917E+00 + 2 -1.79356E+00 1.27378E+00 + 3 1.52538E+00 1.51128E-01 + 4 -1.16399E-01 -9.80625E-01 + 5 -5.43709E-01 4.32254E-01 + 6 3.39955E-01 1.28204E-01 +6 0 ** L-Pro-D-Ala-reg + 1 -7.91570E-01 1.00745E+00 + 2 2.89816E-03 -1.42421E-01 + 3 2.00092E-01 -1.46860E-01 + 4 4.75906E-02 1.23842E-01 + 5 -2.88990E-02 -2.23460E-02 + 6 8.92327E-03 -2.80002E-02 +6 0 ** L-Pro-Gly-reg + 1 1.35119E-01 2.20125E-01 + 2 -8.73225E-02 2.41431E-01 + 3 2.39583E-01 -2.67706E-02 + 4 -3.16666E-03 -3.10330E-02 + 5 1.70093E-02 4.40414E-02 + 6 2.96664E-02 -3.12498E-02 +6 0 ** L-Pro-L-Ala-reg + 1 1.16715E+00 -4.62972E-01 + 2 1.24597E-02 -9.78932E-02 + 3 2.45124E-01 7.06736E-02 + 4 1.39492E-01 -8.17669E-02 + 5 1.79985E-02 -5.08437E-02 + 6 1.77828E-02 -5.16668E-03 +6 0 ** L-Pro-L-Pro-reg + 1 4.18257E+00 -2.68786E+00 + 2 2.08368E+00 -5.31464E-01 + 3 8.87399E-01 -1.16362E+00 + 4 5.86771E-01 -7.55998E-01 + 5 2.05355E-01 -6.41354E-01 + 6 1.89130E-02 -3.44351E-01 +6 0 ** Gly-D-Pro-pir + 1 -9.88019E-01 -1.24293E+00 + 2 1.06829E-03 1.15125E-02 + 3 1.51330E-02 -1.27370E-02 + 4 -5.26614E-02 -1.97750E-02 + 5 1.90733E-02 4.80206E-02 + 6 1.23388E-02 -2.84168E-02 +6 0 ** Gly-D-Ala-pir + 1 -1.19355E-01 3.21472E-01 + 2 -3.40228E-02 -1.22702E-02 + 3 -5.22500E-02 -4.87023E-02 + 4 -4.89546E-02 -9.95207E-02 + 5 -1.26543E-02 -3.90280E-03 + 6 8.00385E-03 -7.66649E-03 +6 0 ** Gly-Gly-pir + 1 -2.72873E-01 1.92514E-02 + 2 1.59482E-02 -1.54377E-03 + 3 5.12966E-02 5.44649E-04 + 4 -1.43233E-02 7.93858E-04 + 5 -7.68502E-03 2.96807E-04 + 6 4.13498E-03 -2.50017E-04 +6 0 ** Gly-L-Ala-pir + 1 -1.62300E-01 -3.00444E-01 + 2 -3.27052E-02 1.25090E-02 + 3 -5.16865E-02 4.65583E-02 + 4 -4.21919E-02 1.01036E-01 + 5 -1.25003E-02 1.63615E-03 + 6 8.47480E-03 7.49981E-03 +6 0 ** Gly-L-Pro-pir + 1 -9.84436E-01 1.24474E+00 + 2 -5.89634E-03 -9.85506E-03 + 3 1.96052E-02 4.36965E-03 + 4 -4.77928E-02 2.99507E-02 + 5 5.92052E-03 -4.98289E-02 + 6 2.29989E-02 1.65834E-02 +6 0 ** L-Ala-D-Pro-pir + 1 -3.75503E+00 1.67380E+00 + 2 -4.25199E-01 -1.88312E-01 + 3 2.04193E-01 -8.44985E-01 + 4 1.54369E-01 3.25624E-01 + 5 1.35303E-01 7.96724E-02 + 6 -2.05630E-01 -8.90834E-02 +6 0 ** L-Ala-D-Ala-pir + 1 -1.09092E+00 -2.51392E-01 + 2 9.04271E-02 1.42502E-01 + 3 -4.22013E-02 -3.69531E-02 + 4 8.48879E-02 -1.03202E-01 + 5 -2.11960E-02 1.97613E-03 + 6 2.39711E-02 -6.83329E-03 +6 0 ** L-Ala-Gly-pir + 1 -2.08211E-01 -7.62821E-01 + 2 -1.01123E-01 3.10682E-02 + 3 7.14650E-02 1.80649E-02 + 4 -8.01895E-04 -3.54351E-02 + 5 3.05095E-04 -1.70834E-02 + 6 -5.67702E-03 -2.50185E-04 +6 0 ** L-Ala-L-Ala-pir + 1 8.87244E-01 -6.38717E-01 + 2 1.42558E-01 -3.62356E-02 + 3 -4.35686E-02 6.24873E-02 + 4 -1.44298E-01 6.97149E-02 + 5 -2.79019E-02 2.25419E-02 + 6 -6.79818E-03 1.90833E-02 +6 0 ** L-Ala-L-Pro-pir + 1 2.69694E+00 3.15289E+00 + 2 6.21240E-01 -1.25854E-01 + 3 8.05212E-01 -5.51040E-01 + 4 3.58705E-01 -1.25213E-01 + 5 -1.26829E-01 -2.38332E-01 + 6 1.44938E-02 -2.65417E-01 +6 0 ** L-Pro-D-Pro-pir + 1 -3.36624E+00 3.05377E+00 + 2 -1.25072E+00 -1.08327E+00 + 3 1.13263E+00 2.74805E-01 + 4 -3.43766E-01 5.48177E-01 + 5 -1.29748E-01 -4.77420E-01 + 6 2.21219E-01 1.85239E-01 +6 0 ** L-Pro-D-Ala-pir + 1 -2.38982E+00 7.41152E-01 + 2 5.43079E-01 -6.49673E-01 + 3 -1.73766E-02 2.69034E-01 + 4 -4.40563E-02 -8.43637E-02 + 5 4.46222E-02 1.72590E-02 + 6 -1.90972E-02 6.25085E-03 +6 0 ** L-Pro-Gly-pir + 1 -6.26939E-01 -8.78194E-01 + 2 -6.42376E-02 2.04796E-01 + 3 1.14011E-01 -2.86647E-02 + 4 -5.64764E-02 -4.48897E-02 + 5 6.57227E-03 4.07107E-02 + 6 1.54402E-02 -1.70000E-02 +6 0 ** L-Pro-L-Ala-pir + 1 1.23984E+00 -2.13462E+00 + 2 -3.76464E-01 -7.10454E-01 + 3 -2.55890E-01 3.00065E-02 + 4 -3.83607E-02 7.23851E-02 + 5 3.77551E-02 2.35303E-02 + 6 1.40983E-02 -1.62500E-02 +6 0 ** L-Pro-L-Pro-pir + 1 3.81625E+00 2.40868E+00 + 2 1.73689E+00 1.25513E-01 + 3 7.67722E-01 6.96303E-01 + 4 5.64661E-01 2.80053E-01 + 5 3.44489E-01 2.10649E-01 + 6 2.07140E-01 1.29593E-02 diff --git a/source/unres/src_CSA_DiL/COMMON.LOCAL b/source/unres/src_CSA_DiL/COMMON.LOCAL index 837a7a3..a85494c 100644 --- a/source/unres/src_CSA_DiL/COMMON.LOCAL +++ b/source/unres/src_CSA_DiL/COMMON.LOCAL @@ -2,9 +2,10 @@ & sigc0,dsc,dsc_inv,bsc,censc,gaussc,dsc0 integer nlob C Parameters of the virtual-bond-angle probability distribution - common /thetas/ a0thet(ntyp),athet(2,ntyp),bthet(2,ntyp), - & polthet(0:3,ntyp),gthet(3,ntyp),theta0(ntyp),sig0(ntyp), - & sigc0(ntyp) + common /thetas/ a0thet(-ntyp:ntyp),athet(2,-ntyp:ntyp),-1:1,-1:1), + & bthet(2,-ntyp:ntyp,-1:1,-1:1),polthet(0:3,-ntyp:ntyp), + & gthet(3,-ntyp:ntyp),theta0(-ntyp:ntyp),sig0(-ntyp:ntyp), + & sigc0(-ntyp:ntyp) C Parameters of the side-chain probability distribution common /sclocal/ dsc(ntyp1),dsc_inv(ntyp1),bsc(maxlob,ntyp), & censc(3,maxlob,ntyp),gaussc(3,3,maxlob,ntyp),dsc0(ntyp1), diff --git a/source/unres/src_CSA_DiL/energy_p_new_barrier.F b/source/unres/src_CSA_DiL/energy_p_new_barrier.F index 9b16c3e..8f1e838 100644 --- a/source/unres/src_CSA_DiL/energy_p_new_barrier.F +++ b/source/unres/src_CSA_DiL/energy_p_new_barrier.F @@ -4485,6 +4485,18 @@ c write (*,'(a,i2)') 'EBEND ICG=',icg C Zero the energy function and its derivative at 0 or pi. call splinthet(theta(i),0.5d0*delta,ss,ssd) it=itype(i-1) + ichir1=isign(1,itype(i-2)) + ichir2=isign(1,itype(i)) + if (itype(i-2).eq.10) ichir1=isign(1,itype(i-1)) + if (itype(i).eq.10) ichir2=isign(1,itype(i-1)) + if (itype(i-1).eq.10) then + itype1=isign(10,itype(i-2)) + ichir11=isign(1,itype(i-2)) + ichir12=isign(1,itype(i-2)) + itype2=isign(10,itype(i)) + ichir21=isign(1,itype(i)) + ichir22=isign(1,itype(i)) + endif if (i.gt.3) then #ifdef OSF phii=phi(i) @@ -4518,15 +4530,27 @@ C dependent on the adjacent virtual-bond-valence angles (gamma1 & gamma2). C In following comments this theta will be referred to as t_c. thet_pred_mean=0.0d0 do k=1,2 - athetk=athet(k,it) - bthetk=bthet(k,it) + athetk=athet(k,it,ichir1,ichir2) + bthetk=bthet(k,it,ichir1,ichir2) + if (it.eq.10) then + athetk=athet(k,itype1,ichir11,ichir12) + bthetk=bthet(k,itype2,ichir21,ichir22) + endif thet_pred_mean=thet_pred_mean+athetk*y(k)+bthetk*z(k) enddo dthett=thet_pred_mean*ssd thet_pred_mean=thet_pred_mean*ss+a0thet(it) C Derivatives of the "mean" values in gamma1 and gamma2. - dthetg1=(-athet(1,it)*y(2)+athet(2,it)*y(1))*ss - dthetg2=(-bthet(1,it)*z(2)+bthet(2,it)*z(1))*ss + dthetg1=(-athet(1,it,ichir1,ichir2)*y(2) + &+athet(2,it,ichir1,ichir2)*y(1))*ss + dthetg2=(-bthet(1,it,ichir1,ichir2)*z(2) + & +bthet(2,it,ichir1,ichir2)*z(1))*ss + if (it.eq.10) then + dthetg1=(-athet(1,itype1,ichir11,ichir12)*y(2) + &+athet(2,itype1,ichir11,ichir12)*y(1))*ss + dthetg2=(-bthet(1,itype2,ichir21,ichir22)*z(2) + & +bthet(2,itype2,ichir21,ichir22)*z(1))*ss + endif if (theta(i).gt.pi-delta) then call theteng(pi-delta,thet_pred_mean,theta0(it),f0,fprim0, & E_tc0) @@ -5798,7 +5822,7 @@ c lprn=.true. itori1=itortyp(itype(i-1)) itori2=itortyp(itype(i)) iblock=1 - if (iabs(itype(i+1).eq.20)) iblock=2 + if (iabs(itype(i+1)).eq.20) iblock=2 phii=phi(i) phii1=phi(i+1) gloci1=0.0D0 diff --git a/source/unres/src_CSA_DiL/gen_rand_conf.F b/source/unres/src_CSA_DiL/gen_rand_conf.F index 9be8b23..dec152f 100644 --- a/source/unres/src_CSA_DiL/gen_rand_conf.F +++ b/source/unres/src_CSA_DiL/gen_rand_conf.F @@ -238,7 +238,8 @@ c print *,'gen_theta: it=',it endif thet_pred_mean=a0thet(it) do k=1,2 - thet_pred_mean=thet_pred_mean+athet(k,it)*y(k)+bthet(k,it)*z(k) + thet_pred_mean=thet_pred_mean+athet(k,it,1,1)*y(k) + & +bthet(k,it,1,1)*z(k) enddo sig=polthet(3,it) do j=2,0,-1 diff --git a/source/unres/src_CSA_DiL/geomout_min.F b/source/unres/src_CSA_DiL/geomout_min.F index 5dab339..e634c5a 100644 --- a/source/unres/src_CSA_DiL/geomout_min.F +++ b/source/unres/src_CSA_DiL/geomout_min.F @@ -130,7 +130,7 @@ C format. include 'COMMON.IOUNITS' include 'COMMON.HEADER' include 'COMMON.SBRIDGE' - character*32 tytul,fd + character*50 tytul,fd character*3 zahl character*6 res_num,pom,ucase #ifdef AIX diff --git a/source/unres/src_CSA_DiL/initialize_p.F b/source/unres/src_CSA_DiL/initialize_p.F index 71cb31d..bde8c8f 100644 --- a/source/unres/src_CSA_DiL/initialize_p.F +++ b/source/unres/src_CSA_DiL/initialize_p.F @@ -164,8 +164,12 @@ c call memmon_print_usage() rr0(i)=0.0D0 a0thet(i)=0.0D0 do j=1,2 - athet(j,i)=0.0D0 - bthet(j,i)=0.0D0 + do ichir1=-1,1 + do ichir2=-1,1 + athet(j,i,ichir1,ichir2)=0.0D0 + bthet(j,i,ichir1,ichir2)=0.0D0 + enddo + enddo enddo do j=0,3 polthet(j,i)=0.0D0 diff --git a/source/unres/src_CSA_DiL/parmread.F b/source/unres/src_CSA_DiL/parmread.F index d419945..e58af2f 100644 --- a/source/unres/src_CSA_DiL/parmread.F +++ b/source/unres/src_CSA_DiL/parmread.F @@ -103,13 +103,47 @@ C Read the parameters of the probability distribution/energy expression C of the virtual-bond valence angles theta C do i=1,ntyp - read (ithep,*,err=111,end=111) a0thet(i),(athet(j,i),j=1,2), - & (bthet(j,i),j=1,2) + read (ithep,*,err=111,end=111) a0thet(i),(athet(j,i,1,1),j=1,2), + & (bthet(j,i,1,1),j=1,2) read (ithep,*,err=111,end=111) (polthet(j,i),j=0,3) read (ithep,*,err=111,end=111) (gthet(j,i),j=1,3) read (ithep,*,err=111,end=111) theta0(i),sig0(i),sigc0(i) sigc0(i)=sigc0(i)**2 enddo + do i=1,ntyp + athet(1,i,1,-1)=athet(1,i,1,1) + athet(2,i,1,-1)=athet(2,i,1,1) + bthet(1,i,1,-1)=-bthet(1,i,1,1) + bthet(2,i,1,-1)=-bthet(2,i,1,1) + athet(1,i,-1,1)=-athet(1,i,1,1) + athet(2,i,-1,1)=-athet(2,i,1,1) + bthet(1,i,-1,1)=bthet(1,i,1,1) + bthet(2,i,-1,1)=bthet(2,i,1,1) + enddo + do i=-ntyp,-1 + a0thet(i)=a0thet(-i) + athet(1,i,-1,-1)=athet(1,-i,1,1) + athet(2,i,-1,-1)=-athet(2,-i,1,1) + bthet(1,i,-1,-1)=bthet(1,-i,1,1) + bthet(2,i,-1,-1)=-bthet(2,-i,1,1) + athet(1,i,-1,1)=athet(1,-i,1,1) + athet(2,i,-1,1)=-athet(2,-i,1,1) + bthet(1,i,-1,1)=-bthet(1,-i,1,1) + bthet(2,i,-1,1)=bthet(2,-i,1,1) + athet(1,i,1,-1)=-athet(1,-i,1,1) + athet(2,i,1,-1)=athet(2,-i,1,1) + bthet(1,i,1,-1)=bthet(1,-i,1,1) + bthet(2,i,1,-1)=-bthet(2,-i,1,1) + theta0(i)=theta0(-i) + sig0(i)=sig0(-i) + sigc0(i)=sigc0(-i) + do j=0,3 + polthet(j,i)=polthet(j,-i) + enddo + do j=1,3 + gthet(j,i)=gthet(j,-i) + enddo + enddo close (ithep) if (lprint) then if (.not.LaTeX) then @@ -120,7 +154,7 @@ C & ' B1 ',' B2 ' do i=1,ntyp write(iout,'(a3,i4,2x,5(1pe14.5))') restyp(i),i, - & a0thet(i),(athet(j,i),j=1,2),(bthet(j,i),j=1,2) + & a0thet(i),(athet(j,i,1,1),j=1,2),(bthet(j,i,1,1),j=1,2) enddo write (iout,'(/a/9x,5a/79(1h-))') & 'Parameters of the expression for sigma(theta_c):', @@ -147,7 +181,8 @@ C & ' b1*10^1 ',' b2*10^1 ' do i=1,ntyp write(iout,'(a3,1h&,2x,5(f8.3,1h&))') restyp(i), - & a0thet(i),(100*athet(j,i),j=1,2),(10*bthet(j,i),j=1,2) + & a0thet(i),(100*athet(j,i,1,1),j=1,2), + $ (10*bthet(j,i,1,1),j=1,2) enddo write (iout,'(/a/9x,5a/79(1h-))') & 'Parameters of the expression for sigma(theta_c):', @@ -313,10 +348,18 @@ C bsc(1,i)=0.0D0 read(irotam,*,end=112,err=112)(censc(k,1,i),k=1,3), & ((blower(k,l,1),l=1,k),k=1,3) + censc(1,1,-i)=censc(1,1,i) + censc(2,1,-i)=censc(2,1,i) + censc(3,1,-i)=-censc(3,1,i) + do j=2,nlob(i) read (irotam,*,end=112,err=112) bsc(j,i) read (irotam,*,end=112,err=112) (censc(k,j,i),k=1,3), & ((blower(k,l,j),l=1,k),k=1,3) + censc(1,j,-i)=censc(1,j,i) + censc(2,j,-i)=censc(2,j,i) + censc(3,j,-i)=-censc(3,j,i) +C BSC is amplitude of Gaussian enddo do j=1,nlob(i) do k=1,3 @@ -327,6 +370,14 @@ C enddo gaussc(k,l,j,i)=akl gaussc(l,k,j,i)=akl + if (((k.eq.3).and.(l.ne.3)) + & .or.((l.eq.3).and.(k.ne.3))) then + gaussc(k,l,j,-i)=-akl + gaussc(l,k,j,-i)=-akl + else + gaussc(k,l,j,-i)=akl + gaussc(l,k,j,-i)=akl + endif enddo enddo enddo @@ -451,25 +502,40 @@ C Read torsional parameters C read (itorp,*,end=113,err=113) ntortyp read (itorp,*,end=113,err=113) (itortyp(i),i=1,ntyp) + do iblock=1,2 + do i=-ntyp,-1 + itortyp(i)=-itortyp(-i) + enddo c write (iout,*) 'ntortyp',ntortyp - do i=1,ntortyp - do j=1,ntortyp - read (itorp,*,end=113,err=113) nterm(i,j),nlor(i,j) + do i=0,ntortyp-1 + do j=-ntortyp,ntortyp + read (itorp,*,end=113,err=113) nterm(i,j,iblock), + nlor(i,j,iblock) + nterm(-i,-j,iblock)=nterm(i,j,iblock) + & nlor(i,j,iblock) v0ij=0.0d0 si=-1.0d0 - do k=1,nterm(i,j) - read (itorp,*,end=113,err=113) kk,v1(k,i,j),v2(k,i,j) - v0ij=v0ij+si*v1(k,i,j) + do k=1,nterm(i,j,iblock) + read (itorp,*,end=113,err=113) kk,v1(k,i,j,iblock), + & v2(k,i,j,iblock) + v1(k,-i,-j,iblock)=v1(k,i,j,iblock) + v2(k,-i,-j,iblock)=-v2(k,i,j,iblock) + v0ij=v0ij+si*v1(k,i,j,iblock) si=-si +c write(iout,*) i,j,k,iblock,nterm(i,j,iblock) +c write(iout,*) v1(k,-i,-j,iblock),v1(k,i,j,iblock), +c &v2(k,-i,-j,iblock),v2(k,i,j,iblock) enddo - do k=1,nlor(i,j) + do k=1,nlor(i,j,iblock) read (itorp,*,end=113,err=113) kk,vlor1(k,i,j), & vlor2(k,i,j),vlor3(k,i,j) v0ij=v0ij+vlor1(k,i,j)/(1+vlor3(k,i,j)**2) enddo - v0(i,j)=v0ij + v0(i,j,iblock)=v0ij + v0(-i,-j,iblock)=v0ij enddo enddo + enddo close (itorp) if (lprint) then write (iout,'(/a/)') 'Torsional constants:' @@ -510,6 +576,8 @@ C endif read (itordp,*,end=114,err=114) ntermd_1(i,j,k,iblock), & ntermd_2(i,j,k,iblock) + ntermd_1(-i,-j,-k,iblock)=ntermd_1(i,j,k,iblock) + ntermd_2(-i,-j,-k,iblock)=ntermd_2(i,j,k,iblock) read (itordp,*,end=114,err=114) (v1c(1,l,i,j,k,iblock),l=1, & ntermd_1(i,j,k,iblock)) read (itordp,*,end=114,err=114) (v1s(1,l,i,j,k,iblock),l=1, @@ -519,11 +587,13 @@ C read (itordp,*,end=114,err=114) (v1s(2,l,i,j,k,iblock),l=1, & ntermd_1(i,j,k,iblock)) C Matrix of D parameters for one dimesional foureir series - do l=1, ntermd_1(i,j,k,iblock) + do l=1,ntermd_1(i,j,k,iblock) v1c(1,l,-i,-j,-k,iblock)=v1c(1,l,i,j,k,iblock) v1s(1,l,-i,-j,-k,iblock)=-v1s(1,l,i,j,k,iblock) v1c(2,l,-i,-j,-k,iblock)=v1c(2,l,i,j,k,iblock) v1s(2,l,-i,-j,-k,iblock)=-v1s(2,l,i,j,k,iblock) +c write(iout,*) "whcodze" , +c & v1s(2,l,-i,-j,-k,iblock),v1s(2,l,i,j,k,iblock) enddo read (itordp,*,end=114,err=114) ((v2c(l,m,i,j,k,iblock), & v2c(m,l,i,j,k,iblock),v2s(l,m,i,j,k,iblock), @@ -542,9 +612,10 @@ C Matrix of D parameters for two dimesional fourier series enddo!j enddo!i enddo!iblock -cc if (lprint) then + if (lprint) then write (iout,*) write (iout,*) 'Constants for double torsionals' + do iblock=1,2 do i=1,ntortyp do j=-ntortyp,ntortyp do k=-ntortyp,ntortyp @@ -576,7 +647,8 @@ cc if (lprint) then enddo enddo enddo -cc endif + enddo + endif #endif C C 5/21/07 (AL) Read coefficients of the backbone-local sidechain-local @@ -623,20 +695,31 @@ C endif B1(1,i) = b(3) B1(2,i) = b(5) + B1(1,-i) = b(3) + B1(2,-i) = -b(5) c b1(1,i)=0.0d0 c b1(2,i)=0.0d0 B1tilde(1,i) = b(3) - B1tilde(2,i) =-b(5) + B1tilde(2,i) =-b(5) + B1tilde(1,-i) =-b(3) + B1tilde(2,-i) =b(5) c b1tilde(1,i)=0.0d0 c b1tilde(2,i)=0.0d0 B2(1,i) = b(2) B2(2,i) = b(4) + B2(1,-i) =b(2) + B2(2,-i) =-b(4) + c b2(1,i)=0.0d0 c b2(2,i)=0.0d0 CC(1,1,i)= b(7) CC(2,2,i)=-b(7) CC(2,1,i)= b(9) CC(1,2,i)= b(9) + CC(1,1,-i)= b(7) + CC(2,2,-i)=-b(7) + CC(2,1,-i)=-b(9) + CC(1,2,-i)=-b(9) c CC(1,1,i)=0.0d0 c CC(2,2,i)=0.0d0 c CC(2,1,i)=0.0d0 @@ -645,6 +728,10 @@ c CC(1,2,i)=0.0d0 Ctilde(1,2,i)=b(9) Ctilde(2,1,i)=-b(9) Ctilde(2,2,i)=b(7) + Ctilde(1,1,-i)=b(7) + Ctilde(1,2,-i)=-b(9) + Ctilde(2,1,-i)=b(9) + Ctilde(2,2,-i)=b(7) c Ctilde(1,1,i)=0.0d0 c Ctilde(1,2,i)=0.0d0 c Ctilde(2,1,i)=0.0d0 @@ -653,6 +740,10 @@ c Ctilde(2,2,i)=0.0d0 DD(2,2,i)=-b(6) DD(2,1,i)= b(8) DD(1,2,i)= b(8) + DD(1,1,-i)= b(6) + DD(2,2,-i)=-b(6) + DD(2,1,-i)=-b(8) + DD(1,2,-i)=-b(8) c DD(1,1,i)=0.0d0 c DD(2,2,i)=0.0d0 c DD(2,1,i)=0.0d0 @@ -661,6 +752,10 @@ c DD(1,2,i)=0.0d0 Dtilde(1,2,i)=b(8) Dtilde(2,1,i)=-b(8) Dtilde(2,2,i)=b(6) + Dtilde(1,1,-i)=b(6) + Dtilde(1,2,-i)=-b(8) + Dtilde(2,1,-i)=b(8) + Dtilde(2,2,-i)=b(6) c Dtilde(1,1,i)=0.0d0 c Dtilde(1,2,i)=0.0d0 c Dtilde(2,1,i)=0.0d0 @@ -669,6 +764,10 @@ c Dtilde(2,2,i)=0.0d0 EE(2,2,i)=-b(10)+b(11) EE(2,1,i)= b(12)-b(13) EE(1,2,i)= b(12)+b(13) + EE(1,1,-i)= b(10)+b(11) + EE(2,2,-i)=-b(10)+b(11) + EE(2,1,-i)=-b(12)+b(13) + EE(1,2,-i)=-b(12)-b(13) c ee(1,1,i)=1.0d0 c ee(2,2,i)=1.0d0 c ee(2,1,i)=0.0d0 diff --git a/source/unres/src_CSA_DiL/readrtns_csa.F b/source/unres/src_CSA_DiL/readrtns_csa.F index 17b2165..b910bfa 100644 --- a/source/unres/src_CSA_DiL/readrtns_csa.F +++ b/source/unres/src_CSA_DiL/readrtns_csa.F @@ -509,9 +509,9 @@ c print '(20i4)',(itype(i),i=1,nres) #endif itel(i)=0 #ifdef PROCOR - else if (itype(i+1).ne.20) then + else if (iabs(itype(i+1)).ne.20) then #else - else if (itype(i).ne.20) then + else if (iabs(itype(i)).ne.20) then #endif itel(i)=1 else -- 1.7.9.5