IMP Reference Guide
2.9.0
The Integrative Modeling Platform
|
Score a set of particles that form a composite. More...
#include <IMP/npc/CompositeRestraint.h>
Score a set of particles that form a composite.
Similarly to IMP::core::ConnectivityRestraint, this ensures that a set of Particles remains connected, but allows how they are connected to change (for example, A-B-C would score as well as B-A-C). However, unlike that restraint, it acts on Particle type (in the case where there are several distinct Particles of the same type) and allows the stoichoimetry to change (For example, A1-B1-C1 would score similarly to A1-B2-C2 or A1-B1-B2-C1).
To use, first create the restraint and then call add_type() for each distinct protein type, e.g. to enforce the composite ABC where there are two copies of protein A and B and a single copy of protein C use: {code} add_type([A1, A2]) add_type([B1, B2]) add_type([C1]) {code}
The restraint scores by computing the complete graph connecting all the particles (where the particles are the vertices and the edges are the value of the PairScore), then calculating the minimum spanning tree, and then using the lowest scoring subgraph that includes at least one of each protein type. This is made much more efficient if the restraint's maximum score is set (set_maximum_score()).
Definition at line 46 of file npc/CompositeRestraint.h.
Public Member Functions | |
CompositeRestraint (Model *m, PairScore *ps) | |
Create with the given PairScore. More... | |
void | add_type (ParticleIndexes ps) |
Add all Particles of a single type. More... | |
ModelObjectsTemp | do_get_inputs () const |
ParticleIndexPairs | get_connected_pairs () const |
Return the set of pairs which are connected by the restraint. More... | |
virtual std::string | get_type_name () const |
virtual ::IMP::VersionInfo | get_version_info () const |
Get information about the module and version of the object. More... | |
double | unprotected_evaluate (DerivativeAccumulator *accum) const |
Public Member Functions inherited from IMP::Restraint | |
Restraint (Model *m, std::string name) | |
void | add_score_and_derivatives (ScoreAccumulator sa) const |
Perform the actual restraint scoring. 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 |
virtual double | get_last_score () const |
double | get_score () const |
virtual RestraintInfo * | get_static_info () const |
bool | get_was_good () 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) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::Restraint | |
virtual void | do_add_score_and_derivatives (ScoreAccumulator sa) const |
A restraint should override this to compute the score and derivatives. More... | |
virtual Restraints | do_create_current_decomposition () const |
virtual Restraints | do_create_decomposition () const |
ModelObjectsTemp | do_get_outputs () const |
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 () |
Create with the given PairScore.
Definition at line 54 of file npc/CompositeRestraint.h.
void IMP::npc::CompositeRestraint::add_type | ( | ParticleIndexes | ps | ) |
Add all Particles of a single type.
The restraint will ensure that at least one Particle of each type is present in the composite.
Definition at line 61 of file npc/CompositeRestraint.h.
|
virtual |
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.
ParticleIndexPairs IMP::npc::CompositeRestraint::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.
|
virtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 78 of file npc/CompositeRestraint.h.