some corrections in xdrf2pdb-m for dyn_ss
[unres.git] / source / xdrfpdb / src / xdrf2pdb-m.F
index a12edb8..199d23a 100644 (file)
@@ -3,24 +3,25 @@
       include 'COMMON.CHAIN'
       include 'COMMON.INTERACT'
       include 'COMMON.SBRIDGE'
-      real*4 coord(3,5000)
+      real*4 coord(3,2*maxres)
       real*4 prec,time,potE,uconst,t_bath,qfrag(100)
       real*8 etot
       character*80 arg,seqfile,pdbfile
       character*3 sequenc(maxres)
       character*50 tytul
       character*8 onethree,cfreq,cntraj,citraj
+      character*3 licz
       character*8 ucase
       external ucase
-      logical oneletter, iblnk
+      logical oneletter,iblnk
       integer rescode
       external rescode
       
       ifreq=1
-      if (iargc().lt.3) then
+      if (iargc().lt.5) then
         print '(2a)',
-     &   "Usage: xdrf2pdb-m one/three seqfile cxfile [freq] [pdbfile] ",
-     &    " [ntraj] [itraj]"
+     &   "Usage: xdrf2pdb-m one/three seqfile cxfile ntraj itraj",
+     &   " [pdbfile] [freq]"
         stop
       endif
       call getarg(1,onethree)
@@ -61,7 +62,7 @@ c        do while (.not.(iblnk(sequenc(i+1)(1:1)) == 0))
           itype(i)=rescode(i,sequenc(i),0)
         enddo
         print *,nres
-        print '(a3,1x)',(sequenc(i),i=1,nres)
+        print '(20(a3,1x))',(sequenc(i),i=1,nres)
       endif
       call getarg(3,arg)
       iext = index(arg,'.cx') - 1
@@ -69,28 +70,21 @@ c        do while (.not.(iblnk(sequenc(i+1)(1:1)) == 0))
         print *,"Error - not a cx file"
         stop
       endif
-      if (iargc().gt.3) then
-        call getarg(4,cfreq)
-        read (cfreq,*) ifreq
-      endif
-      if (iargc().gt.4) then
-        call getarg(5,pdbfile)
-      else
-        pdbfile=arg(:iext)//'.pdb'
-      endif
+      call getarg(4,cntraj)
+      read (cntraj,*) ntraj
+      call getarg(5,citraj)
+      read (citraj,*) itraj
       if (iargc().gt.5) then
-        call getarg(6,cntraj)
-        read (cntraj,*) ntraj
+        call getarg(6,pdbfile)
       else
-        ntraj=1
+        write(licz,'(bz,i3.3)') itraj
+        pdbfile=arg(:iext)//'_'//licz//'.pdb'
       endif
       if (iargc().gt.6) then
-        call getarg(7,citraj)
-        read (citraj,*) itraj
-      else
-        itraj=1
+        call getarg(7,cfreq)
+        read (cfreq,*) ifreq
       endif
-      print *,"ifreq",ifreq," ntraj",ntraj," itraj",itraj
+c      print *,"ifreq",ifreq," ntraj",ntraj," itraj",itraj
       open(9,file=pdbfile)
       nnt = 1
       if (itype(1).eq.21) nnt = 2
@@ -101,31 +95,38 @@ c        do while (.not.(iblnk(sequenc(i+1)(1:1)) == 0))
       kk = 0
       do while(.true.) 
        call xdrffloat(ixdrf, time, iret)
+       print *,"time",time," iret",iret
        if(iret.eq.0) exit
        kk = kk + 1
        call xdrffloat(ixdrf, potE, iret)
        call xdrffloat(ixdrf, uconst, iret)
        call xdrffloat(ixdrf, t_bath, iret)
        print *,"potE",potE," uconst",uconst," t_bath",t_bath
-#ifdef NEWUNRES
-       call xdrffloat(ixdrf, uconst_back, iret)
-#endif
-       print *,"uconst_back",uconst_back
+c
+c uconst_back not written in MREMD.F code
+c#ifdef NEWUNRES
+c       call xdrffloat(ixdrf, uconst_back, iret)
+c       print *,"uconst_back",uconst_back
+c#endif
        call xdrfint(ixdrf, nss, iret) 
        do j=1,nss
         call xdrfint(ixdrf, ihpb(j), iret)
         call xdrfint(ixdrf, jhpb(j), iret)
        enddo
+       print *,"nss",nss
+       print *,"   ",(ihpb(j),"-",jhpb(j),j=1,nss)
        call xdrfint(ixdrf, nfrag, iret)
+       call xdrfint(ixdrf, iset, iret)
        do i=1,nfrag
         call xdrffloat(ixdrf, qfrag(i), iret)
        enddo
+       print *,"nfrag",nfrag,"iset",iset
        prec=10000.0
 
        isize=0
        print *," call xdrf3coord"
        call xdrf3dfcoord(ixdrf, coord, isize, prec, iret)
-
+       print *,"isize",isize
 
 c       write (*,'(e15.8,2e15.5,f12.5,$)') time,potE,uconst,t_bath
 c       write (*,'(i4,$)') nss,(ihpb(j),jhpb(j),j=1,nss)