IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
|
Implement a constraint on the Model. More...
#include <IMP/Constraint.h>
Implement a constraint on the Model.
The solution model can be restricted two ways, either by penalizing "bad" conformations (a restraint) or by forcing some set of attributes to a function of other attributes (a constraint). For example, rigid bodies consisting of a number of particles could be implemented either way.
In IMP, constraints are implemented as a type of ScoreState. Before evaluation, the constraint updates the attributes of some of the particles to ensure that the constraint is satisfied. Since this update creates implicit relationships between the particles, after the derivatives are computed, the constraint can move them around to make sure the derivatives of the optimizer parameters are correct.
In general, constraints are associated with Decorator objects and created invisibly when needed.
Definition at line 49 of file Constraint.h.
Public Member Functions | |
Constraint (Model *m, std::string name="Constraint %1%") | |
virtual void | do_after_evaluate (DerivativeAccumulator *da) override |
Do any necessary updates after the model score is calculated. More... | |
virtual void | do_before_evaluate () override |
Update the state given the current state of the model. More... | |
virtual void | do_update_attributes ()=0 |
virtual void | do_update_derivatives (DerivativeAccumulator *da)=0 |
Public Member Functions inherited from IMP::ScoreState | |
ScoreState (Model *m, std::string name) | |
void | after_evaluate (DerivativeAccumulator *accpt) |
Do post evaluation work if needed. More... | |
void | before_evaluate () |
Force update of the structure. More... | |
bool | get_can_skip () const |
Get whether this state can be skipped if its inputs/outputs didn't move. 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 |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::ScoreState | |
void | set_can_skip (bool can_skip) |
Set whether we can skip during model evaluation if appropriate. More... | |
Protected Member Functions inherited from IMP::ModelObject | |
virtual ModelObjectsTemp | do_get_inputs () const =0 |
virtual ModelObjectsTemps | do_get_interactions () const |
virtual ModelObjectsTemp | do_get_outputs () const =0 |
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 () |
|
overridevirtual |
Do any necessary updates after the model score is calculated.
[in] | accpt | The object used to scale derivatives in the score calculation, or nullptr if derivatives were not requested. |
Implements IMP::ScoreState.
Reimplemented in IMP::core::LateralSurfaceConstraint, and IMP::core::SurfaceGeometryConstraint.
Definition at line 57 of file Constraint.h.
|
overridevirtual |
Update the state given the current state of the model.
This is also called prior to every calculation of the model score. It should be implemented by ScoreStates in order to provide functionality.
Implements IMP::ScoreState.
Reimplemented in IMP::core::LateralSurfaceConstraint, and IMP::core::SurfaceGeometryConstraint.
Definition at line 56 of file Constraint.h.