unres
[unres.git] / source / unres / src-HCD-5D / geomout.F
index b0156a1..553dbf6 100644 (file)
@@ -7,7 +7,7 @@
       include 'COMMON.IOUNITS'
       include 'COMMON.HEADER'
       include 'COMMON.SBRIDGE'
-      include 'COMMON.DISTFIT'
+      include 'COMMON.FRAG'
       include 'COMMON.MD'
 #ifdef FIVEDIAG
        include 'COMMON.LAGRANGE.5diag'
 #endif
       character*50 tytul
       integer iunit
-      character*1 chainid(10) /'A','B','C','D','E','F','G','H','I','J'/
+      character*1 chainid(52) /'A','B','C','D','E','F','G','H','I','J',
+     & 'K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
+     & 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p',
+     & 'q','r','s','t','u','v','w','x','y','z'/
       integer ica(maxres)
       integer i,j,k,iti,itj,itk,itl,iatom,ichain,ires
       double precision etot
@@ -90,8 +93,8 @@ cmodel      write (iunit,'(a5,i6)') 'MODEL',1
         do i=1,nss
          if (dyn_ss) then
           write(iunit,'(a6,i4,1x,a3,i7,4x,a3,i7)') 
-     &         'SSBOND',i,'CYS',idssb(i)-nnt+1,
-     &                    'CYS',jdssb(i)-nnt+1
+     &         'SSBOND',i,'CYS',iss(idssb(i))-nnt+1,
+     &                    'CYS',iss(jdssb(i))-nnt+1
          else
           write(iunit,'(a6,i4,1x,a3,i7,4x,a3,i7)') 
      &         'SSBOND',i,'CYS',ihpb(i)-nnt+1-nres,
@@ -107,9 +110,10 @@ cmodel      write (iunit,'(a5,i6)') 'MODEL',1
         iti=itype(i)
         if ((iti.eq.ntyp1).and.((itype(i+1)).eq.ntyp1)) then
           ichain=ichain+1
+          if (ichain.gt.52) ichain=1
           ires=0
           write (iunit,'(a)') 'TER'
-        else
+        else if (iti.ne.ntyp1) then
         ires=ires+1
         iatom=iatom+1
         ica(i)=iatom
@@ -141,7 +145,7 @@ cmodel      write (iunit,'(a5,i6)') 'MODEL',1
       endif
       do i=1,nss
        if (dyn_ss) then
-        write (iunit,30) ica(idssb(i))+1,ica(jdssb(i))+1
+        write (iunit,30) ica(iss(idssb(i)))+1,ica(iss(jdssb(i)))+1
        else
         write (iunit,30) ica(ihpb(i)-nres)+1,ica(jhpb(i)-nres)+1
        endif
@@ -224,11 +228,11 @@ c------------------------------------------------------------------------
       include 'COMMON.TORSION'
       integer i,iti
       write (iout,'(/a)') 'Geometry of the virtual chain.'
-      write (iout,'(7a)') '  Res  ','         d','     Theta',
+      write (iout,'(7a)') '  Res   ','         d','     Theta',
      & '       Phi','       Dsc','     Alpha','      Omega'
       do i=1,nres
        iti=itype(i)
-        write (iout,'(a3,i4,6f10.3)') restyp(iti),i,vbld(i),
+        write (iout,'(a3,i5,6f10.3)') restyp(iti),i,vbld(i),
      &     rad2deg*theta(i),rad2deg*phi(i),vbld(nres+i),rad2deg*alph(i),
      &     rad2deg*omeg(i)
       enddo
@@ -293,7 +297,7 @@ c----------------------------------------------------------------
       include 'COMMON.IOUNITS'
       include 'COMMON.HEADER'
       include 'COMMON.SBRIDGE'
-      include 'COMMON.DISTFIT'
+      include 'COMMON.FRAG'
       include 'COMMON.MD'
       include 'COMMON.QRESTR'
       integer i,j,k
@@ -331,13 +335,14 @@ c-----------------------------------------------------------------
 #else
       parameter (me=0)
 #endif
+      include 'COMMON.CONTROL'
       include 'COMMON.CHAIN'
       include 'COMMON.INTERACT'
       include 'COMMON.NAMES'
       include 'COMMON.IOUNITS'
       include 'COMMON.HEADER'
       include 'COMMON.SBRIDGE'
-      include 'COMMON.DISTFIT'
+      include 'COMMON.FRAG'
       include 'COMMON.MD'
       include 'COMMON.QRESTR'
       double precision time
@@ -355,8 +360,13 @@ c-----------------------------------------------------------------
       call xdrfint_(ixdrf, nss, iret) 
       do j=1,nss
        if (dyn_ss) then
-        call xdrfint_(ixdrf, idssb(j)+nres, iret)
-        call xdrfint_(ixdrf, jdssb(j)+nres, iret)
+        if (modecalc.eq.14) then
+          call xdrfint_(ixdrf, idssb(j), iret)
+          call xdrfint_(ixdrf, jdssb(j), iret)
+        else
+          call xdrfint_(ixdrf, iss(idssb(j))+nres, iret)
+          call xdrfint_(ixdrf, iss(jdssb(j))+nres, iret)
+        endif
        else
         call xdrfint_(ixdrf, ihpb(j), iret)
         call xdrfint_(ixdrf, jhpb(j), iret)
@@ -387,8 +397,13 @@ c     & " nss",nss
       call xdrfint(ixdrf, nss, iret) 
       do j=1,nss
        if (dyn_ss) then
-        call xdrfint(ixdrf, idssb(j)+nres, iret)
-        call xdrfint(ixdrf, jdssb(j)+nres, iret)
+        if (modecalc.eq.14) then
+          call xdrfint(ixdrf, idssb(j), iret)
+          call xdrfint(ixdrf, jdssb(j), iret)
+        else
+          call xdrfint(ixdrf, iss(idssb(j))+nres, iret)
+          call xdrfint(ixdrf, iss(jdssb(j))+nres, iret)
+        endif
        else
         call xdrfint(ixdrf, ihpb(j), iret)
         call xdrfint(ixdrf, jhpb(j), iret)
@@ -441,7 +456,7 @@ c-----------------------------------------------------------------
       include 'COMMON.IOUNITS'
       include 'COMMON.HEADER'
       include 'COMMON.SBRIDGE'
-      include 'COMMON.DISTFIT'
+      include 'COMMON.FRAG'
       include 'COMMON.MD'
       include 'COMMON.QRESTR'
       include 'COMMON.REMD'
@@ -541,7 +556,7 @@ C          print *,'A CHUJ',potEcomp(23)
           if(itime.eq.0) then
            write(format,'(a1,a4,a1,a4,a10)') "(",format1,",",format2,
      &                                                     ",31a12)"
-           write (istat,format) "#","",
+           write (istat,format) "#"," ",
      &      (ename(print_order(i)),i=1,nprint_ene)
           endif
           write(format,'(a1,a4,a1,a4,a10)') "(",format1,",",format2,