Wprowadzenie do Clustrowania D-aminokwasow w polu Yi
authorAdam Sieradzan <adasko@mmka.chem.univ.gda.pl>
Sun, 6 Jan 2013 18:52:46 +0000 (19:52 +0100)
committerAdam Sieradzan <adasko@mmka.chem.univ.gda.pl>
Sun, 6 Jan 2013 18:52:46 +0000 (19:52 +0100)
20 files changed:
source/cluster/wham/src-M/CMakeLists.txt
source/cluster/wham/src-M/COMMON.CHAIN
source/cluster/wham/src-M/COMMON.LOCAL
source/cluster/wham/src-M/COMMON.SCROT
source/cluster/wham/src-M/DIMENSIONS
source/cluster/wham/src-M/energy_p_new.F
source/cluster/wham/src-M/include_unres/COMMON.INTERACT
source/cluster/wham/src-M/include_unres/COMMON.LOCAL
source/cluster/wham/src-M/include_unres/COMMON.NAMES [deleted file]
source/cluster/wham/src-M/include_unres/COMMON.SCCOR
source/cluster/wham/src-M/include_unres/COMMON.SCROT
source/cluster/wham/src-M/include_unres/COMMON.WEIGHTS
source/cluster/wham/src-M/initialize.f
source/cluster/wham/src-M/initialize_p.F
source/cluster/wham/src-M/main_clust.F
source/cluster/wham/src-M/parmread.F
source/cluster/wham/src-M/readpdb.f
source/cluster/wham/src-M/readrtns.F
source/wham/src-M/enecalc1.F
source/wham/src-M/secondary.f

index cd8871c..2898f32 100644 (file)
@@ -74,7 +74,19 @@ endif(UNRES_WITH_MPI)
 
 set_property(SOURCE ${UNRES_CLUSTER_WHAM_M_SRC0} PROPERTY COMPILE_FLAGS ${FFLAGS0} )
 
