update
[unres.git] / source / unres / src_MD-M-SAXS-homology / readrtns_CSA.F
index 0fd9c3e..66f7c17 100644 (file)
@@ -720,6 +720,7 @@ C
       double precision secprob(3,maxdih_constr)
       integer ilen
       external ilen
+      integer tperm
 C
 C Read PDB structure if applicable
 C
@@ -789,16 +790,24 @@ C Convert sequence to numeric code
           itype(i)=rescode(i,sequence(i),iscode)
         enddo
 C Assign initial virtual bond lengths
-        do i=2,nres
-          vbld(i)=vbl
-          vbld_inv(i)=vblinv
-        enddo
-        do i=2,nres-1
-          vbld(i+nres)=dsc(iabs(itype(i)))
-          vbld_inv(i+nres)=dsc_inv(iabs(itype(i)))
+c        do i=2,nres
+c          vbld(i)=vbl
+c          vbld_inv(i)=vblinv
+c        enddo
+c        if (itype(1).eq.ntyp1) then
+c          vbld(2)=vbld(2)/2
+c          vbld_inv(2)=vbld_inv(2)*2
+c        endif
+c        if (itype(nres).eq.ntyp1) then
+c          vbld(nres)=vbld(nres)/2
+c          vbld_inv(nres)=vbld_inv(nres)*2
+c        endif
+c        do i=2,nres-1
+c          vbld(i+nres)=dsc(iabs(itype(i)))
+c          vbld_inv(i+nres)=dsc_inv(iabs(itype(i)))
 c          write (iout,*) "i",i," itype",itype(i),
 c     &      " dsc",dsc(itype(i))," vbld",vbld(i),vbld(i+nres)
-        enddo
+c        enddo
       endif 
 c      print *,nres
 c      print '(20i4)',(itype(i),i=1,nres)
@@ -838,10 +847,10 @@ cd      print *,'NNT=',NNT,' NCT=',NCT
       enddo
       call chain_symmetry(nchain,nres,itype,chain_border,
      &    chain_length,npermchain,tabpermchain)
-      do i=1,nres
-        write(iout,*) i,(tperm(ireschain(i),ii,tabpermchain),
-     &    ii=1,npermchain)
-      enddo
+c      do i=1,nres
+c        write(iout,*) i,(tperm(ireschain(i),ii,tabpermchain),
+c     &    ii=1,npermchain)
+c      enddo
       write(iout,*) "residue permutations"
       do i=1,nres
         write(iout,*) i,(iperm(i,ii),ii=1,npermchain)
@@ -1057,6 +1066,7 @@ c----------------------
       if (refstr) then
         if (.not.pdbref) then
           call read_angles(inp,*38)
+          call bond_regular
           goto 39
    38     write (iout,'(a)') 'Error reading reference structure.'
 #ifdef MPI
@@ -1196,6 +1206,7 @@ c            call setup_var
 c            return
           else
             call read_angles(inp,*36)
+            call bond_regular
             call chainbuild_extconf
           endif
           goto 37
@@ -1206,27 +1217,27 @@ c            return
           stop 'Error reading angle file.'
    37     continue 
         else if (extconf) then
-         if(me.eq.king.or..not.out1file .and. fg_rank.eq.0)
-     &    write (iout,'(a)') 'Extended chain initial geometry.'
-         do i=3,nres
-          theta(i)=90d0*deg2rad
-         enddo
-         do i=4,nres
-          phi(i)=180d0*deg2rad
-         enddo
-         do i=2,nres-1
-          alph(i)=110d0*deg2rad
-         enddo
-         do i=2,nres-1
-          omeg(i)=-120d0*deg2rad
-          if (itype(i).le.0) omeg(i)=-omeg(i)
-         enddo
-        call chainbuild_extconf
+          if (me.eq.king.or..not.out1file .and. fg_rank.eq.0)
+     &      write (iout,'(a)') 'Extended chain initial geometry.'
+          do i=3,nres
+            theta(i)=90d0*deg2rad
+          enddo
+          do i=4,nres
+            phi(i)=180d0*deg2rad
+          enddo
+          do i=2,nres-1
+            alph(i)=110d0*deg2rad
+          enddo
+          do i=2,nres-1
+            omeg(i)=-120d0*deg2rad
+            if (itype(i).le.0) omeg(i)=-omeg(i)
+          enddo
+          call bond_regular
+          call chainbuild_extconf
         else
           if(me.eq.king.or..not.out1file)
      &     write (iout,'(a)') 'Random-generated initial geometry.'
-
-
+          call bond_regular
 #ifdef MPI
           if (me.eq.king  .or. fg_rank.eq.0 .and. (
      &           modecalc.eq.12 .or. modecalc.eq.14) ) then  
@@ -3659,7 +3670,7 @@ c           write (iout,*) "c(",j,i,") =",c(j,i)
           enddo
         enddo
         call int_from_cart(.true.,.false.)
-        call sc_loc_geom(.false.)
+        call sc_loc_geom(.true.)
         do i=1,nres
           thetaref(i)=theta(i)
           phiref(i)=phi(i)
@@ -3810,5 +3821,5 @@ c
       endif
 
       return
-   10 stop "Error infragment file"
+   10 stop "Error in fragment file"
       end