Example #1
0
 def build_cluster_pair_info(O, other, work_params, reindexing_assistant):
   from scitbx.array_family import flex
   scale_max = work_params.scale_estimation_scale_max
   assert scale_max > 0
   scale_min = 1/scale_max
   miis_i, esti_i = O.miis_perms[0], O.esti_perms[0]
   result = []
   for j_perm in xrange(len(reindexing_assistant.cb_ops)):
     miis_j, esti_j = other.miis_perms[j_perm], other.esti_perms[j_perm]
     i_seqs, j_seqs = miis_i.intersection_i_seqs(other=miis_j)
     if (i_seqs.size() < 2):
       return None
     x = esti_i.select(i_seqs)
     y = esti_j.select(j_seqs)
     if (((x != 0) | (y != 0)).count(True) < 2):
       return None
     num = flex.sum(x*y)
     den = flex.sum_sq(x)
     if (num > den * scale_min and num < den * scale_max):
       scale = num / den
       rms = flex.mean_sq(x*scale-y)**0.5
       result.append(perm_rms_info(n=x.size(), scale=scale, rms=rms))
     else:
       return None
   result = perm_rms_list(array=result)
   result.set_score()
   return result
 def build_cluster_pair_info(O, other, work_params, reindexing_assistant):
   from scitbx.array_family import flex
   scale_max = work_params.scale_estimation_scale_max
   assert scale_max > 0
   scale_min = 1/scale_max
   miis_i, esti_i = O.miis_perms[0], O.esti_perms[0]
   result = []
   for j_perm in xrange(len(reindexing_assistant.cb_ops)):
     miis_j, esti_j = other.miis_perms[j_perm], other.esti_perms[j_perm]
     i_seqs, j_seqs = miis_i.intersection_i_seqs(other=miis_j)
     if (i_seqs.size() < 2):
       return None
     x = esti_i.select(i_seqs)
     y = esti_j.select(j_seqs)
     if (((x != 0) | (y != 0)).count(True) < 2):
       return None
     num = flex.sum(x*y)
     den = flex.sum_sq(x)
     if (num > den * scale_min and num < den * scale_max):
       scale = num / den
       rms = flex.mean_sq(x*scale-y)**0.5
       result.append(perm_rms_info(n=x.size(), scale=scale, rms=rms))
     else:
       return None
   result = perm_rms_list(array=result)
   result.set_score()
   return result
Example #3
0
 def residual_contribution(u_isos_current, u_isos_average):
     diff = u_isos_current - u_isos_average
     self.rms_with_respect_to_average.append(
         adptbx.u_as_b(flex.mean_sq(diff)**0.5))
     self.number_of_restraints += diff.size()
Example #4
0
def get_chi_score(x, y, s):
    scale, offset = linear_fit(x, y, s)
    x = x * scale + offset
    score = flex.mean_sq((y - x) / s)
    return score, x
Example #5
0
 def residual_contribution(u_isos_current, u_isos_average):
   diff = u_isos_current - u_isos_average
   self.rms_with_respect_to_average.append(adptbx.u_as_b(
     flex.mean_sq(diff)**0.5))
   self.number_of_restraints += diff.size()