-set(CPPFLAGS "PROCOR -DSPLITELE -DPROCOR -DCRYST_BOND -DCRYST_THETA -DCRYST_SC" )
+if(UNRES_MD_FF STREQUAL "GAB" )
+  # set preprocesor flags   
+  set(CPPFLAGS "PROCOR  -DSPLITELE -DCRYST_BOND
+-DCRYST_THETA -DCRYST_SC  -DSCCORPDB" )
+
+#=========================================
+#  Settings for E0LL2Y force field
+#=========================================
+elseif(UNRES_MD_FF STREQUAL "E0LL2Y")
+  # set preprocesor flags   
+  set(CPPFLAGS "PROCOR  -DSPLITELE -DSCCORPDB" )
+endif(UNRES_MD_FF STREQUAL "GAB")
+
 
 if (Fortran_COMPILER_NAME STREQUAL "ifort")
   # Add ifort preprocessor flags
index 5158330..d3f4c54 100644 (file)
@@ -1,9 +1,12 @@
       integer nres,nres0,nsup,nstart_sup,nend_sup,nstart_seq,
-     &tabperm
-      double precision c,cref,dc,xloc,xrot,dc_norm,t,r,prod,rt
+     &tabperm,chain_length
+      double precision c,cref,dc,xloc,xrot,dc_norm,t,r,prod,rt,
+     & chain_rep
       common /chain/ c(3,maxres2+2),dc(3,maxres2),xloc(3,maxres),
      & xrot(3,maxres),dc_norm(3,maxres2),nres,nres0
       common /rotmat/ t(3,3,maxres),r(3,3,maxres),prod(3,3,maxres),
      &                rt(3,3,maxres) 
-      common /refstruct/ cref(3,maxres2+2),nsup,nstart_sup,nstart_seq,
-     &  nend_sup,tabperm(maxperm,maxsym)
+      common /refstruct/ cref(3,maxres2+2,maxperm),
+     &  chain_rep(3,maxres2+2,maxsym), nsup,nstart_sup,
+     &  nstart_seq,
+     &  nend_sup, chain_length,tabperm(maxperm,maxsym)
index 5a00bb2..d92ce8e 100644 (file)
@@ -10,17 +10,23 @@ C Parameters of the virtual-bond-angle probability distribution
      &sig0(-ntyp:ntyp),  sigc0(-ntyp:ntyp)
 C Parameters of ab initio-derived potential of virtual-bond-angle bending
       integer nthetyp,ntheterm,ntheterm2,ntheterm3,nsingle,ndouble,
-     & ithetyp(ntyp1),nntheterm
-      double precision aa0thet(maxthetyp1,maxthetyp1,maxthetyp1),
-     & aathet(maxtheterm,maxthetyp1,maxthetyp1,maxthetyp1),
-     & bbthet(maxsingle,maxtheterm2,maxthetyp1,maxthetyp1,maxthetyp1),
-     & ccthet(maxsingle,maxtheterm2,maxthetyp1,maxthetyp1,maxthetyp1),
-     & ddthet(maxsingle,maxtheterm2,maxthetyp1,maxthetyp1,maxthetyp1),
-     & eethet(maxsingle,maxtheterm2,maxthetyp1,maxthetyp1,maxthetyp1),
-     & ffthet(maxdouble,maxdouble,maxtheterm3,maxthetyp1,maxthetyp1,
-     &  maxthetyp1),
-     & ggthet(maxdouble,maxdouble,maxtheterm3,maxthetyp1,maxthetyp1,
-     &  maxthetyp1)
+     & ithetyp(-ntyp1:ntyp1),nntheterm
+       double precision aa0thet(-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,-maxthetyp1:maxthetyp1,2),
+     & aathet(maxtheterm,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,-maxthetyp1:maxthetyp1,2),
+     & bbthet(maxsingle,maxtheterm2,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,-maxthetyp1:maxthetyp1,2),
+     & ccthet(maxsingle,maxtheterm2,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,-maxthetyp1:maxthetyp1,2),
+     & ddthet(maxsingle,maxtheterm2,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,-maxthetyp1:maxthetyp1,2),
+     & eethet(maxsingle,maxtheterm2,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,-maxthetyp1:maxthetyp1,2),
+     & ffthet(maxdouble,maxdouble,maxtheterm3,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1, -maxthetyp1:maxthetyp1,2),
+     & ggthet(maxdouble,maxdouble,maxtheterm3,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,  -maxthetyp1:maxthetyp1,2)
       common /theta_abinitio/aa0thet,aathet,bbthet,ccthet,ddthet,eethet,
      &  ffthet,
      &  ggthet,ithetyp,nthetyp,ntheterm,ntheterm2,ntheterm3,nsingle,
index 2da7b8f..a352775 100644 (file)
@@ -1,3 +1,3 @@
 C Parameters of the SC rotamers (local) term
       double precision sc_parmin
-      common/scrot/sc_parmin(maxsccoef,20)
+      common/scrot/sc_parmin(maxsccoef,ntyp)
index 1bcdf79..68ac673 100644 (file)
@@ -30,7 +30,7 @@ C Max. number of contacts per residue
       parameter (maxconts=maxres)
 C Number of AA types (at present only natural AA's will be handled
       integer ntyp,ntyp1
-      parameter (ntyp=20,ntyp1=ntyp+1)
+      parameter (ntyp=24,ntyp1=ntyp+1)
 C Max. number of types of dihedral angles & multiplicity of torsional barriers
       integer maxtor,maxterm,maxlor,maxtermd_1,maxtermd_2
       parameter (maxtor=4,maxterm=10,maxlor=3,maxtermd_1=8,maxtermd_2=8)
index 67ee5fc..94ea033 100644 (file)
 c      write (iout,*) "ithetyp",(ithetyp(i),i=1,ntyp1)
       do i=ithet_start,ithet_end
         if (itype(i-1).eq.ntyp1) cycle
+        if (iabs(itype(i+1)).eq.20) iblock=2
+        if (iabs(itype(i+1)).ne.20) iblock=1
         dethetai=0.0d0
         dephii=0.0d0
         dephii1=0.0d0
         theti2=0.5d0*theta(i)
 CC Ta zmina jest niewlasciwa
-        ityp2=ithetyp(iabs(itype(i-1)))
+        ityp2=ithetyp((itype(i-1)))
         do k=1,nntheterm
           coskt(k)=dcos(k*theti2)
           sinkt(k)=dsin(k*theti2)
@@ -3393,7 +3395,7 @@ CC Ta zmina jest niewlasciwa
 #else
           phii=phi(i)
 #endif
-          ityp1=ithetyp(iabs(itype(i-2)))
+          ityp1=ithetyp((itype(i-2)))
           do k=1,nsingle
             cosph1(k)=dcos(k*phii)
             sinph1(k)=dsin(k*phii)
@@ -3414,7 +3416,7 @@ CC Ta zmina jest niewlasciwa
 #else
           phii1=phi(i+1)
 #endif
-          ityp3=ithetyp(iabs(itype(i)))
+          ityp3=ithetyp((itype(i)))
           do k=1,nsingle
             cosph2(k)=dcos(k*phii1)
             sinph2(k)=dsin(k*phii1)
@@ -3430,7 +3432,7 @@ CC Ta zmina jest niewlasciwa
 c        write (iout,*) "i",i," ityp1",itype(i-2),ityp1,
 c     &   " ityp2",itype(i-1),ityp2," ityp3",itype(i),ityp3
 c        call flush(iout)
-        ethetai=aa0thet(ityp1,ityp2,ityp3)
+        ethetai=aa0thet(ityp1,ityp2,ityp3,iblock)
         do k=1,ndouble
           do l=1,k-1
             ccl=cosph1(l)*cosph2(k-l)
@@ -3452,11 +3454,12 @@ c        call flush(iout)
         enddo
         endif
         do k=1,ntheterm
-          ethetai=ethetai+aathet(k,ityp1,ityp2,ityp3)*sinkt(k)
-          dethetai=dethetai+0.5d0*k*aathet(k,ityp1,ityp2,ityp3)
+          ethetai=ethetai+aathet(k,ityp1,ityp2,ityp3,iblock)*sinkt(k)
+          dethetai=dethetai+0.5d0*k*aathet(k,ityp1,ityp2,ityp3,iblock)
      &      *coskt(k)
           if (lprn)
-     &    write (iout,*) "k",k," aathet",aathet(k,ityp1,ityp2,ityp3),
+     &    write (iout,*) "k",k," aathet",
+     &    aathet(k,ityp1,ityp2,ityp3,iblock),
      &     " ethetai",ethetai
         enddo
         if (lprn) then
@@ -3475,24 +3478,24 @@ c        call flush(iout)
         endif
         do m=1,ntheterm2
           do k=1,nsingle
-            aux=bbthet(k,m,ityp1,ityp2,ityp3)*cosph1(k)
-     &         +ccthet(k,m,ityp1,ityp2,ityp3)*sinph1(k)
-     &         +ddthet(k,m,ityp1,ityp2,ityp3)*cosph2(k)
-     &         +eethet(k,m,ityp1,ityp2,ityp3)*sinph2(k)
+            aux=bbthet(k,m,ityp1,ityp2,ityp3,iblock)*cosph1(k)
+     &         +ccthet(k,m,ityp1,ityp2,ityp3,iblock)*sinph1(k)
+     &         +ddthet(k,m,ityp1,ityp2,ityp3,iblock)*cosph2(k)
+     &         +eethet(k,m,ityp1,ityp2,ityp3,iblock)*sinph2(k)
             ethetai=ethetai+sinkt(m)*aux
             dethetai=dethetai+0.5d0*m*aux*coskt(m)
             dephii=dephii+k*sinkt(m)*(
-     &          ccthet(k,m,ityp1,ityp2,ityp3)*cosph1(k)-
-     &          bbthet(k,m,ityp1,ityp2,ityp3)*sinph1(k))
+     &          ccthet(k,m,ityp1,ityp2,ityp3,iblock)*cosph1(k)-
+     &          bbthet(k,m,ityp1,ityp2,ityp3,iblock)*sinph1(k))
             dephii1=dephii1+k*sinkt(m)*(
-     &          eethet(k,m,ityp1,ityp2,ityp3)*cosph2(k)-
-     &          ddthet(k,m,ityp1,ityp2,ityp3)*sinph2(k))
+     &          eethet(k,m,ityp1,ityp2,ityp3,iblock)*cosph2(k)-
+     &          ddthet(k,m,ityp1,ityp2,ityp3,iblock)*sinph2(k))
             if (lprn)
      &      write (iout,*) "m",m," k",k," bbthet",
