core¶
- class pyrosetta.bindings.scores.core.PoseCacheAccessor(pose)¶
Bases:
PoseCacheAccessorBase
,MutableMapping
Accessor wrapper for pose energies, SimpleMetrics data, and arbitrary extra score data.
The Pose.cache dictionary has a nested namespace structure wherein each layer has the ability to access, set, and delete pose score data, with the outermost layers providing warnings if data from the innermost layers get clobbered once combined. The Pose.cache dictionary also uses serialization to dynamically store/retrieve arbitrary python objects to/from base64-encoded pickled byte streams, and stores/retrieves float and str objects without serialization.
Examples:
- Get score dictionaries:
- Return nested, read-only dictionaries of all cached score data:
pose.cache.all_scores
- Return a flattened, read-only dictionary of all cached score data (with clobber warnings):
pose.cache
- Return a flattened, read-only dictionary of all SimpleMetric data (with clobber warnings):
pose.cache.metrics
- Return a flattened, read-only dictionary of all arbitrary extra float and extra string score data (with clobber warnings):
pose.cache.extra
- Return a read-only dictionary of active total energies:
pose.cache.energies
- Get a score value:
- Return the value of a key from any pose.cache.extra, pose.cache.metrics, or pose.cache.energies dictionary
- (from lowest to highest precedence, respectively, with clobber warnings):
pose.cache[“key”]
- From arbitrary extra score data:
- Return the value of a key from arbitrary extra float or extra string score data (with clobber warnings):
pose.cache.extra[“key”]
- Return the value of a key from arbitrary extra float score data:
pose.cache.extra.real[“key”]
- Return the value of a key from arbitrary extra string score data:
pose.cache.extra.string[“key”]
- From SimpleMetric data:
- Return the value of a key from any SimpleMetric data (with clobber warnings):
pose.cache.metrics[“key”]
- Return the value of a key from SimpleMetric real metric data:
pose.cache.metrics.real[“key”]
- Return the value of a key from SimpleMetric string metric data:
pose.cache.metrics.string[“key”]
- Return the value of a key from SimpleMetric composite real metric data:
pose.cache.metrics.composite_real[“key”]
- Return the value of a key from SimpleMetric composite string metric data:
pose.cache.metrics.composite_string[“key”]
- Return the value of a key from SimpleMetric per-residue real metric data:
pose.cache.metrics.per_residue_real[“key”]
- Return the value of a key from SimpleMetric per-residue string metric data:
pose.cache.metrics.per_residue_string[“key”]
- Return the value of a key from SimpleMetric per-residue probabilities metric data:
pose.cache.metrics.per_residue_probabilities[“key”]
- From active total energies:
- Return the value of a key from any active energy scoretype in the pose:
pose.cache.energies[“key”]
- Set a score value:
- To SimpleMetric data:
- Set a key/value pair as a CustomRealValueMetric or CustomStringValueMetric with automatic type checking:
pose.cache[“key”] = value pose.cache.metrics[“key”] = value
- Set a key/value pair as a CustomRealValueMetric:
pose.cache.metrics.real[“key”] = value
- Set a key/value pair as a CustomStringValueMetric:
pose.cache.metrics.string[“key”] = value
- To arbitrary extra score data:
- Set a key/value pair as an arbitrary extra float or string score with automatic type checking:
pose.cache.extra[“key”]
- Set a key/value pair as an arbitrary extra real score:
pose.cache.extra.real[“key”]
- Set a key/value pair as an arbitrary extra string score:
pose.cache.extra.string[“key”]
- Delete data:
- Clear all cached score data:
pose.cache.clear()
- Clear all SimpleMetric data:
pose.cache.metrics.clear()
- Clear all arbitrary extra float and string score data:
pose.cache.extra.clear()
- Clear a single key/value pair:
pose.cache.pop(“key”) pose.cache.metrics.pop(“key”) pose.cache.metrics.real.pop(“key”) pose.cache.metrics.string.pop(“key”) pose.cache.extra.pop(“key”)
@klimaj
- _CustomTypeMetric¶
alias of
CustomTypeMetric
- _abc_impl = <_abc._abc_data object>¶
- _clobber_warning(msg)¶
Issue a ClobberWarning warning with a message.
- _custom_type_metrics = {'bool': CustomTypeMetric(type=<class 'bool'>, prefix='[CustomBooleanValueMetric]', encode_func=<class 'str'>, decode_func=<function PoseScoreSerializerBase.bool_from_str>), 'bytes': CustomTypeMetric(type=<class 'bytes'>, prefix='[CustomBinaryValueMetric]', encode_func=<function PoseScoreSerializerBase.to_base64>, decode_func=<function PoseScoreSerializerBase.from_base64>), 'int': CustomTypeMetric(type=<class 'int'>, prefix='[CustomDiscreteValueMetric]', encode_func=<class 'str'>, decode_func=<class 'int'>), 'object': CustomTypeMetric(type=<class 'object'>, prefix='[CustomArbitraryValueMetric]', encode_func=<function PoseScoreSerializerBase.to_base64_pickle>, decode_func=<function PoseScoreSerializerBase.from_base64_pickle>)}¶
- _get_sm_data_dict(attributes)¶
- _has_reserved_custom_metric_keys()¶
- _maybe_delete_keys_from_sm_data(keys=None, attributes=None)¶
Cache, clear, and restore all SimpleMetric data except the provided keys in the provided SimpleMetricDataAccessor attributes. This is necessary to delete one or more keys, since clear_sm_data clears all SimpleMetric data.
- _maybe_delete_reserved_keys_from_sm_data()¶
CustomRealValueMetric and CustomStringValueMetric can save the extra default keys “custom_real_valued_metric” or “custom_string_valued_metric” because pose.cache.metrics does not set a ‘custom_type’ parameter when setting SimpleMetric data. This method aims to delete these extra default keys if they were created and we can delete them.
- _repr_pretty_(p, cycle)¶
IPython-display representation.
- property _reserved¶
Reserved scoretype keys that cannot be set or deleted.
- property _reserved_custom_metric_keys¶
Reserved scoretype keys for SimpleMetrics that cannot be set or deleted.
- _reserved_custom_metric_keys_warning()¶
Warn that reserved custom metric keys were added to the data cache.
- _reserved_types = (<class 'str'>, <class 'float'>)¶
- property _sm_data_accessor_attrs¶
Supported SimpleMetricDataAccessor attributes to reset after clear_sm_data.
- property _unsupported_sm_data_accessor_attrs¶
Unsupported SimpleMetricDataAccessor attributes that cannot be reset after clear_sm_data.
- _validate_del(key)¶
Validate that a key can be deleted.
- _validate_set(key)¶
Validate that a key can be set.
- property all¶
Get all cached score data.
- This method aims to mimic data override precedences used in the legacy pose.scores dictionary:
pose.energies().active_total_energies()
ScoreMap.get_arbitrary_score_data_from_pose(pose)
ScoreMap.get_arbitrary_string_data_from_pose(pose)
- Data override precedences as defined in ScoreMap::add_arbitrary_score_data_from_pose:
SimpleMetric data
Arbitrary extra float scores
- Data override precedences as defined in ScoreMap::add_arbitrary_string_data_from_pose:
SimpleMetric data
Arbitrary extra string scores
- property all_keys¶
Return a tuple of all score data keys.
- property all_scores¶
Return a nested dictionary of all score data.
- apply(metric, key, value)¶
Apply a SimpleMetric with a key/value pair to the pose.
- assert_unique_keys()¶
Assert that Pose.cache.all_keys returns all unique keys.
- static bool_from_str(value)¶
- clear()¶
Clear pose energies, extra scores, and SimpleMetric data.
- property energies¶
- property extra¶
- static from_base64(value)¶
- static from_base64_pickle(value)¶
- static from_pickle(value)¶
- get(k[, d]) D[k] if k in D, else d. d defaults to None. ¶
- items() a set-like object providing a view on D's items ¶
- keys() a set-like object providing a view on D's keys ¶
- static maybe_decode(value)¶
Deserialize the input value if it’s serialized.
- static maybe_encode(value)¶
Serialize the input value into a str object if it’s not a str or float object.
- property metrics¶
- pop(k[, d]) v, remove specified key and return the corresponding value. ¶
If key is not found, d is returned if given, otherwise KeyError is raised.
- popitem() (k, v), remove and return some (key, value) pair ¶
as a 2-tuple; but raise KeyError if D is empty.
- pose¶
- setdefault(k[, d]) D.get(k,d), also set D[k]=d if k not in D ¶
- static to_base64(value)¶
- static to_base64_pickle(value)¶
- static to_pickle(value)¶
- update([E, ]**F) None. Update D from mapping/iterable E and F. ¶
If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v
- values() an object providing a view on D's values ¶