changes
[unres.git] / source / unres / src-HCD-5D / readpdb-mult.F
index 76cb6b6..41fe7f6 100644 (file)
@@ -64,9 +64,9 @@ c        call flush(iout)
           iterter(ires_old-1)=1
           itype(ires_old)=ntyp1
           iterter(ires_old)=1
-c          ishift1=ishift1+1
+          ishift1=ishift1+1
           ibeg=2
-          write (iout,*) "Chain ended",ires,ishift,ires_old,ibeg
+          write (iout,*) "Chain ended",ires,ishift,ires_old
           if (unres_pdb) then
             do j=1,3
               dc(j,ires)=sccor(j,iii)
@@ -95,8 +95,8 @@ c          write (iout,*) "! ",atom," !",ires
           read (card(18:20),'(a3)') res
 c          write (iout,*) "ires",ires,ires-ishift+ishift1,
 c     &      " ires_old",ires_old
-c         write (iout,*) "ishift",ishift," ishift1",ishift1
-c         write (iout,*) "IRES",ires-ishift+ishift1,ires_old
+c          write (iout,*) "ishift",ishift," ishift1",ishift1
+c          write (iout,*) "IRES",ires-ishift+ishift1,ires_old
           if (ires-ishift+ishift1.ne.ires_old) then
 ! Calculate the CM of the preceding residue.
 !            if (ibeg.eq.0) call sccenter(ires,iii,sccor)
@@ -115,7 +115,6 @@ c                write (iout,'(i5,3f10.5)') ires,(sccor(j,iii),j=1,3)
               sccalc=.true.
             endif
 ! Start new residue.
-c            write (iout,*) "ibeg",ibeg
             if (res.eq.'Cl-' .or. res.eq.'Na+') then
               ires=ires_old
               cycle
@@ -134,13 +133,10 @@ c              write (iout,*) "BEG ires",ires
             else if (ibeg.eq.2) then
 ! Start a new chain
               ishift=-ires_old+ires-1 !!!!!
-c              ishift1=ishift1-1    !!!!!
-c              write (iout,*) "New chain started",ires,ires_old,ishift,
-c     &           ishift1
+              ishift1=ishift1-1    !!!!!
+c              write (iout,*) "New chain started",ires,ishift,ishift1,"!"
               ires=ires-ishift+ishift1
-              write (iout,*) "New chain started ires",ires
               ires_old=ires
-c              ires=ires_old+1
               ibeg=0
             else
               ishift=ishift-(ires-ishift+ishift1-ires_old-1)
@@ -163,8 +159,7 @@ c          write (2,*) "ires",ires," res ",res!," ity"!,ity
           if (atom.eq.'CA' .or. atom.eq.'CH3' .or. 
      &       res.eq.'NHE'.and.atom(:2).eq.'HN') then
             read(card(31:54),'(3f8.3)') (c(j,ires),j=1,3)
-c            write (iout,*) "backbone ",atom
-c            write (iout,*) ires,res,(c(j,ires),j=1,3)
+!            write (iout,*) "backbone ",atom
 #ifdef DEBUG
             write (iout,'(i6,i3,2x,a,3f8.3)') 
      &      ires,itype(ires),res,(c(j,ires),j=1,3)
@@ -234,7 +229,7 @@ C 2/15/2013 by Adam: corrected insertion of the first dummy residue
               e2(3)=0.0d0
             endif
             do j=1,3
-              c(j,i)=c(j,i+1)+1.9d0*(-e1(j)+e2(j))/sqrt(2.0d0)
+              c(j,i)=c(j,i+1)-1.9d0*e2(j)
             enddo
           else !unres_pdb
            do j=1,3
@@ -417,9 +412,8 @@ C and convert the peptide geometry into virtual-chain geometry.
       character*3 seq,res
       character*5 atom
       character*80 card
-      double precision sccor(3,50)
+      double precision sccor(3,20)
       integer rescode,iterter(maxres)
-      logical zero
       do i=1,maxres
          iterter(i)=0
       enddo
@@ -587,7 +581,7 @@ C 2/15/2013 by Adam: corrected insertion of the first dummy residue
               e2(3)=0.0d0
             endif
             do j=1,3
-              c(j,i)=c(j,i+1)+1.9d0*(-e1(j)+e2(j))/sqrt(2.0d0)
+              c(j,i)=c(j,i+1)-1.9d0*e2(j)
             enddo
           else !unres_pdb
            do j=1,3
@@ -622,7 +616,7 @@ C 2/15/2013 by Adam: corrected insertion of the last dummy residue
             e2(3)=0.0d0
           endif
           do j=1,3
-            c(j,nres)=c(j,nres-1)+1.9d0*(-e1(j)+e2(j))/sqrt(2.0d0)
+            c(j,nres)=c(j,nres-1)-1.9d0*e2(j)
           enddo
         else
         do j=1,3
@@ -654,7 +648,7 @@ C 2/15/2013 by Adam: corrected insertion of the first dummy residue
             e2(3)=0.0d0
           endif
           do j=1,3
-            c(j,1)=c(j,2)+1.9d0*(e1(j)-e2(j))/dsqrt(2.0d0)
+            c(j,1)=c(j,2)-1.9d0*e2(j)
           enddo
         else
         do j=1,3
@@ -682,18 +676,6 @@ C Calculate internal coordinates.
      &    (c(j,ires+nres),j=1,3)
       enddo
       endif
-      zero=.false.
-      do ires=1,nres
-        zero=zero.or.itype(ires).eq.0
-      enddo
-      if (zero) then
-        write (iout,'(2a)') "Gaps in PDB coordinates detected;",
-     &    " look for ZERO in the control output above."
-        write (iout,'(2a)') "Repair the PDB file using MODELLER",
-     &    " or other softwared and resubmit."
-        call flush(iout)
-        stop
-      endif
 C Calculate internal coordinates.
       call int_from_cart(.true.,out_template_coord)
       call sc_loc_geom(.false.)
@@ -701,7 +683,6 @@ C Calculate internal coordinates.
         thetaref(i)=theta(i)
         phiref(i)=phi(i)
       enddo
-      dc(:,0)=c(:,1)
       do i=1,nres-1
         do j=1,3
           dc(j,i)=c(j,i+1)-c(j,i)