-     &         bbthet(k,m,ityp1,ityp2,ityp3)," ccthet",
-     &         ccthet(k,m,ityp1,ityp2,ityp3)," ddthet",
-     &         ddthet(k,m,ityp1,ityp2,ityp3)," eethet",
-     &         eethet(k,m,ityp1,ityp2,ityp3)," ethetai",ethetai
+     &         bbthet(k,m,ityp1,ityp2,ityp3,iblock)," ccthet",
+     &         ccthet(k,m,ityp1,ityp2,ityp3,iblock)," ddthet",
+     &         ddthet(k,m,ityp1,ityp2,ityp3,iblock)," eethet",
+     &         eethet(k,m,ityp1,ityp2,ityp3,iblock)," ethetai",ethetai
           enddo
         enddo
         if (lprn)
@@ -3500,28 +3503,29 @@ c        call flush(iout)
         do m=1,ntheterm3
           do k=2,ndouble
             do l=1,k-1
-              aux=ffthet(l,k,m,ityp1,ityp2,ityp3)*cosph1ph2(l,k)+
-     &            ffthet(k,l,m,ityp1,ityp2,ityp3)*cosph1ph2(k,l)+
-     &            ggthet(l,k,m,ityp1,ityp2,ityp3)*sinph1ph2(l,k)+
-     &            ggthet(k,l,m,ityp1,ityp2,ityp3)*sinph1ph2(k,l)
+              aux=ffthet(l,k,m,ityp1,ityp2,ityp3,iblock)*cosph1ph2(l,k)+
+     &            ffthet(k,l,m,ityp1,ityp2,ityp3,iblock)*cosph1ph2(k,l)+
+     &            ggthet(l,k,m,ityp1,ityp2,ityp3,iblock)*sinph1ph2(l,k)+
+     &            ggthet(k,l,m,ityp1,ityp2,ityp3,iblock)*sinph1ph2(k,l)
               ethetai=ethetai+sinkt(m)*aux
               dethetai=dethetai+0.5d0*m*coskt(m)*aux
               dephii=dephii+l*sinkt(m)*(
-     &           -ffthet(l,k,m,ityp1,ityp2,ityp3)*sinph1ph2(l,k)-
-     &            ffthet(k,l,m,ityp1,ityp2,ityp3)*sinph1ph2(k,l)+
-     &            ggthet(l,k,m,ityp1,ityp2,ityp3)*cosph1ph2(l,k)+
-     &            ggthet(k,l,m,ityp1,ityp2,ityp3)*cosph1ph2(k,l))
+     &           -ffthet(l,k,m,ityp1,ityp2,ityp3,iblock)*sinph1ph2(l,k)-
+     &            ffthet(k,l,m,ityp1,ityp2,ityp3,iblock)*sinph1ph2(k,l)+
+     &            ggthet(l,k,m,ityp1,ityp2,ityp3,iblock)*cosph1ph2(l,k)+
+     &            ggthet(k,l,m,ityp1,ityp2,ityp3,iblock)*cosph1ph2(k,l))
               dephii1=dephii1+(k-l)*sinkt(m)*(
-     &           -ffthet(l,k,m,ityp1,ityp2,ityp3)*sinph1ph2(l,k)+
-     &            ffthet(k,l,m,ityp1,ityp2,ityp3)*sinph1ph2(k,l)+
-     &            ggthet(l,k,m,ityp1,ityp2,ityp3)*cosph1ph2(l,k)-
-     &            ggthet(k,l,m,ityp1,ityp2,ityp3)*cosph1ph2(k,l))
+     &           -ffthet(l,k,m,ityp1,ityp2,ityp3,iblock)*sinph1ph2(l,k)+
+     &            ffthet(k,l,m,ityp1,ityp2,ityp3,iblock)*sinph1ph2(k,l)+
+     &            ggthet(l,k,m,ityp1,ityp2,ityp3,iblock)*cosph1ph2(l,k)-
+     &            ggthet(k,l,m,ityp1,ityp2,ityp3,iblock)*cosph1ph2(k,l))
               if (lprn) then
               write (iout,*) "m",m," k",k," l",l," ffthet",
