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)
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
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)
do i=1,nres
itype(i)=rescode(i,sequence(i),iscode)
enddo
+ if (itype(2).eq.10.and.itype(1).eq.ntyp1) 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-1).eq.10.and.itype(nres).eq.ntyp1) 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)
endif
if (constr_homology.gt.0) then
- call read_constr_homology
+ call read_constr_homology(print_homology_restraints)
endif
c if (pdbref) then
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
end
c====-------------------------------------------------------------------
- subroutine read_constr_homology
+ subroutine read_constr_homology(lprn)
include 'DIMENSIONS'
#ifdef MPI
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
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 ',
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)
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
c & "rescore(",k,i-2,") =",rescore(k,i-2),
c & "rescore(",k,i-3,") =",rescore(k,i-3)
- sigma_dih(k,i)=rescore(k,i)+rescore(k,i-1)+
- & rescore(k,i-2)+rescore(k,i-3) ! right expression ?
+ sigma_dih(k,i)=(rescore(k,i)+rescore(k,i-1)+
+ & rescore(k,i-2)+rescore(k,i-3))/4.0 ! right expression ?
c
c write (iout,*) "Raw sigmas for dihedral angle restraints"
c write (iout,'(i5,10(2f8.2,4x))') i,sigma_dih(k,i)
c & "rescore(",k,i-1,") =",rescore(k,i-1),
c & "rescore(",k,i-2,") =",rescore(k,i-2)
c read (ientin,*) sigma_theta(k,i) ! 1st variant
- sigma_theta(k,i)=rescore(k,i)+rescore(k,i-1)+
- & rescore(k,i-2) ! right expression ?
+ sigma_theta(k,i)=(rescore(k,i)+rescore(k,i-1)+
+ & rescore(k,i-2))/3.0 ! right expression ?
sigma_theta(k,i)=1.0d0/(sigma_theta(k,i)*sigma_theta(k,i))
c sigma_theta(k,i)=hmscore(k)*rescore(k,i)*rescore(k,i-1)*