X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Fwham%2Fsrc%2Fmolread_zs.F;h=9c999ccad6f02dac468b8de514be01143a9d7777;hb=7e6e06667b2bab90b607bd8adecfbba5da26b0c9;hp=60d8e0e996affcc67a3d3e3b6e7a5d4941c6d8a7;hpb=4c8df5bfd461b8509158a9d5e54f705a99c69fed;p=unres.git diff --git a/source/wham/src/molread_zs.F b/source/wham/src/molread_zs.F index 60d8e0e..9c999cc 100644 --- a/source/wham/src/molread_zs.F +++ b/source/wham/src/molread_zs.F @@ -5,6 +5,7 @@ C implicit real*8 (a-h,o-z) include 'DIMENSIONS' include 'DIMENSIONS.ZSCOPT' + include 'DIMENSIONS.FREE' include 'COMMON.IOUNITS' include 'COMMON.GEO' include 'COMMON.VAR' @@ -56,6 +57,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 write (iout,*) "Numeric code:" write (iout,'(20i4)') (itype(i),i=1,nres) do i=1,nres-1 @@ -353,6 +367,7 @@ c------------------------------------------------------------------------------- implicit real*8 (a-h,o-z) include 'DIMENSIONS' include 'DIMENSIONS.ZSCOPT' + include 'DIMENSIONS.FREE' include 'COMMON.CONTROL' include 'COMMON.CHAIN' include 'COMMON.IOUNITS' @@ -483,6 +498,7 @@ c====------------------------------------------------------------------- include 'DIMENSIONS' include 'DIMENSIONS.ZSCOPT' + include 'DIMENSIONS.FREE' #ifdef MPI include 'mpif.h' #endif @@ -509,6 +525,7 @@ c & sigma_odl_temp(maxres,maxres,max_template) character*500 controlcard integer ki, i, j, k, l logical lprn /.true./ + logical unres_pdb c c FP - Nov. 2014 Temporary specifications for new vars c @@ -531,6 +548,7 @@ c Alternative: reading from input call reada(controlcard,'DIST_CUT',dist_cut,5.0d0) ! for diff ways of calc sigma call readi(controlcard,"HOMOL_NSET",homol_nset,1) + call readi(controlcard,"IHSET",ihset,1) if (homol_nset.gt.1)then call card_concat(controlcard,.true.) read(controlcard,*) (waga_homology(i),i=1,homol_nset) @@ -636,7 +654,7 @@ c write(iout,*) "tpl_k_rescore - ",tpl_k_rescore read (ientin,*,end=1401) rescore_tmp 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) +c write(iout,*) "rescore(",k,irec,") =",rescore(k,irec) 1301 continue enddo 1401 continue @@ -678,7 +696,7 @@ c write (iout,*) "dist(",i,j,") =",dist(i,j) c write (iout,*) "distal = ",distal c write (iout,*) "odl(",k,ii,") =",odl(k,ii) c write(iout,*) "rescore(",k,i,") =",rescore(k,i), -c & "rescore(",k,j,") =",rescore(k,j) +c & "rescore(",k,j,") =",rescore(k,j) c c Calculation of sigma from res sim c @@ -689,10 +707,17 @@ c if (odl(k,ii).le.dist_cut) then sigma_odl(k,ii)=rescore(k,i)+rescore(k,j) ! other exprs possible c sigma_odl(k,ii)=hmscore(k)*rescore(k,i)*rescore(k,j) +c write (iout,*) "c sigma_odl",k,ii,sigma_odl(k,ii) else - sigma_odl(k,ii)=(rescore(k,i)+rescore(k,j))* ! sigma ~ rescore ~ error +#ifdef OLDSIGMA + sigma_odl(k,ii)=(rescore(k,i)+rescore(k,j))* ! sigma ~ rescore ~ error + & dexp(0.5d0*(odl(k,ii)/dist_cut)**2) +#else + sigma_odl(k,ii)=(rescore(k,i)+rescore(k,j))* ! sigma ~ rescore ~ error & dexp(0.5d0*(odl(k,ii)/dist_cut)**2-0.5d0) - +c write (iout,*) "d sigma_odl",k,ii,sigma_odl(k,ii), +c & odl(k,ii),dist_cut +#endif c Following expr replaced by a positive exp argument c sigma_odl(k,ii)=(rescore(k,i)+rescore(k,j))* c & dexp(-0.5d0*(odl(k,ii)/dist_cut)**2) @@ -850,6 +875,11 @@ cd write(iout,*) "waga_theta",waga_theta,"waga_d",waga_d & 1.0d0/dsqrt(sigma_d(ki,i)),ki=1,constr_homology) enddo endif +#ifdef AIX + call flush_(iout) +#else + call flush(iout) +#endif c ----------------------------------------------------------------- return end