changes
[unres.git] / source / unres / src-HCD-5D / readrtns_CSA.F
index f120ec7..4fbc0f1 100644 (file)
@@ -741,7 +741,7 @@ C
       integer ilen
       external ilen
       integer iperm,tperm
-      integer i,j,ii,k,l,itrial,itmp,i1,i2,it1,it2,nres_temp
+      integer i,j,ii,k,l,itrial,itmp,i1,i2,it1,it2,nres_temp,itemp
       double precision sumv
 C
 C Read PDB structure if applicable
@@ -1195,11 +1195,22 @@ c      write (iout,*) "After read_dist_constr nhpb",nhpb
                 enddo
               enddo
             else
-              if (me.eq.king .or. .not. out1file)
+c              itemp=nres
+c              nres=nres_temp
+c              call gen_rand_conf(itemp,*115)
+c              nmodel_start=nmodel_start+1
+c              do i=1,2*nres
+c                do j=1,3
+c                  chomo(j,i,nmodel_start)=c(j,i)
+c                enddo
+c              enddo
+c              goto 116
+  115         if (me.eq.king .or. .not. out1file)
      &          write (iout,'(a,2i5,1x,a)') 
      &           "Different number of residues",nres_temp,nres,
      &           " model skipped."
             endif
+  116       continue
             nres=nres_temp
           enddo
   332     continue
@@ -1215,8 +1226,6 @@ c      write (iout,*) "After read_dist_constr nhpb",nhpb
 
 
 C      endif
-c      write (iout,*) "iranconf",iranconf," extconf",extconf,
-c     & " start_from_models",start_from_model
       if (indpdb.eq.0 .and. modecalc.ne.2 .and. modecalc.ne.4
      &    .and. modecalc.ne.8 .and. modecalc.ne.9 .and. 
      &    modecalc.ne.10) then
@@ -1230,11 +1239,16 @@ C initial geometry.
             read(inp,'(8f10.5)',end=36,err=36)
      &       ((c(l,k),l=1,3),k=1,nres),
      &       ((c(l,k+nres),l=1,3),k=nnt,nct)
+            if (nnt.gt.1) c(:,nres+1)=c(:,1)
+            if (nct.lt.nres) c(:,2*nres)=c(:,nres)
 c            write (iout,*) "Exit READ_CART"
 c            write (iout,'(8f10.5)') 
 c     &       ((c(l,k),l=1,3),k=1,nres),
 c     &       ((c(l,k+nres),l=1,3),k=nnt,nct)
             call cartprint
+            do j=1,3
+              dc(j,0)=c(j,1)
+            enddo
             do i=1,nres-1
               do j=1,3
                 dc(j,i)=c(j,i+1)-c(j,i)
@@ -1294,7 +1308,7 @@ c            return
           enddo
           call bond_regular
           call chainbuild_extconf
-        else
+        else if (.not. start_from_model) then
           if(me.eq.king.or..not.out1file)
      &     write (iout,'(a)') 'Random-generated initial geometry.'
           call bond_regular
@@ -3651,6 +3665,7 @@ c
       call getenv("FRAGFILE",fragfile) 
       open(ientin,file=fragfile,status="old",err=10)
       read(ientin,*) constr_homology,nclust
+      nmodel_start=constr_homology
       l_homo = .false.
       sigma_theta=0.0
       sigma_d=0.0