IMP Reference Guide
develop.7cb8855c60,2024/10/08
The Integrative Modeling Platform
|
Represents a scoring function on the model. More...
#include "IMP/ScoringFunction.h"
Represents a scoring function on the model.
A call to the evaluate() method prompts the following events:
Definition at line 42 of file ScoringFunction.h.
Public Types | |
typedef std::pair< double, bool > | ScoreIsGoodPair |
Public Member Functions | |
ScoringFunction (Model *m, std::string name) | |
virtual Restraints | create_restraints () const =0 |
Return a set of restraints equivalent to this scoring function. More... | |
virtual ModelObjectsTemp | do_get_outputs () const override |
double | evaluate (bool derivatives) |
Evaluate and return the score for the current state of the model. More... | |
double | evaluate_if_below (bool derivatives, double max) |
double | evaluate_if_good (bool derivatives) |
double | evaluate_moved (bool derivatives, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis) |
Score when some particles have moved. More... | |
double | evaluate_moved_if_below (bool derivatives, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis, double max) |
double | evaluate_moved_if_good (bool derivatives, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis) |
bool | get_had_good_score () const |
double | get_last_score () const |
returns the score that was calculated in the last evaluate call More... | |
Public Member Functions inherited from IMP::ModelObject | |
ModelObject (Model *m, std::string name) | |
bool | get_has_dependencies () const |
Return whether this object has dependencies computed. More... | |
bool | get_has_required_score_states () const |
Return whether score states are computed. More... | |
ModelObjectsTemp | get_inputs () const |
ModelObjectsTemps | get_interactions () const |
Get the interacting sets induced by this ModelObject. More... | |
Model * | get_model () const |
ModelObjectsTemp | get_outputs () const |
const ScoreStatesTemp & | get_required_score_states () const |
Get the score states that are ancestors of this in the dependency graph. More... | |
void | set_has_dependencies (bool tf) |
Either invalidate the dependencies or ensure they are correct. More... | |
void | set_has_required_score_states (bool tf) |
Compute the required score states. More... | |
Public Member Functions inherited from IMP::Object | |
virtual void | clear_caches () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
virtual VersionInfo | get_version_info () const |
Get information about the module and version of the object. More... | |
void | set_check_level (CheckLevel l) |
void | set_log_level (LogLevel l) |
Set the logging level used in this object. More... | |
void | set_was_used (bool tf) const |
void | show (std::ostream &out=std::cout) const |
const std::string & | get_name () const |
void | set_name (std::string name) |
virtual std::string | get_type_name () const |
Protected Member Functions | |
virtual void | do_add_score_and_derivatives (ScoreAccumulator sa, const ScoreStatesTemp &ss)=0 |
virtual void | do_add_score_and_derivatives_moved (ScoreAccumulator sa, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis, const ScoreStatesTemp &ss) |
Score when only some particles have moved. More... | |
ScoreAccumulator | get_score_accumulator (bool deriv) |
ScoreAccumulator | get_score_accumulator_if_below (bool deriv, double max) |
ScoreAccumulator | get_score_accumulator_if_good (bool deriv) |
Protected Member Functions inherited from IMP::ModelObject | |
virtual ModelObjectsTemp | do_get_inputs () const =0 |
virtual ModelObjectsTemps | do_get_interactions () const |
virtual void | handle_set_has_required_score_states (bool) |
Protected Member Functions inherited from IMP::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
|
pure virtual |
Return a set of restraints equivalent to this scoring function.
|
protectedpure virtual |
Do the actual work of computing the score and (optional) derivatives. The list of all score states that must be updated is passed.
|
protectedvirtual |
Score when only some particles have moved.
Definition at line 79 of file ScoringFunction.h.
|
overridevirtual |
Get any Particle, Container or other ModelObjects changed by this during evaluation. This is only useful for ScoreStates, at the moment.
Implements IMP::ModelObject.
Definition at line 102 of file ScoringFunction.h.
double IMP::ScoringFunction::evaluate | ( | bool | derivatives | ) |
Evaluate and return the score for the current state of the model.
derivatives | if true, updates the derivatives of the scoring function |
double IMP::ScoringFunction::evaluate_moved | ( | bool | derivatives, |
const ParticleIndexes & | moved_pis, | ||
const ParticleIndexes & | reset_pis | ||
) |
Score when some particles have moved.
No particles in the model other those listed should have been changed (e.g. by Monte Carlo movers) since the last evaluation (although ScoreStates may have moved particles not in this list, as a function of particles that are in the list). This should behave identically to evaluate() but may be more efficient if it can skip restraint terms that involve unchanged particles.
derivatives | Whether to calculate first derivatives. |
moved_pis | Particles that have moved since the last scoring function evaluation. |
reset_pis | Particles that have moved, but back to the positions they had at the last-but-one evaluation (e.g. due to a rejected Monte Carlo move). |
bool IMP::ScoringFunction::get_had_good_score | ( | ) | const |
Return true if the last evaluate satisfied all the restraint thresholds.
Definition at line 150 of file ScoringFunction.h.
double IMP::ScoringFunction::get_last_score | ( | ) | const |
returns the score that was calculated in the last evaluate call
Definition at line 153 of file ScoringFunction.h.