IMP Reference Guide
develop.62cd6b8d93,2024/10/30
The Integrative Modeling Platform
|
Prevent a set of particles and rigid bodies from inter-penetrating. More...
#include <IMP/core/ExcludedVolumeRestraint.h>
Prevent a set of particles and rigid bodies from inter-penetrating.
Given an arbitrary collection of particles and rigid bodies, this restraint prevents the particles from interpenetrating. Such restraints are also known as steric clash restraints.
IMP
.Definition at line 40 of file ExcludedVolumeRestraint.h.
Public Member Functions | |
ExcludedVolumeRestraint (SingletonContainerAdaptor sc, double k=1, double slack=10, std::string name="ExcludedVolumeRestraint%1%") | |
Construct an excluded volume restraint over a container of particles. More... | |
unsigned int | add_pair_filter (PairPredicate *obj) |
void | add_pair_filters (const PairPredicates &objs) |
void | clear_caches () override |
void | clear_pair_filters () |
Restraints | do_create_current_decomposition () const override |
Restraints | do_create_decomposition () const override |
IMP::ModelObjectsTemp | do_get_inputs () const override |
void | erase_pair_filter (unsigned int i) |
bool | get_has_pair_filters () |
unsigned int | get_number_of_pair_filters () const |
PairPredicate * | get_pair_filter (unsigned int i) const |
PairPredicates | get_pair_filters () 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... | |
void | remove_pair_filter (PairPredicate *d) |
void | remove_pair_filters (const PairPredicates &d) |
void | reserve_pair_filters (unsigned int sz) |
void | set_pair_filters (const PairPredicates &ps) |
void | set_pair_filters_order (const PairPredicates &objs) |
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 | |
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) |
Public Attributes | |
list | pair_filters |
A Python list of PairFilters More... | |
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 |
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::ExcludedVolumeRestraint::ExcludedVolumeRestraint | ( | SingletonContainerAdaptor | sc, |
double | k = 1 , |
||
double | slack = 10 , |
||
std::string | name = "ExcludedVolumeRestraint%1%" |
||
) |
Construct an excluded volume restraint over a container of particles.
Construct an excluded volume restraint over a container of XYZR and/or RigidMember particles with a lower-harmonic score on overlapping spheres. Formally, every two overlapping spheres contrinute k*D^2/2 to the restraint score (repulsion force of k*D), where D is the depth of the overlap between the two spheres. Non-overlapping spheres do not contribute to the score.
sc | a SingletonContainer contains a set of XYZR particles and RigidMembers. |
slack | how far in A the particles must move before the internal list of close pairs is computed (this list is used to efficiently detect clashing particles). It does not matter for correctness, just running time. You may want to fiddle with it or use the IMP::container::get_slack_estimate() function. |
k | the spring constant used for the lower-harmonic score, in kcal/mol/A^2. |
name | the object name |
|
overridevirtual |
Objects can have internal caches. This method resets them returning the object to its just-initialized state.
Reimplemented from IMP::Object.
|
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 |
A Restraint should override this if it wants to decompose itself for domino and other purposes. The returned restraints will be made into a RestraintSet if needed, with suitable weight and maximum score.
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.
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 98 of file ExcludedVolumeRestraint.h.
|
overridevirtual |
Return the unweighted score for the restraint.
Reimplemented from IMP::Restraint.
list IMP::core::ExcludedVolumeRestraint::pair_filters |
A Python list of PairFilters
Definition at line 106 of file ExcludedVolumeRestraint.h.