X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Fwham%2Fsrc-HCD%2Fenecalc1.F;h=2edf34947ed30481e9992429883163c5807860a4;hb=68aa1d135805a14583695611acfcf637748b4466;hp=0040e378f9720d12f5a47df800fcb8e1de9470d2;hpb=df61eb1a0ad598d7c6c5b4037dee4bec200d5bc2;p=unres.git diff --git a/source/wham/src-HCD/enecalc1.F b/source/wham/src-HCD/enecalc1.F index 0040e37..2edf349 100644 --- a/source/wham/src-HCD/enecalc1.F +++ b/source/wham/src-HCD/enecalc1.F @@ -46,13 +46,31 @@ c double precision tole /1.0d-1/ double precision tt integer snk_p(MaxR,MaxT_h,Max_parm) logical lerr - character*64 bprotfile_temp + integer ncont,icont(2,maxcont),isecstr(maxres) + character*256 bprotfile_temp + double precision totlength call opentmp(islice,ientout,bprotfile_temp) iii=0 ii=0 errmsg_count=0 c write (iout,*) "enecalc: nparmset ",nparmset c write (iout,*) "enecalc: tormode ",tor_mode + write (iout,*) "ns",ns," dyn_ss",dyn_ss,(iss(i),i=1,ns) + if (ns.gt.0.and.dyn_ss) then + do i=nss+1,nhpb + ihpb(i-nss)=ihpb(i) + jhpb(i-nss)=jhpb(i) + forcon(i-nss)=forcon(i) + dhpb(i-nss)=dhpb(i) + enddo + nhpb=nhpb-nss + nss=0 + call hpb_partition + do i=1,ns + dyn_ss_mask(iss(i))=.true. + enddo + endif + write (iout,*) "dyn_ss_mask",(dyn_ss_mask(i),i=1,nres) #ifdef MPI do iparm=1,nParmSet do ib=1,nT_h(iparm) @@ -94,7 +112,7 @@ c write (iout,*) "enecalc: tormode ",tor_mode anatemp= 1.0d0/(beta_h(ib,ipar)*1.987D-3) q(nQ+1,iii+1)=rmsnat(iii+1,ipermin) endif - q(nQ+2,iii+1)=gyrate(iii+1) +c write (iout,*) iii+1,q(nQ+3,iii+1),q(nQ+4,iii+1),q(nQ+5,iii+1) c fT=T0*beta_h(ib,ipar)*1.987D-3 c ft=2.0d0/(1.0d0+1.0d0/(T0*beta_h(ib,ipar)*1.987D-3)) if (rescale_mode.eq.1) then @@ -158,13 +176,13 @@ c & " kfac",kfac,"quot",quot," fT",fT & wcorr,wcorr5,wcorr6,wturn4,wturn3,wturn6,wel_loc, & wtor_d,wsccor,wbond #endif -C write (iout,*) "tuz przed energia" +c write (iout,*) "tuz przed energia" call etotal(energia(0),fT) -C write (iout,*) "tuz za energia" +c write (iout,*) "tuz za energia" #ifdef DEBUG write (iout,*) "Conformation",i -c write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres), -c & ((c(l,k+nres),l=1,3),k=nnt,nct) + write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres), + & ((c(l,k+nres),l=1,3),k=nnt,nct) call enerprint(energia(0),fT) c write (iout,'(2i5,21f8.2)') i,iparm,(energia(k),k=1,21) c write (iout,*) "ftors(1)",ftors(1) @@ -200,6 +218,8 @@ c call pdbout(ii+1,beta_h(ib,ipar),efree,energia(0),0.0d0,rmsdev) if (ipar.eq.iparm) write (iout,*) i,iparm, & 1.0d0/(beta_h(ib,ipar)*1.987D-3),eini,energia(0) #endif +c write (iout,*) "eini",eini,"energia(0)",energia(0)," diff", +c & eini-energia(0) if (ipar.eq.iparm .and. einicheck.gt.0 .and. ! & dabs(eini-energia(0)-energia(27)).gt.tole) then & dabs(eini-energia(0)).gt.tole) then @@ -258,10 +278,35 @@ c call enerprint(energia(0),fT) endif enddo ! iparm + q(nQ+2,iii+1)=gyrate(iii+1) +c 8/28/2020 Adam - determine the fraction of secondary structures. + call elecont(.false.,ncont,icont,nnt,nct-1,1) + call secondary2(.false.,.false.,ncont,icont,isecstr) +#ifdef DEBUG + write (iout,*) "secondary structure" + write (iout,'(80i1)') (isecstr(k),k=1,nres) +#endif + q(nQ+3,iii+1)=0.0d0 + q(nQ+4,iii+1)=0.0d0 + q(nQ+5,iii+1)=0.0d0 + totlength=0.0d0 + do k=nnt,nct + if (itype(k).eq.ntyp1) cycle + totlength=totlength+1.0d0 + l=isecstr(k) + q(nQ+3+l,iii+1)=q(nQ+3+l,iii+1)+1.0d0 + enddo + q(nQ+3,iii+1)=q(nQ+3,iii+1)/totlength + q(nQ+4,iii+1)=q(nQ+4,iii+1)/totlength + q(nQ+5,iii+1)=q(nQ+5,iii+1)/totlength +c write (iout,*) "iii",iii," nssbond",nssbond,nss +c q(nQ+6,iii+1)=nssbond + q(nQ+6,iii+1)=nss iii=iii+1 if (q(1,iii).le.0.0d0 .and. indpdb.gt.0) & q(1,iii)=qwolynes(0,0,ipermin) +c write (iout,*) "iii",iii," q",q(1,iii) write (ientout,rec=iii) & ((csingle(l,k),l=1,3),k=1,nres), & ((csingle(l,k+nres),l=1,3),k=nnt,nct), @@ -365,7 +410,7 @@ c------------------------------------------------------------------------------ include "COMMON.CONTACTS1" character*64 nazwa character*80 bxname,cxname - character*64 bprotfile_temp + character*256 bprotfile_temp character*3 liczba,licz character*2 licz2 integer i,itj,ii,iii,j,k,l