From fb112c2c0d337f5433d28f2c66ecf420102e63f0 Mon Sep 17 00:00:00 2001 From: Cezary Czaplewski Date: Fri, 31 Jul 2015 16:23:15 +0200 Subject: [PATCH] new format of read2sigma *sco files (res number in 1st column) and correction for Gly as 1st residue --- source/unres/src_MD/readrtns.F | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/source/unres/src_MD/readrtns.F b/source/unres/src_MD/readrtns.F index 4fd5a31..73ffe83 100644 --- a/source/unres/src_MD/readrtns.F +++ b/source/unres/src_MD/readrtns.F @@ -2719,7 +2719,7 @@ c & sigma_odl_temp(maxres,maxres,max_template) character*2 kic2 character*24 model_ki_dist, model_ki_angle character*500 controlcard - integer ki, i, j, k, l, ii_in_use(maxdim) + integer ki, i, j, k, l, ii_in_use(maxdim),i_tmp,idomain_tmp logical lprn /.true./ c c FP - Nov. 2014 Temporary specifications for new vars @@ -2772,6 +2772,14 @@ c lim_theta=0 lim_xx=0 c + write(iout,*) 'nnt=',nnt,'nct=',nct +c + do i = nnt,nct + do k=1,constr_homology + idomain(k,i)=0 + enddo + enddo + ii=0 do i = nnt,nct-2 do j=i+2,nct @@ -2795,16 +2803,15 @@ c From read_dist_constr (commented out 25/11/2014 <-> res sim) c c write(iout,*) "tpl_k_rescore - ",tpl_k_rescore open (ientin,file=tpl_k_rescore,status='old') - do irec=1,maxdim ! loop for reading res sim - if (irec.eq.1) then - rescore(k,irec)=0.0d0 - goto 1301 - endif + if (nnt.gt.1) rescore(k,1)=0.0d0 + do irec=nnt,maxdim ! loop for reading res sim if (read2sigma) then - read (ientin,*,end=1401) rescore2_tmp,rescore_tmp, - & idomain(k,irec) - rescore(k,irec)=0.5d0*(rescore_tmp+0.5d0) - rescore2(k,irec)=0.5d0*(rescore2_tmp+0.5d0) + read (ientin,*,end=1401) i_tmp,rescore2_tmp,rescore_tmp, + & idomain_tmp + i_tmp=i_tmp+nnt-1 + idomain(k,i_tmp)=idomain_tmp + rescore(k,i_tmp)=0.5d0*(rescore_tmp+0.5d0) + rescore2(k,i_tmp)=0.5d0*(rescore2_tmp+0.5d0) else idomain(k,irec)=1 read (ientin,*,end=1401) rescore_tmp @@ -2813,7 +2820,6 @@ c rescore(k,irec)=rescore_tmp+1.0d0 ! to avoid 0 values rescore(k,irec)=0.5d0*(rescore_tmp+0.5d0) ! alt transf to reduce scores c write(iout,*) "rescore(",k,irec,") =",rescore(k,irec) endif - 1301 continue enddo 1401 continue close (ientin) @@ -2961,8 +2967,8 @@ c & "rescore(",k,i-1,") =",rescore(k,i-1), 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 c c write (iout,*) "Raw sigmas for dihedral angle restraints" c write (iout,'(i5,10(2f8.2,4x))') i,sigma_dih(k,i) @@ -2998,8 +3004,8 @@ c write(iout,*) "rescore(",k,i,") =",rescore(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 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)* -- 1.7.9.5