Adam's changes to wham and cluster following previous commit
[unres.git] / source / cluster / wham / src / readrtns.F
index be830b5..037eb1f 100644 (file)
@@ -37,7 +37,8 @@ C
       min_var=(index(controlcard,'MINVAR').gt.0)
       plot_tree=(index(controlcard,'PLOT_TREE').gt.0)
       punch_dist=(index(controlcard,'PUNCH_DIST').gt.0)
-      call readi(controlcard,'NCUT',ncut,1)
+      call readi(controlcard,'NCUT',ncut,0)
+      call readi(controlcard,'NCLUST',nclust,5)
       call readi(controlcard,'NSTART',nstart,0)
       call readi(controlcard,'NEND',nend,0)
       call reada(controlcard,'ECUT',ecut,10.0d0)
@@ -46,7 +47,8 @@ C
       lgrp=(index(controlcard,'LGRP').gt.0)
       caonly=(index(controlcard,'CA_ONLY').gt.0)
       print_dist=(index(controlcard,'PRINT_DIST').gt.0)
-      call multreada(controlcard,'CUTOFF',rcutoff,ncut,-1.0d0)
+      if (ncut.gt.0) 
+     & call multreada(controlcard,'CUTOFF',rcutoff,ncut,-1.0d0)
       call readi(controlcard,'IOPT',iopt,2) 
       lside = index(controlcard,"SIDE").gt.0
       efree = index(controlcard,"EFREE").gt.0
@@ -69,6 +71,11 @@ C
       call readi(controlcard,'CONSTR_HOMOL',constr_homology,0)
       write (iout,*) "with_homology_constr ",with_dihed_constr,
      & " CONSTR_HOMOLOGY",constr_homology
+      print_homology_restraints=
+     & index(controlcard,"PRINT_HOMOLOGY_RESTRAINTS").gt.0
+      print_contact_map=index(controlcard,"PRINT_CONTACT_MAP").gt.0
+      print_homology_models=
+     & index(controlcard,"PRINT_HOMOLOGY_MODELS").gt.0
 
 #ifdef AIX
       call flush_(iout)
@@ -268,6 +275,19 @@ C Convert sequence to numeric code
       do i=1,nres
         itype(i)=rescode(i,sequence(i),iscode)
       enddo
+      if (itype(2).eq.10) then
+        write (iout,*)
+     &   "Glycine is the first full residue, initial dummy deleted"
+        do i=1,nres
+          itype(i)=itype(i+1)
+        enddo
+        nres=nres-1
+      endif
+      if (itype(nres).eq.10) then
+        write (iout,*)
+     &   "Glycine is the last full residue, terminal dummy deleted"
+        nres=nres-1
+      endif
       print *,nres
       print '(20i4)',(itype(i),i=1,nres)
 
@@ -362,7 +382,7 @@ C     both routines should be in dfa.F file!!
       endif
 
       if (constr_homology.gt.0) then
-        call read_constr_homology
+        call read_constr_homology(print_homology_restraints)
       endif
 
 c      if (pdbref) then
@@ -432,7 +452,7 @@ c      endif
             enddo
           enddo
         endif
-        call contact(.true.,ncont_ref,icont_ref)
+        call contact(print_contact_map,ncont_ref,icont_ref)
       endif
 c Read distance restraints
       if (constr_dist.gt.0) then
@@ -885,7 +905,7 @@ c        call flush(iout)
       end
 
 c====-------------------------------------------------------------------
-      subroutine read_constr_homology
+      subroutine read_constr_homology(lprn)
 
       include 'DIMENSIONS'
 #ifdef MPI
@@ -913,7 +933,7 @@ c    &    sigma_odl_temp(maxres,maxres,max_template)
       character*24 model_ki_dist, model_ki_angle
       character*500 controlcard
       integer ki, i, j, k, l
-      logical lprn /.true./
+      logical lprn
       logical unres_pdb
 c
 c     FP - Nov. 2014 Temporary specifications for new vars
@@ -991,7 +1011,7 @@ c     write(iout,*) "waga_theta",waga_theta,"waga_d",waga_d
       do k=1,constr_homology
 
         read(inp,'(a)') pdbfile
-        write (iout,*) "k ",k," pdbfile ",pdbfile
+c        write (iout,*) "k ",k," pdbfile ",pdbfile
 c  Next stament causes error upon compilation (?)
 c       if(me.eq.king.or. .not. out1file)
 c         write (iout,'(2a)') 'PDB data will be read from file ',
@@ -1026,7 +1046,6 @@ c       tpl_k_sigma_d="template"//kic2//".sigma_d"
           write (iout,'(i5,3f8.3,5x,3f8.3)') i,(crefjlee(j,i),j=1,3),
      &      (crefjlee(j,i+nres),j=1,3)
         enddo
-#endif
         write (iout,*) "READ HOMOLOGY INFO"
         write (iout,*) "read_constr_homology x: after reading pdb file"
         write (iout,*) "waga_homology(",iset,")",waga_homology(iset)
@@ -1035,6 +1054,7 @@ c       tpl_k_sigma_d="template"//kic2//".sigma_d"
         write (iout,*) "waga_theta",waga_theta
         write (iout,*) "waga_d",waga_d
         write (iout,*) "dist_cut",dist_cut
+#endif
 #ifdef AIX
       call flush_(iout)
 #else