READ_HOMOL_FRAG wham
[unres.git] / source / wham / src / readrtns.F
index c13b16e..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
       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
@@ -139,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),
@@ -181,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
@@ -230,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
@@ -333,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
@@ -393,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,