Calculation of folded fractions (at given RMSD cutoff) in WHAM analysis (7th column...
[unres.git] / source / wham / src-M / enecalc1.F
index 16ae771..697c31d 100644 (file)
            q(nQ+1,iii+1)=rmsnat(iii+1)
          endif
          q(nQ+2,iii+1)=gyrate(iii+1)
+         if (q(nQ+1,iii+1).le.frac_cutoff) then
+           q(nQ+3,iii+1)=1.0d0
+         else
+           q(nQ+3,iii+1)=0.0d0
+         endif
 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
@@ -161,7 +166,7 @@ c     &   " kfac",kfac,"quot",quot," fT",fT
           write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
         call enerprint(energia(0),fT)
         write (iout,'(2i5,21f8.2)') i,iparm,(energia(k),k=1,21)
-        write (iout,*) "ftors",ftors
+        write (iout,*) "ftors(1)",ftors(1)
         call briefout(i,energia(0))
         temp=1.0d0/(beta_h(ib,ipar)*1.987D-3)
         write (iout,*) "temp", temp
@@ -202,6 +207,9 @@ c        call pdbout(ii+1,beta_h(ib,ipar),efree,energia(0),0.0d0,rmsdev)
      &         iii+1,indstart(me1)+iii," T",
      &         1.0d0/(1.987D-3*beta_h(ib,ipar))
 c              call intout
+C          write (iout,*) "The Cartesian geometry is:"
+C          write (iout,'(8f10.5)') ((c(l,k),l=1,3),k=1,nres)
+C          write (iout,'(8f10.5)') ((c(l,k+nres),l=1,3),k=nnt,nct)
               call pdbout(indstart(me1)+iii,
      & 1.0d0/(1.987D-3*beta_h(ib,ipar)),
      &energia(0),eini,0.0d0,0.0d0)
@@ -669,8 +677,13 @@ c      write (iout,*) "xdrf3dfcoord"
 c      call flush(iout)
       call xdrfint_(ixdrf, nss, iret)
       do j=1,nss
-        call xdrfint_(ixdrf, ihpb(j), iret)
-        call xdrfint_(ixdrf, jhpb(j), iret)
+           if (dyn_ss) then
+            call xdrfint(ixdrf, idssb(j)+nres, iret)
+            call xdrfint(ixdrf, jdssb(j)+nres, iret)
+           else
+            call xdrfint_(ixdrf, ihpb(j), iret)
+            call xdrfint_(ixdrf, jhpb(j), iret)
+           endif
       enddo
       call xdrffloat_(ixdrf,real(eini),iret) 
       call xdrffloat_(ixdrf,real(efree),iret) 
@@ -681,8 +694,13 @@ c      call flush(iout)
 
       call xdrfint(ixdrf, nss, iret)
       do j=1,nss
-        call xdrfint(ixdrf, ihpb(j), iret)
-        call xdrfint(ixdrf, jhpb(j), iret)
+           if (dyn_ss) then
+            call xdrfint(ixdrf, idssb(j)+nres, iret)
+            call xdrfint(ixdrf, jdssb(j)+nres, iret)
+           else
+            call xdrfint(ixdrf, ihpb(j), iret)
+            call xdrfint(ixdrf, jhpb(j), iret)
+           endif
       enddo
       call xdrffloat(ixdrf,real(eini),iret) 
       call xdrffloat(ixdrf,real(efree),iret)