def show(self, out=sys.stdout, prefix=" ", show_percentiles=False): def fs(format, value): return format_value(format, value, replace_none_with=("(none)")) maxlen = max([len(label) for label in self.labels]) percentiles = {} if (show_percentiles): perc_attr = ["clashscore", "mpscore", "r_work", "r_free"] stats = dict([(name, getattr(self, name)) for name in perc_attr]) from mmtbx.polygon import get_statistics_percentiles percentiles = get_statistics_percentiles(self.d_min, stats) for k, name in enumerate(self.__slots__): format = "%%s%%-%ds = %%s" % maxlen if (k < 3): format += " %%" percentile_info = "" if (show_percentiles): percentile = percentiles.get(name, None) if (percentile is not None): format += " (percentile: %s)" percentile_info = "%.1f" % percentile else: format += "%s" else: format += "%s" value = getattr(self, name) if (value is not None): print >> out, format % (prefix, self.labels[k], fs(self.formats[k], value), percentile_info) return self
def show (self, out=sys.stdout, prefix=" ", show_percentiles=False) : def fs (format, value) : return format_value(format, value, replace_none_with=("(none)")) maxlen = max([ len(label) for label in self.labels ]) percentiles = {} if (show_percentiles) : perc_attr = ["clashscore", "mpscore", "r_work", "r_free"] stats = dict([ (name, getattr(self, name)) for name in perc_attr ]) from mmtbx.polygon import get_statistics_percentiles percentiles = get_statistics_percentiles(self.d_min, stats) for k, name in enumerate(self.__slots__) : format = "%%s%%-%ds = %%s" % maxlen if (k < 3) : format += " %%" percentile_info = "" if (show_percentiles) : percentile = percentiles.get(name, None) if (percentile is not None) : format += " (percentile: %s)" percentile_info = "%.1f" % percentile else : format += "%s" else : format += "%s" value = getattr(self, name) if (value is not None) : print >> out, format % (prefix, self.labels[k], fs(self.formats[k], value), percentile_info) return self
def test_all () : pr, unused_definitions = polygon.master_params.fetch(sources = [params3], track_unused_definitions = True) polygon.polygon(params = pr.extract()) working_phil = polygon.master_params.fetch(source=pr) percentiles = polygon.get_statistics_percentiles(d_min=1.5, stats={ "clashscore" : 21, "r_work" : 0.174, "r_free" : 0.19 }) # XXX This will change when the database is updated assert approx_equal(percentiles['clashscore'], 1.10791, 1.e-4)
def test_all(): pr, unused_definitions = polygon.master_params.fetch(sources=[params3], track_unused_definitions=True) polygon.polygon(params=pr.extract()) working_phil = polygon.master_params.fetch(source=pr) percentiles = polygon.get_statistics_percentiles( d_min=1.5, stats={"clashscore": 21, "r_work": 0.174, "r_free": 0.19} ) # XXX This will change when the database is updated assert approx_equal(percentiles["clashscore"], 1.10791, 1.0e-4)