-     &            ffthet(l,k,m,ityp1,ityp2,ityp3),
-     &            ffthet(k,l,m,ityp1,ityp2,ityp3)," ggthet",
-     &            ggthet(l,k,m,ityp1,ityp2,ityp3),
-     &            ggthet(k,l,m,ityp1,ityp2,ityp3)," ethetai",ethetai
+     &            ffthet(l,k,m,ityp1,ityp2,ityp3,iblock),
+     &            ffthet(k,l,m,ityp1,ityp2,ityp3,iblock)," ggthet",
+     &            ggthet(l,k,m,ityp1,ityp2,ityp3,iblock),
+     &            ggthet(k,l,m,ityp1,ityp2,ityp3,iblock),
+     &            " ethetai",ethetai
               write (iout,*) cosph1ph2(l,k)*sinkt(m),
      &            cosph1ph2(k,l)*sinkt(m),
      &            sinph1ph2(l,k)*sinkt(m),sinph1ph2(k,l)*sinkt(m)
@@ -3887,7 +3891,7 @@ C     &   dc_norm(3,i+nres)
           y_prime(j) = (dc_norm(j,i) + dc_norm(j,i-1))*sinfac
         enddo
         do j = 1,3
-          z_prime(j) = -uz(j,i-1)
+          z_prime(j) = -uz(j,i-1)*dsign(1.0d0,dfloat(itype(i)))
         enddo     
 c       write (2,*) "i",i
 c       write (2,*) "x_prime",(x_prime(j),j=1,3)
@@ -3909,7 +3913,7 @@ c
         do j = 1,3
           xx = xx + x_prime(j)*dc_norm(j,i+nres)
           yy = yy + y_prime(j)*dc_norm(j,i+nres)
-          zz = zz + dsign(1.0,itype(i))*z_prime(j)*dc_norm(j,i+nres)
+          zz = zz + z_prime(j)*dc_norm(j,i+nres)
         enddo
 
         xxtab(i)=xx
@@ -4098,8 +4102,10 @@ c     &   (dC_norm(j,i-1),j=1,3)," vbld_inv",vbld_inv(i+1),vbld_inv(i)
          dZZ_Ci1(k)=0.0d0
          dZZ_Ci(k)=0.0d0
          do j=1,3
-           dZZ_Ci(k)=dZZ_Ci(k)-uzgrad(j,k,2,i-1)*dC_norm(j,i+nres)
-           dZZ_Ci1(k)=dZZ_Ci1(k)-uzgrad(j,k,1,i-1)*dC_norm(j,i+nres)
+           dZZ_Ci(k)=dZZ_Ci(k)-uzgrad(j,k,2,i-1)
+     &      *dsign(1.0d0,dfloat(itype(i)))*dC_norm(j,i+nres)
+           dZZ_Ci1(k)=dZZ_Ci1(k)-uzgrad(j,k,1,i-1)
+     & *dsign(1.0d0,dfloat(itype(i)))*dC_norm(j,i+nres)
          enddo
           
          dXX_XYZ(k)=vbld_inv(i+nres)*(x_prime(k)-xx*dC_norm(k,i+nres))
index d4a58b5..650af0d 100644 (file)
@@ -17,7 +17,7 @@ C 12/1/95 Array EPS included in the COMMON block.
      & rs0(ntyp,ntyp),chi(ntyp,ntyp),chip(ntyp),chip0(ntyp),alp(ntyp),
      & sigma0(ntyp),sigii(ntyp),rr0(ntyp),r0(ntyp,ntyp),r0e(ntyp,ntyp),
      & r0d(ntyp,2),rpp(2,2),epp(2,2),elpp6(2,2),elpp3(2,2),
-     & eps_scp(20,2),rscp(20,2),eps_orig(ntyp,ntyp)
+     & eps_scp(ntyp,2),rscp(ntyp,2),eps_orig(ntyp,ntyp)
 c 12/5/03 modified 09/18/03 Bond stretching parameters.
       double precision vbldp0,vbldsc0,akp,aksc,abond0,distchainmax
       integer nbondterm
index 1d0f3aa..138a0b9 100644 (file)
@@ -4,23 +4,34 @@
       integer nlob,loc_start,loc_end,ithet_start,ithet_end,
      & iphi_start,iphi_end
 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),
+     &  bthet(2,-ntyp:ntyp),
+     &  polthet(0:3,-ntyp:ntyp),gthet(3,-ntyp:ntyp),theta0(-ntyp:ntyp),
+     &  sig0(-ntyp:ntyp),
+     &  sigc0(-ntyp:ntyp)
 C Parameters of ab initio-derived potential of virtual-bond-angle bending
       integer nthetyp,ntheterm,ntheterm2,ntheterm3,nsingle,ndouble,
