|
IMP Reference Guide
2.17.0
The Integrative Modeling Platform
|
Score the model efficiently when a small number of particles are changed. More...
#include <IMP/core/IncrementalScoringFunction.h>
Inheritance diagram for IMP::core::IncrementalScoringFunction:Score the model efficiently when a small number of particles are changed.
This is a scoring function that computes the score efficiently when a small number of particles are changed.
To ensure proper evaluation, the ScoringFunction is divided into a number of sub scoring functions, one for each possibly moved particle.
Definition at line 41 of file IncrementalScoringFunction.h.
Public Member Functions | |
| IncrementalScoringFunction (Model *m, const ParticleIndexes &to_move, const RestraintsTemp &rs, double weight=1.0, double max=NO_MAX, std::string name="IncrementalScoringFunction%1%") | |
| Constructor. More... | |
| void | add_close_pair_score (PairScore *ps, double distance, const ParticlesTemp &particles, const PairPredicates &filters) |
| void | add_close_pair_score (PairScore *ps, double distance, const ParticlesTemp &particles) |
| void | clear_close_pair_scores () |
| virtual Restraints | create_restraints () const override |
| Return a set of restraints equivalent to this scoring function. More... | |
| void | do_add_score_and_derivatives (IMP::ScoreAccumulator sa, const ScoreStatesTemp &ss) override |
| virtual ModelObjectsTemp | do_get_inputs () const override |
| ParticleIndexes | get_movable_indexes () const |
| virtual std::string | get_type_name () const override |
| virtual ::IMP::VersionInfo | get_version_info () const override |
| Get information about the module and version of the object. More... | |
| virtual void | handle_set_has_required_score_states (bool) override |
| void | reset_moved_particles () |
| Undo the last moved particles. More... | |
| void | set_moved_particles (const ParticleIndexes &p) |
| Set which particles have moved since the last evaluate. More... | |
Public Member Functions inherited from IMP::ScoringFunction | |
| ScoringFunction (Model *m, std::string name) | |
| virtual ModelObjectsTemp | do_get_outputs () const override |
| double | evaluate (bool derivatives) |
| Evaluate and return the score. 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 |
| 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) |
Additional Inherited Members | |
Public Types inherited from IMP::ScoringFunction | |
| typedef std::pair< double, bool > | ScoreIsGoodPair |
Protected Member Functions inherited from IMP::ScoringFunction | |
| 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 ModelObjectsTemps | do_get_interactions () const |
Protected Member Functions inherited from IMP::Object | |
| Object (std::string name) | |
| Construct an object with the given name. More... | |
| virtual void | do_destroy () |
| IMP::core::IncrementalScoringFunction::IncrementalScoringFunction | ( | Model * | m, |
| const ParticleIndexes & | to_move, | ||
| const RestraintsTemp & | rs, | ||
| double | weight = 1.0, |
||
| double | max = NO_MAX, |
||
| std::string | name = "IncrementalScoringFunction%1%" |
||
| ) |
Constructor.
Pass the particles that will be individually moved, and the list of restraints to evaluate on them.
| m | Model object containing all particles to be moved |
| to_move | particles to be moved; must contain at least one particle |
| rs | restraints (can be empty in principle, in which case the score is 0) |
| weight | the weight used to scale the restraints |
| max | maximum value for evaluate_if_good or evaluate_if_below; can be ignored for most purposes |
| name | The name template to use for the scoring function. |
| void IMP::core::IncrementalScoringFunction::add_close_pair_score | ( | PairScore * | ps, |
| double | distance, | ||
| const ParticlesTemp & | particles, | ||
| const PairPredicates & | filters | ||
| ) |
Close pairs scores can be handled separately for efficiency, to do that, add a pair score here to act on the list of particles.
|
overridevirtual |
Return a set of restraints equivalent to this scoring function.
Implements IMP::ScoringFunction.
|
overridevirtual |
Do the actual work of computing the score and (optional) derivatives. The list of all score states that must be updated is passed.
Implements IMP::ScoringFunction.
|
overridevirtual |
Get any Particle, Container or other ModelObjects read by this during evaluation. If you read everything in a container, you can just return that container.
Implements IMP::ModelObject.
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 124 of file IncrementalScoringFunction.h.
|
overridevirtual |
Called when set_has_required_score_states() is called.
Reimplemented from IMP::ModelObject.
| void IMP::core::IncrementalScoringFunction::reset_moved_particles | ( | ) |
Undo the last moved particles.
This is similar in effect to, but perhaps more efficient than, calling set_moved_particles() a second time with the same list.
| void IMP::core::IncrementalScoringFunction::set_moved_particles | ( | const ParticleIndexes & | p | ) |
Set which particles have moved since the last evaluate.