READ_HOMOL_FRAG wham
[unres.git] / source / wham / src / readrtns.F
index 21a484e..431392b 100644 (file)
@@ -17,6 +17,7 @@
       include "COMMON.FREE"
       include "COMMON.CONTROL"
       include "COMMON.ENERGIES"
+      include "COMMON.SBRIDGE"
       character*800 controlcard
       integer i,j,k,ii,n_ene_found
       integer ind,itype1,itype2,itypf,itypsc,itypp
@@ -70,6 +71,9 @@
       call reada(controlcard,"DELTA",delta,1.0d-2)
       call readi(controlcard,"EINICHECK",einicheck,2)
       call reada(controlcard,"DELTRMS",deltrms,5.0d-2)
+      call readi(controlcard,"NGRIDT",NGridT,400)
+      call reada(controlcard,"STARTGRIDT",StartGridT,200.0d0)
+      call reada(controlcard,"DELTA_T",Delta_T,1.0d0)
       call reada(controlcard,"DELTRGY",deltrgy,5.0d-2)
       call readi(controlcard,"RESCALE",rescale_mode,1)
       check_conf=index(controlcard,"NO_CHECK_CONF").eq.0
       entfile=index(controlcard,"ENTFILE").gt.0
       zscfile=index(controlcard,"ZSCFILE").gt.0
       with_dihed_constr = index(controlcard,"WITH_DIHED_CONSTR").gt.0
-      write (iout,*) "with_dihed_constr ",with_dihed_constr
+      call readi(controlcard,'CONSTR_DIST',constr_dist,0)
+      write (iout,*) "with_dihed_constr ",with_dihed_constr,
+     & " CONSTR_DIST",constr_dist
+      call readi(controlcard,'CONSTR_HOMOL',constr_homology,0)
+      write (iout,*) "with_homology_constr ",with_dihed_constr,
+     & " CONSTR_HOMOLOGY",constr_homology
+      read_homol_frag = index(controlcard,"READ_HOMOL_FRAG").gt.0
+      refstr = index(controlcard,'REFSTR').gt.0
+      pdbref = index(controlcard,'PDBREF').gt.0
+      dyn_ss=(index(controlcard,'DYN_SS').gt.0)
+C /06/28/2013 Adasko: dyn_ss is keyword allowing to break and create bond
+C disulfide bond. Note that in conterary to dynamics this in
+C CONTROLCARD. The bond are read in molread_zs.F 
+      call flush(iout)
       return
       end
 c------------------------------------------------------------------------------
@@ -131,6 +148,11 @@ C
       endif
       replica(iparm)=index(controlcard,"REPLICA").gt.0
       umbrella(iparm)=index(controlcard,"UMBRELLA").gt.0
+      if (umbrella(iparm) .and. homol_nset.gt.1) then
+        umbrella(iparm) = .false.
+        write (iout,*) 
+     & "Replica in homology restraints weights UMBRELLA ignored,",iparm
+      endif
       read_iset(iparm)=index(controlcard,"READ_ISET").gt.0
       write (iout,*) "nQ",nQ," nT",nT_h(iparm)," replica ",
      &  replica(iparm)," umbrella ",umbrella(iparm),
@@ -173,6 +195,15 @@ C
         call flush(iout)
       enddo
 
+      write (iout,*) "HOMOL_NSET",homol_nset
+      if (homol_nset.gt.1) then
+        write (iout,*) "HOMOL_NSET: nT_h",nT_h(iparm)
+        do ib=1,nT_h(iparm)
+          nR(ib,iparm)=homol_nset
+          write (iout,*) "iparm",iparm," ib",ib," nR",nR(ib,iparm)
+        enddo
+      endif
+
       enddo
 
       if (hamil_rep) then
@@ -222,7 +253,7 @@ c-----------------------------------------------------------------------------
       include "COMMON.NAMES"
       include "COMMON.FREE"
       include "COMMON.OBCINKA"
-      character*64 nazwa
+      character*128 nazwa
       character*16000 controlcard
       integer i,ii,ib,iR,iparm,ilen,iroof,nthr,npars
       external ilen,iroof
@@ -325,7 +356,7 @@ c-------------------------------------------------------------------------------
       include "COMMON.PROTFILES"
       include "COMMON.PROT"
       include "COMMON.FREE"
-      character*64 bprotfile_temp
+      character*128 bprotfile_temp
       character*3 liczba,liczba2
       character*2 liczba1
       integer iunit,islice
@@ -385,7 +416,8 @@ c-------------------------------------------------------------------------------
       include "COMMON.SBRIDGE"
       include "COMMON.OBCINKA"
       real*4 csingle(3,maxres2)
-      character*64 nazwa,bprotfile_temp
+      character*64 nazwa
+      character*128 bprotfile_temp
       character*3 liczba
       character*2 liczba1
       integer i,j,ii,jj(maxslice),k,kk(maxslice),l,