-     & ithetyp(ntyp1),nntheterm
-      double precision aa0thet(maxthetyp1,maxthetyp1,maxthetyp1),
-     & aathet(maxtheterm,maxthetyp1,maxthetyp1,maxthetyp1),
-     & bbthet(maxsingle,maxtheterm2,maxthetyp1,maxthetyp1,maxthetyp1),
-     & ccthet(maxsingle,maxtheterm2,maxthetyp1,maxthetyp1,maxthetyp1),
-     & ddthet(maxsingle,maxtheterm2,maxthetyp1,maxthetyp1,maxthetyp1),
-     & eethet(maxsingle,maxtheterm2,maxthetyp1,maxthetyp1,maxthetyp1),
-     & ffthet(maxdouble,maxdouble,maxtheterm3,maxthetyp1,maxthetyp1,
-     &  maxthetyp1),
-     & ggthet(maxdouble,maxdouble,maxtheterm3,maxthetyp1,maxthetyp1,
-     &  maxthetyp1)
-      common /theta_abinitio/aa0thet,aathet,bbthet,ccthet,ddthet,eethet,
+     & ithetyp(-ntyp:ntyp1),nntheterm
+C Parameters of ab initio-derived potential of virtual-bond-angle bending
+      integer nthetyp,ntheterm,ntheterm2,ntheterm3,nsingle,ndouble,
+     & ithetyp(-ntyp1:ntyp1),nntheterm
+      double precision aa0thet(-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,-maxthetyp1:maxthetyp1,2),
+     & aathet(maxtheterm,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,-maxthetyp1:maxthetyp1,2),
+     & bbthet(maxsingle,maxtheterm2,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,-maxthetyp1:maxthetyp1,2),
+     & ccthet(maxsingle,maxtheterm2,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,-maxthetyp1:maxthetyp1,2),
+     & ddthet(maxsingle,maxtheterm2,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,-maxthetyp1:maxthetyp1,2),
+     & eethet(maxsingle,maxtheterm2,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,-maxthetyp1:maxthetyp1,2),
+     & ffthet(maxdouble,maxdouble,maxtheterm3,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1, -maxthetyp1:maxthetyp1,2),
+     & ggthet(maxdouble,maxdouble,maxtheterm3,-maxthetyp1:maxthetyp1,
+     &-maxthetyp1:maxthetyp1,  -maxthetyp1:maxthetyp1,2) 
+     common /theta_abinitio/aa0thet,aathet,bbthet,ccthet,ddthet,eethet,
      &  ffthet,
      &  ggthet,ithetyp,nthetyp,ntheterm,ntheterm2,ntheterm3,nsingle,
      &  ndouble,nntheterm
diff --git a/source/cluster/wham/src-M/include_unres/COMMON.NAMES b/source/cluster/wham/src-M/include_unres/COMMON.NAMES
deleted file mode 100644 (file)
index a266339..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-      character*3 restyp
-      character*1 onelet
-      common /names/ restyp(ntyp+1),onelet(ntyp+1)
-      character*10 ename,wname
-      integer nprint_ene,print_order
-      common /namterm/ ename(max_ene),wname(max_ene),nprint_ene,
-     &   print_order(max_ene)
index 5217de7..fffe09b 100644 (file)
@@ -1,6 +1,6 @@
 C Parameters of the SCCOR term
       double precision v1sccor,v2sccor
       integer nterm_sccor
-      common/torsion/v1sccor(maxterm_sccor,20,20),
-     &    v2sccor(maxterm_sccor,20,20),
+      common/torsion/v1sccor(maxterm_sccor,ntyp,ntyp),
+     &    v2sccor(maxterm_sccor,ntyp,ntyp),
      &    nterm_sccor
index 2da7b8f..a352775 100644 (file)
@@ -1,3 +1,3 @@
 C Parameters of the SC rotamers (local) term
       double precision sc_parmin
-      common/scrot/sc_parmin(maxsccoef,20)
+      common/scrot/sc_parmin(maxsccoef,ntyp)
index d7e6e23..86f8d7a 100644 (file)
      &  epp_low(2,2),epp_up(2,2),rpp_low(2,2),rpp_up(2,2),
      &  elpp6_low(2,2),elpp6_up(2,2),elpp3_low(2,2),elpp3_up(2,2),
      &  b_low(13,3),b_up(13,3),x_up(max_paropt),x_low(max_paropt),
-     &  epscp_low(0:20,2),epscp_up(0:20,2),rscp_low(0:20,2),
-     &  rscp_up(0:20,2),epss_low(ntyp),epss_up(ntyp),epsp_low(nntyp),
+     &  epscp_low(0:ntyp,2),epscp_up(0:ntyp,2),rscp_low(0:ntyp,2),
+     &  rscp_up(0:ntyp,2),epss_low(ntyp),epss_up(ntyp),epsp_low(nntyp),
      &  epsp_up(nntyp),
      &  xm(max_paropt,0:maxprot),xm1(max_paropt,0:maxprot),
      &  xm2(max_paropt,0:maxprot),
      &  imask(max_ene),nsingle_sc,npair_sc,ityp_ssc(ntyp),
      &  ityp_psc(2,nntyp),mask_elec(2,2,4),
      &  mask_fourier(13,3),
-     &  mask_scp(0:20,2,2),mod_other_params,mod_fourier(0:3),
+     &  mask_scp(0:ntyp,2,2),mod_other_params,mod_fourier(0:3),
      &  mod_elec,mod_scp,mod_side,indz(maxbatch+1,maxprot),iw(max_ene) 
index 751c20e..12ea156 100644 (file)
@@ -83,10 +83,17 @@ c-------------------------------------------------------------------------
       include 'COMMON.NAMES'
       include 'COMMON.FFIELD'
       data restyp /
+     &'DD','DAU','DAI','DDB','DSM','DPR','DLY','DAR','DHI','DAS','DGL',
+     & 'DSG','DGN','DSN','DTH',
+     &'DYY','DAL','DTY','DTR','DVA','DLE','DIL','DPN','MED','DCY','ZER',
      &'CYS','MET','PHE','ILE','LEU','VAL','TRP','TYR','ALA','GLY','THR',
-     &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','D'/
+     &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','SME','DBZ',
+     &'AIB','ABU','D'/
       data onelet /
