def bond_deviations_z(self): ''' Calculate rmsz of bond deviations Compute rmsz, the Root-Mean-Square of the z-scors for a set of data using z_i = {x_i - mu / sigma} and rmsz = sqrt(mean(z*z)) x_i: atcual bond length mu: geometry restraints mean sigma: geometry restraints standard deviation z_i: z-score for bond i z: array of z_i The sigma and the (x_i - mu) are model constrains, geometry restraints. They function extracts from self, not calculated from data. :returns: b_rmsz: rmsz, root mean square of the z-scors of all bonds b_z_min/max: min/max abolute values of z-scors ''' if(self.n_bond_proxies is not None): bond_deltas = self.bond_proxies.deltas( sites_cart=self.sites_cart, origin_id=0) if len(bond_deltas) >0: sigmas = [geometry_restraints.weight_as_sigma(x.weight) for x in self.bond_proxies.simple] z_scores = flex.double([(bond_delta/sigma) for bond_delta,sigma in zip(bond_deltas,sigmas)]) b_rmsz = math.sqrt(flex.mean_default(z_scores*z_scores,0)) b_z_max = flex.max_default(flex.abs(z_scores), 0) b_z_min = flex.min_default(flex.abs(z_scores), 0) return b_z_min, b_z_max, b_rmsz else: return 0,0,0
def angle_deviations_z(self): ''' Calculate rmsz of angles deviations Compute rmsz, the Root-Mean-Square of the z-scors for a set of data using z_i = {x_i - mu / sigma} and rmsz = sqrt(mean(z*z)) Compute rmsz, the Root-Mean-Square of the z-scors for a set of data using z_i = {x_i - mu / sigma} and rmsz = sqrt(mean(z*z)) x_i: atcual bond angle mu: geometry restraints mean sigma: geometry restraints standard deviation z_i: z-score for bond i z: array of z_i The sigma and the (x_i - mu) are model constrains, geometry restraints. They function extracts from self, not calculated from data. :returns: a_rmsz: rmsz, root mean square of the z-scors of all angles a_z_min/max: min/max values of z-scors ''' if(self.n_angle_proxies is not None): angle_deltas = self.angle_proxies.proxy_select(origin_id=0).deltas( sites_cart=self.sites_cart) if len(angle_deltas) > 0: sigmas = [geometry_restraints.weight_as_sigma(x.weight) for x in self.angle_proxies] z_scores = flex.double([(angle_delta/sigma) for angle_delta,sigma in zip(angle_deltas,sigmas)]) a_rmsz = math.sqrt(flex.mean_default(z_scores*z_scores,0)) a_z_max = flex.max_default(flex.abs(z_scores), 0) a_z_min = flex.min_default(flex.abs(z_scores), 0) return a_z_min, a_z_max, a_rmsz else: return 0,0,0
def _show_sorted_item(self, f, prefix): print >> f, \ "%s Mean Volume=%6.2e" %(prefix, self.mean_u_volume) print >> f, \ "%s weight=%6.2e sigma=%6.2e rms_deltas=%6.2e residual=%6.2e"\ %(prefix, self.weight, weight_as_sigma(weight=self.weight), self.rms_deltas(), self.residual())
def _show_sorted_item(self, f, prefix): adp_label = "Ueq" print >> f, \ "%s delta sigma weight" %(prefix), print >> f, "residual" rdr = " %6.2e" %self.residual() print >> f, "%s %-4s %9.2e %6.2e %6.2e%s" % ( prefix, adp_label, self.delta(), weight_as_sigma(weight=self.weight), self.weight, rdr)
def _show_sorted_item(self, f, prefix): adp_labels = ("U11","U22","U33","U12","U13","U23") print >> f, \ "%s delta sigma weight rms_deltas residual" % (prefix) rdr = None for adp_label,delta in zip(adp_labels, self.deltas()): if (rdr is None): rdr = " %6.2e %6.2e" % (self.rms_deltas(), self.residual()) print >> f, "%s %s %9.2e %6.2e %6.2e%s" % ( prefix, adp_label, delta, weight_as_sigma(weight=self.weight), self.weight, rdr) rdr = ""
def _show_sorted_item(self, f, prefix): adp_labels = ("U11","U22","U33","U12","U13","U23") deltas = self.deltas() if self.use_u_aniso == (False, False): adp_labels = ["Uiso"] deltas = deltas[:1] print >> f, \ "%s delta sigma weight" %(prefix), if len(adp_labels) == 1: print >> f, "residual" else: print >> f, "rms_deltas residual" rdr = None for adp_label,delta in zip(adp_labels, deltas): if (rdr is None): if len(adp_labels) == 1: rdr = " %6.2e" %self.residual() else: rdr = " %6.2e %6.2e" % (self.rms_deltas(), self.residual()) print >> f, "%s %-4s %9.2e %6.2e %6.2e%s" % ( prefix, adp_label, delta, weight_as_sigma(weight=self.weight), self.weight, rdr) rdr = ""
def _show_sorted_item(self, f, prefix): print >> f, \ "%s delta_z sigma weight residual" % (prefix) print >> f, "%s %9.2e %6.2e %6.2e %6.2e" % ( prefix, self.delta_z(), weight_as_sigma(weight=self.weight), self.weight, self.residual())
def _show_sorted_item(self, f, prefix): print("%s delta_z sigma weight residual" % (prefix), file=f) print("%s %9.2e %6.2e %6.2e %6.2e" % (prefix, self.delta_z(), weight_as_sigma(weight=self.weight), self.weight, self.residual()), file=f)
def _show_sorted_item(self, f, prefix): print("%s Mean Volume=%6.2e" % (prefix, self.mean_u_volume), file=f) print("%s weight=%6.2e sigma=%6.2e rms_deltas=%6.2e residual=%6.2e"\ %(prefix, self.weight, weight_as_sigma(weight=self.weight), self.rms_deltas(), self.residual()), file=f)