IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
|
Ensure that a set of particles remains connected with one another. More...
#include <IMP/core/MSConnectivityRestraint.h>
Ensure that a set of particles remains connected with one another.
The restraint implements ambiguous connectivity. That is, it takes several particles including multiple copies and ensures that they remain connected, but allows how they are connected to change. If you wish to restrain the connectivity of sets of particles (i.e. each protein is represented using a set of balls) use an appropriate PairScore which calls a Refiner (such as ClosePairsPairScore).
More precisely, the restraint scores by computing the MST on the complete graph connecting all the particles. The edge weights are given by the value of the PairScore for the two endpoints of the edge.
Definition at line 54 of file MSConnectivityRestraint.h.
Public Member Functions | |
MSConnectivityRestraint (Model *m, PairScore *ps, double eps=0.1) | |
Use the given PairScore. More... | |
Restraints | do_create_current_decomposition () const override |
ModelObjectsTemp | do_get_inputs () const override |
ParticlePairsTemp | get_connected_pairs () const |
Return the set of pairs which are connected by the restraint. More... | |
PairScore * | get_pair_score () const |
Return the pair score used for scoring. More... | |
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... | |
double | unprotected_evaluate (IMP::DerivativeAccumulator *accum) const override |
Return the unweighted score for the restraint. More... | |
Public Member Functions inherited from IMP::Restraint | |
Restraint (Model *m, std::string name) | |
Create a restraint and register it with the model. More... | |
Restraint () | |
Default constructor. More... | |
Restraint * | create_current_decomposition () const |
Decompose this restraint into constituent terms for the current conf. More... | |
Restraint * | create_decomposition () const |
Decompose this restraint into constituent terms. More... | |
virtual ScoringFunction * | create_scoring_function (double weight=1.0, double max=NO_MAX) const |
Create a scoring function with only this restraint. More... | |
virtual RestraintInfo * | get_dynamic_info () const |
bool | get_is_aggregate () const |
Return whether this restraint wraps a number of other restraints. More... | |
double | get_last_last_score () const |
Get the unweighted score from the last-but-one time it was evaluated. More... | |
virtual double | get_last_score () const |
double | get_score () const |
virtual RestraintInfo * | get_static_info () const |
bool | get_was_good () const |
double | evaluate (bool calc_derivs) const |
double | evaluate_moved (bool calc_derivs, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis) const |
double | evaluate_moved_if_below (bool calc_derivatives, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis, double max) const |
double | evaluate_moved_if_good (bool calc_derivatives, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis) const |
double | evaluate_if_good (bool calc_derivatives) const |
double | evaluate_if_below (bool calc_derivatives, double max) const |
virtual double | unprotected_evaluate_moved (DerivativeAccumulator *da, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis) const |
Return the unweighted score, taking moving particles into account. More... | |
virtual double | unprotected_evaluate_if_good (DerivativeAccumulator *da, double max) const |
virtual double | unprotected_evaluate_if_below (DerivativeAccumulator *da, double max) const |
The function calling this will treat any score >= max as bad. More... | |
virtual double | unprotected_evaluate_moved_if_below (DerivativeAccumulator *da, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis, double max) const |
virtual double | unprotected_evaluate_moved_if_good (DerivativeAccumulator *da, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis, double max) const |
void | set_weight (Float weight) |
Float | get_weight () const |
double | get_maximum_score () const |
void | set_maximum_score (double s) |
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) |
Particles to be connected | |
The following methods are used to manipulate the list of particles that are to be connected. Each particle should have all the attributes expected by the PairScore used. Ideally, one should pass a singleton container instead. These can only be used if none is passed. | |
unsigned int | add_type (const ParticlesTemp &ps) |
unsigned int | add_composite (const Ints &components) |
unsigned int | add_composite (const Ints &components, unsigned int parent) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::Restraint | |
virtual void | do_add_score_and_derivatives (ScoreAccumulator sa) const |
virtual void | do_add_score_and_derivatives_moved (ScoreAccumulator sa, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis) const |
virtual Restraints | do_create_decomposition () const |
ModelObjectsTemp | do_get_outputs () const override |
Protected Member Functions inherited from IMP::ModelObject | |
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 () |
Protected Attributes inherited from IMP::Restraint | |
bool | is_aggregate_ |
IMP::core::MSConnectivityRestraint::MSConnectivityRestraint | ( | Model * | m, |
PairScore * | ps, | ||
double | eps = 0.1 |
||
) |
Use the given PairScore.
If sc is nullptr, a ListSingletonContainer is created internally. eps is set to 0.1 by default.
|
overridevirtual |
A Restraint should override this if it wants to decompose itself for display and other purposes. The returned restraints will be made into a RestraintSet if needed, with suitable weight and maximum score.
The returned restraints should be only the non-zero terms and should have their last scores set appropriately.
Reimplemented from IMP::Restraint.
|
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.
ParticlePairsTemp IMP::core::MSConnectivityRestraint::get_connected_pairs | ( | ) | const |
Return the set of pairs which are connected by the restraint.
This set of pairs reflects the current configuration at the time of the get_connected_pairs() call, not the set at the time of the last evaluate() call.
PairScore* IMP::core::MSConnectivityRestraint::get_pair_score | ( | ) | const |
Return the pair score used for scoring.
Definition at line 91 of file MSConnectivityRestraint.h.
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 100 of file MSConnectivityRestraint.h.
|
overridevirtual |
Return the unweighted score for the restraint.
Reimplemented from IMP::Restraint.