saxs restraints
[django_unres.git] / files / saxs_dist.awk
1 {
2   if ($1 == "ATOM" && $3 == "CA") {
3     nres = nres + 1
4     x[nres] = substr($0,31,8)
5     y[nres] = substr($0,39,8)
6     z[nres] = substr($0,47,8)
7             
8 #    print "nres",nres," x",x[nres],y[nres],z[nres]
9   }
10 }END{
11 #  print "nres",nres
12   sigma = 2.50
13   for (i=1;i<=nres;i++) {
14     for (j=1;j<i;j++) {
15        dij = sqrt ((x[i]-x[j])^2+(y[i]-y[j])^2+(z[i]-z[j])^2)
16 #       print i,j,dij
17        ibin = int(dij)
18        h[ibin] = h[ibin] + 1
19        for (k=0;k<=100;k++) {
20           dd = k+0.5
21 #  print k,dd,dij,dd-dij,(dd-dij)^2/(2*sigma^2)
22           if ((dd-dij)^2/(2*sigma^2)<100) hh[k] = hh[k] + exp(-(dd-dij)^2/(2*sigma^2)) 
23        } 
24      }
25    }
26   norm = 0;
27   nnorm = 0;
28   for (k=0;k<=100;k++) {
29     norm = norm + h[k];
30     nnorm = nnorm + hh[k];
31   }
32   for (k=0;k<=100;k++) printf("%10.5f%15.5e%15.5e\n",k+0.5,h[k]/norm,hh[k]/nnorm)
33