+     &'z','z','z','z','z','p','k','r','h','d','e','n','q','s','t','g',
+     &'a','y','w','v','l','i','f','m','c','x',
      &'C','M','F','I','L','V','W','Y','A','G','T',
-     &'S','Q','N','E','D','H','R','K','P','X'/
+     &'S','Q','N','E','D','H','R','K','P','z','z','z','z','X'/
+      data potname /'LJ','LJK','BP','GB','GBV'/
       data potname /'LJ','LJK','BP','GB','GBV'/
       end 
index 3342513..6c400e1 100644 (file)
@@ -240,15 +240,17 @@ c-------------------------------------------------------------------------
       include 'COMMON.NAMES'
       include 'COMMON.FFIELD'
       data restyp /
-     &'DD','DPR','DLY','DAR','DHI','DAS','DGL','DSG','DGN','DSN','DTH',
+     &'DD','DAU','DAI','DDB','DSM','DPR','DLY','DAR','DHI','DAS','DGL',
+     & 'DSG','DGN','DSN','DTH',
      &'DYY','DAL','DTY','DTR','DVA','DLE','DIL','DPN','MED','DCY','ZER',
      &'CYS','MET','PHE','ILE','LEU','VAL','TRP','TYR','ALA','GLY','THR',
-     &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','D'/
+     &'SER','GLN','ASN','GLU','ASP','HIS','ARG','LYS','PRO','SME','DBZ',
+     &'AIB','ABU','D'/
       data onelet /
-     &'z','p','k','r','h','d','e','n','q','s','t','g',
+     &'z','z','z','z','z','p','k','r','h','d','e','n','q','s','t','g',
      &'a','y','w','v','l','i','f','m','c','x',
      &'C','M','F','I','L','V','W','Y','A','G','T',
-     &'S','Q','N','E','D','H','R','K','P','X'/
+     &'S','Q','N','E','D','H','R','K','P','z','z','z','z','X'/
       data potname /'LJ','LJK','BP','GB','GBV'/
       data ename /
      &   "EVDW SC-SC","EVDW2 SC-p","EES p-p","ECORR4 ","ECORR5 ",
index f01f859..15e0bd0 100644 (file)
@@ -34,7 +34,7 @@ C
       DIMENSION NN(maxconf),DISNN(maxconf)
       LOGICAL FLAG(maxconf)
       integer i,j,k,l,m,n,len,lev,idum,ii,ind,ioffset,jj,icut,ncon,
-     & it,ncon_work,ind1
+     & it,ncon_work,ind1,kkk
       double precision t1,t2,tcpu,difconf
       
       double precision varia(maxvar)
@@ -140,9 +140,10 @@ C
             c(l,k)=allcart(l,k,i)
           enddo 
         enddo
+        kkk=1
         do k=1,nres
           do l=1,3
-            cref(l,k)=c(l,k)
+            cref(l,k,kkk)=c(l,k)
           enddo
         enddo
         DO J=I+1,NCON_work
@@ -358,7 +359,7 @@ c          write (iout,*) "tutaj",zzz
           ibezperm=(run-1)*chalen+i
           do j=1,3
             xx(j,ii)=allcart(j,iaperm,jcon)
-            yy(j,ii)=cref(j,ibezperm)
+            yy(j,ii)=cref(j,ibezperm,kkk)
           enddo
          enddo
         enddo
@@ -372,7 +373,7 @@ c          if (itype(i).ne.10) then
             ii=ii+1
             do j=1,3 
               xx(j,ii)=allcart(j,iaperm+nres,jcon)
-              yy(j,ii)=cref(j,ibezperm+nres)
+              yy(j,ii)=cref(j,ibezperm+nres,kkk)
             enddo
            enddo
 c          endif
@@ -392,7 +393,8 @@ c        do i=nnt,nct
           enddo
          enddo
         enddo
