Fixed the "***" issue in PDB output format by shifting the center of each molecule...
[unres.git] / source / xdrfpdb / src / xdrf2pdb.F
index c87e9ff..592d552 100644 (file)
@@ -17,6 +17,7 @@
       external rescode
       logical iblnk
       external iblnk
+      double precision cm(3)
       
       ifreq=1
       is=1
        print *,"potE",potE," uconst",uconst
 #ifdef NEWUNRES
        call xdrffloat(ixdrf, uconst_back, iret)
-#endif
        print *,"uconst_back",uconst_back
+#endif
        call xdrffloat(ixdrf, t_bath, iret)
        print *,"t_bath",t_bath
        call xdrfint(ixdrf, nss, iret) 
         call xdrfint(ixdrf, jhpb(j), iret)
        enddo
        print *,"nss",nss
+       print *,"   ",(ihpb(j),"-",jhpb(j),j=1,nss)
        call xdrfint(ixdrf, nfrag, iret)
        do i=1,nfrag
         call xdrffloat(ixdrf, qfrag(i), iret)
@@ -149,6 +151,20 @@ c       write (*,'(8f10.5)') ((coord(k,j),k=1,3),j=1,isize)
              c(j,i+nres)=coord(j,ii+nres)
            enddo
          enddo
+c Calculate the CM
+         do j=1,3
+           cm(j)=0.0d0
+           do i=1,nres
+             cm(j)=cm(j)+c(j,i)
+           enddo
+           cm(j)=cm(j)/nres
+         enddo
+         do i=1,nres
+           do j=1,3
+             c(j,i)=c(j,i)-cm(j)
+             c(j,i+nres)=c(j,i+nres)-cm(j)
+           enddo
+         enddo
          etot=potE
          write (tytul,'(a,i6)') "Structure",kk
          call pdbout(etot,tytul,9)