wsaxs0 and map
authorCezary Czaplewski <czarek@chem.univ.gda.pl>
Sat, 27 Jan 2018 13:19:26 +0000 (14:19 +0100)
committerCezary Czaplewski <czarek@chem.univ.gda.pl>
Sat, 27 Jan 2018 13:19:26 +0000 (14:19 +0100)
map working again

source/unres/src_MD-M/COMMON.CONTROL
source/unres/src_MD-M/energy_p_new_barrier.F
source/unres/src_MD-M/map.f
source/unres/src_MD-M/readrtns_CSA.F

index 6405131..e97c402 100644 (file)
@@ -4,7 +4,7 @@
       real*8 waga_homology
       real*8 waga_dist, waga_angle, waga_theta, waga_d, dist_cut,
      &  dist2_cut, scal_rad, saxs_cutoff
-      real*8 Psaxs(maxsaxs),distsaxs(maxsaxs),CSAXS(3,maxsaxs)
+      real*8 Psaxs(maxsaxs),distsaxs(maxsaxs),CSAXS(3,maxsaxs),wsaxs0
       logical minim,refstr,pdbref,outpdb,outmol2,overlapsc,energy_dec,
      &                 sideadd,lsecondary,read_cart,unres_pdb,
      &                 vdisulf,searchsc,lmuca,dccart,extconf,out1file,
@@ -19,7 +19,7 @@
      & constr_homology,homol_nset,read2sigma,start_from_model
       common /homol/ waga_homology(maxprocs/20),
      & waga_dist, waga_angle, waga_theta, waga_d, dist_cut,dist2_cut
-      common /saxsretr/ Psaxs,distsaxs,csaxs,scal_rad,saxs_cutoff,
+      common /saxsretr/Psaxs,distsaxs,csaxs,Wsaxs0,scal_rad,saxs_cutoff,
      & nsaxs,saxs_mode
 C... minim = .true. means DO minimization.
 C... energy_dec = .true. means print energy decomposition matrix
index b788da5..526b4ab 100644 (file)
@@ -11300,7 +11300,7 @@ c CA CA
       do k=1,nsaxs
         Cnorm = Cnorm + Pcalc(k)
       enddo
-      Esaxs_constr = dlog(Cnorm)
+      Esaxs_constr = dlog(Cnorm)-wsaxs0
       do k=1,nsaxs
         if (Pcalc(k).gt.0.0d0) 
      &  Esaxs_constr = Esaxs_constr - Psaxs(k)*dlog(Pcalc(k)) 
index 6ea2632..a57c6c8 100644 (file)
@@ -9,6 +9,7 @@
       include 'COMMON.NAMES'
       include 'COMMON.CONTROL'
       include 'COMMON.TORCNSTR'
+      include 'COMMON.HEADER'
       double precision energia(0:n_ene)
       character*5 angid(4) /'PHI','THETA','ALPHA','OMEGA'/
       double precision ang_list(10)
@@ -20,6 +21,7 @@
         write (iout,'(2a,i3,a,i3)') angid(kang(i)),' of residues ',
      &   res1(i),' to ',res2(i)
       enddo
+      write (iout,*) "outpdb",outpdb
       nmax=nstep(1)
       do i=2,nmap
         if (nmax.lt.nstep(i)) nmax=nstep(i)
@@ -55,7 +57,7 @@ Cd      write (iout,*) i,iii,(nn(j),j=1,nmap)
     5       continue
           enddo ! k
         enddo ! j
-        call chainbuild
+        call chainbuild_extconf
         if (minim) then 
          call geom_to_var(nvar,x)
          call minimize(etot,x,iretcode,nfun)
@@ -80,6 +82,7 @@ c         call intout
 c        write (iout,'(6(1pe15.5))') (ang_list(k),k=1,nmap),etot,gnorm
         write (istat,'(30e15.5)') (ang_list(k),k=1,nmap),
      &   (energia(print_order(ii)),ii=1,nprint_ene),etot,gnorm
+        if (outpdb) call pdbout(etot,titel(:50),ipdb)
 c        write (iout,*) 'POINT',I,' ANGLES:',(ang_list(k),k=1,nmap)
 c        call intout
 c        call enerprint(energia)
index 70bb647..7b3f9a8 100644 (file)
@@ -2497,6 +2497,11 @@ c SAXS distance distribution
       do i=1,nsaxs
         write (iout,'(f8.2,e15.5)') distsaxs(i),Psaxs(i)
       enddo
+      Wsaxs0=0.0d0
+      do i=1,nsaxs
+        Wsaxs0=Wsaxs0-Psaxs(i)*dlog(Psaxs(i))
+      enddo
+      write (iout,*) "Wsaxs0",Wsaxs0
       else
 c SAXS "spheres".
       do i=1,nsaxs