-        call fitsq(rms,c(1,nstart),cref(1,nstart),nend-nstart+1,przes,
+        call fitsq(rms,c(1,nstart),cref(1,nstart,kkk),nend-nstart+1,
+     &       przes,
      &       obrot,non_conv)
       endif
       if (rms.lt.0.0) then
index 385a5ee..f02e1a2 100644 (file)
@@ -183,46 +183,55 @@ C
      &  ntheterm3,nsingle,ndouble
       nntheterm=max0(ntheterm,ntheterm2,ntheterm3)
       read (ithep,*) (ithetyp(i),i=1,ntyp1)
-      do i=1,maxthetyp
-        do j=1,maxthetyp
-          do k=1,maxthetyp
-            aa0thet(i,j,k)=0.0d0
+      do i=-ntyp1,-1
+        ithetyp(i)=-ithetyp(-i)
+      enddo
+      do iblock=1,2
+      do i=-maxthetyp,maxthetyp
+        do j=-maxthetyp,maxthetyp
+          do k=-maxthetyp,maxthetyp
+            aa0thet(i,j,k,iblock)=0.0d0
             do l=1,ntheterm
-              aathet(l,i,j,k)=0.0d0
+              aathet(l,i,j,k,iblock)=0.0d0
             enddo
             do l=1,ntheterm2
               do m=1,nsingle
-                bbthet(m,l,i,j,k)=0.0d0
-                ccthet(m,l,i,j,k)=0.0d0
-                ddthet(m,l,i,j,k)=0.0d0
-                eethet(m,l,i,j,k)=0.0d0
+                bbthet(m,l,i,j,k,iblock)=0.0d0
+                ccthet(m,l,i,j,k,iblock)=0.0d0
+                ddthet(m,l,i,j,k,iblock)=0.0d0
+                eethet(m,l,i,j,k,iblock)=0.0d0
               enddo
             enddo
             do l=1,ntheterm3
               do m=1,ndouble
                 do mm=1,ndouble
-                 ffthet(mm,m,l,i,j,k)=0.0d0
-                 ggthet(mm,m,l,i,j,k)=0.0d0
+                 ffthet(mm,m,l,i,j,k,iblock)=0.0d0
+                 ggthet(mm,m,l,i,j,k,iblock)=0.0d0
                 enddo
               enddo
             enddo
           enddo
         enddo
       enddo
-      do i=1,nthetyp
-        do j=1,nthetyp
-          do k=1,nthetyp
-            read (ithep,'(3a)') res1,res2,res3
-            read (ithep,*) aa0thet(i,j,k)
-            read (ithep,*)(aathet(l,i,j,k),l=1,ntheterm)
+      enddo
+      do iblock=1,2
+      do i=0,nthetyp
+        do j=-nthetyp,nthetyp
+          do k=-nthetyp,nthetyp
+            read (ithep,'(6a)') res1
+            read (ithep,*) aa0thet(i,j,k,iblock)
+            read (ithep,*)(aathet(l,i,j,k,iblock),l=1,ntheterm)
             read (ithep,*)
-     &       ((bbthet(lll,ll,i,j,k),lll=1,nsingle),
-     &        (ccthet(lll,ll,i,j,k),lll=1,nsingle),
-     &        (ddthet(lll,ll,i,j,k),lll=1,nsingle),
-     &        (eethet(lll,ll,i,j,k),lll=1,nsingle),ll=1,ntheterm2)
+     &       ((bbthet(lll,ll,i,j,k,iblock),lll=1,nsingle),
+     &        (ccthet(lll,ll,i,j,k,iblock),lll=1,nsingle),
+     &        (ddthet(lll,ll,i,j,k,iblock),lll=1,nsingle),
+     &        (eethet(lll,ll,i,j,k,iblock),lll=1,nsingle)
+     &        ,ll=1,ntheterm2)
             read (ithep,*)
-     &      (((ffthet(llll,lll,ll,i,j,k),ffthet(lll,llll,ll,i,j,k),
-     &         ggthet(llll,lll,ll,i,j,k),ggthet(lll,llll,ll,i,j,k),
+     &      (((ffthet(llll,lll,ll,i,j,k,iblock),
+     &         ffthet(lll,llll,ll,i,j,k,iblock),
+     &         ggthet(llll,lll,ll,i,j,k,iblock),
+     &         ggthet(lll,llll,ll,i,j,k,iblock),
      &         llll=1,lll-1),lll=2,ndouble),ll=1,ntheterm3)
           enddo
         enddo
@@ -234,17 +243,54 @@ C
       do i=1,nthetyp
         do j=1,nthetyp
           do l=1,ntheterm
-            aathet(l,i,j,nthetyp+1)=aathet(l,i,j,1)
-            aathet(l,nthetyp+1,i,j)=aathet(l,1,i,j)
+            aathet(l,i,j,nthetyp+1,iblock)=0.0d0
+            aathet(l,nthetyp+1,i,j,iblock)=0.0d0
           enddo
-          aa0thet(i,j,nthetyp+1)=aa0thet(i,j,1)
-          aa0thet(nthetyp+1,i,j)=aa0thet(1,i,j)
+          aa0thet(i,j,nthetyp+1,iblock)=0.0d0
+          aa0thet(nthetyp+1,i,j,iblock)=0.0d0
         enddo
         do l=1,ntheterm
-          aathet(l,nthetyp+1,i,nthetyp+1)=aathet(l,1,i,1)
+          aathet(l,nthetyp+1,i,nthetyp+1,iblock)=0.0d0
         enddo
-        aa0thet(nthetyp+1,i,nthetyp+1)=aa0thet(1,i,1)
+        aa0thet(nthetyp+1,i,nthetyp+1,iblock)=0.0d0
       enddo
+      enddo
+C Substitution for D aminoacids from symmetry.
+      do iblock=1,2
+      do i=-nthetyp,0
+        do j=-nthetyp,nthetyp
+          do k=-nthetyp,nthetyp
+           aa0thet(i,j,k,iblock)=aa0thet(-i,-j,-k,iblock)
+           do l=1,ntheterm
+           aathet(l,i,j,k,iblock)=aathet(l,-i,-j,-k,iblock)
+           enddo
+           do ll=1,ntheterm2
+            do lll=1,nsingle
+            bbthet(lll,ll,i,j,k,iblock)=bbthet(lll,ll,-i,-j,-k,iblock)
+            ccthet(lll,ll,i,j,k,iblock)=-ccthet(lll,ll,-i,-j,-k,iblock)
+            ddthet(lll,ll,i,j,k,iblock)=ddthet(lll,ll,-i,-j,-k,iblock)
+            eethet(lll,ll,i,j,k,iblock)=-eethet(lll,ll,-i,-j,-k,iblock)
+            enddo
+          enddo
+          do ll=1,ntheterm3
+           do lll=2,ndouble
+            do llll=1,lll-1
+            ffthet(llll,lll,ll,i,j,k,iblock)=
+     &      ffthet(llll,lll,ll,-i,-j,-k,iblock)
+            ffthet(lll,llll,ll,i,j,k,iblock)=
+     &      ffthet(lll,llll,ll,-i,-j,-k,iblock)
+            ggthet(llll,lll,ll,i,j,k,iblock)=
+     &      -ggthet(llll,lll,ll,-i,-j,-k,iblock)
+            ggthet(lll,llll,ll,i,j,k,iblock)=
+     &      -ggthet(lll,llll,ll,-i,-j,-k,iblock)
+            enddo !ll
+           enddo  !lll  
+          enddo   !llll
+         enddo    !k
+        enddo     !j
+       enddo      !i
+      enddo       !iblock
+
 C
 C Control printout of the coefficients of virtual-bond-angle potentials
 C
@@ -256,16 +302,16 @@ C
               write (iout,'(//4a)')
      &         'Type ',onelett(i),onelett(j),onelett(k)
               write (iout,'(//a,10x,a)') " l","a[l]"
-              write (iout,'(i2,1pe15.5)') 0,aa0thet(i,j,k)
+              write (iout,'(i2,1pe15.5)') 0,aa0thet(i,j,k,iblock)
               write (iout,'(i2,1pe15.5)')
-     &           (l,aathet(l,i,j,k),l=1,ntheterm)
+     &           (l,aathet(l,i,j,k,iblock),l=1,ntheterm)
             do l=1,ntheterm2
               write (iout,'(//2h m,4(9x,a,3h[m,i1,1h]))')
      &          "b",l,"c",l,"d",l,"e",l
               do m=1,nsingle
                 write (iout,'(i2,4(1pe15.5))') m,
-     &          bbthet(m,l,i,j,k),ccthet(m,l,i,j,k),
-     &          ddthet(m,l,i,j,k),eethet(m,l,i,j,k)
+     &          bbthet(m,l,i,j,k,iblock),ccthet(m,l,i,j,k,iblock),
+     &          ddthet(m,l,i,j,k,iblock),eethet(m,l,i,j,k,iblock)
               enddo
             enddo
             do l=1,ntheterm3
@@ -274,8 +320,10 @@ C
               do m=2,ndouble
                 do n=1,m-1
                   write (iout,'(i1,1x,i1,4(1pe15.5))') n,m,
-     &              ffthet(n,m,l,i,j,k),ffthet(m,n,l,i,j,k),
-     &              ggthet(n,m,l,i,j,k),ggthet(m,n,l,i,j,k)
+     &              ffthet(n,m,l,i,j,k,iblock),
+     &              ffthet(m,n,l,i,j,k,iblock),
+     &              ggthet(n,m,l,i,j,k,iblock),
+     &              ggthet(m,n,l,i,j,k,iblock)
                 enddo
               enddo
             enddo
index bdc3dc2..725065a 100644 (file)
@@ -224,7 +224,7 @@ C-koniec robienia kopidm
      1          '       ', 6X,'X',11X,'Y',11X,'Z',
      &                          10X,'X',11X,'Y',11X,'Z')
   110 format (a,'(',i3,')',6f12.5)
-
+       enddo
 
 
       ishift_pdb=ishift
index a832e50..321e11e 100644 (file)
@@ -96,7 +96,7 @@ C
       double precision x(maxvar)
       integer itype_pdb(maxres)
       logical seq_comp
-      integer i,j
+      integer i,j,kkk
 C
 C Body
 C
@@ -303,9 +303,10 @@ c      endif
           nstart_sup=nnt
           nstart_seq=nnt
           nsup=nct-nnt+1
+          kkk=1
           do i=1,2*nres
             do j=1,3
-              cref(j,i)=c(j,i)
+              cref(j,i,kkk)=c(j,i)
             enddo
           enddo
         endif
index a7db9bf..8e4fa74 100644 (file)
@@ -347,6 +347,7 @@ c------------------------------------------------------------------------------
       include "COMMON.ENERGIES"
       include "COMMON.COMPAR"
       include "COMMON.PROT"
+      include "COMMON.CONTACTS1"
       character*64 nazwa
       character*80 bxname,cxname
       character*64 bprotfile_temp
@@ -361,6 +362,7 @@ c------------------------------------------------------------------------------
       integer ilen,iroof
       external ilen,iroof
       integer ir,ib,iparm
+      integer isecstr(maxres)
       write (licz2,'(bz,i2.2)') islice
       call opentmp(islice,ientout,bprotfile_temp)
       write (iout,*) "bprotfile_temp ",bprotfile_temp
@@ -459,8 +461,12 @@ c        write (iout,*) iR,ib,iparm,eini,efree
         iscore=0
 c        write (iout,*) "Calling conf_compar",i
 c        call flush(iout)
+         anatemp= 1.0d0/(beta_h(ib,iparm)*1.987D-3)
         if (indpdb.gt.0) then
           call conf_compar(i,.false.,.true.)
+c        else
+c            call elecont(.false.,ncont,icont,nnt,nct)
+c            call secondary2(.false.,.false.,ncont,icont,isecstr)
         endif
 c        write (iout,*) "Exit conf_compar",i
 c        call flush(iout)
index 9c9bc7d..4088831 100644 (file)
@@ -656,13 +656,13 @@ cd            write (iout,*)'helix',nhelix,ii1,j1
         
       if (lprint) then
 
-        write(iout,*) 'UNRES seq:'
+        write(iout,*) 'UNRES seq:',anatemp
         do j=1,nbfrag
          write(iout,*) 'beta ',(bfrag(i,j),i=1,4)
         enddo
   
         do j=1,nhfrag
-         write(iout,*) 'helix ',(hfrag(i,j),i=1,2)
+         write(iout,*) 'helix ',(hfrag(i,j),i=1,2),anatemp
         enddo
 
       endif