IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
|
Compute the complementarity between two molecules. More...
#include <IMP/multifit/ComplementarityRestraint.h>
Compute the complementarity between two molecules.
The score returned is infinity if the two molecules overlap by more than the value set for set_maximum_penetration_score() or if the two molecules are separated by more than set_maximum_separation().
Otherwise, the integral of the set_complementarity_value() value over a layer of thickness set_complementarity_thickness() around the molecule is returned.
Definition at line 40 of file ComplementarityRestraint.h.
Public Member Functions | |
ComplementarityRestraint (const ParticlesTemp &a, const ParticlesTemp &b, std::string name="ComplementarityRestraint %1%") | |
virtual IMP::ModelObjectsTemp | do_get_inputs () const override |
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... | |
float | get_voxel_size () const |
void | set_boundary_coefficient (double bc) |
void | set_complementarity_coefficient (double cc) |
void | set_complementarity_thickness (double th) |
void | set_complementarity_value (double th) |
void | set_interior_layer_thickness (double th) |
void | set_maximum_penetration (double d) |
void | set_maximum_penetration_score (double s) |
void | set_maximum_separation (double s) |
void | set_penetration_coefficient (double pc) |
virtual 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) |
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_current_decomposition () 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_ |
|
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 84 of file ComplementarityRestraint.h.
void IMP::multifit::ComplementarityRestraint::set_complementarity_thickness | ( | double | th | ) |
Set the thickness to use for the external complementarity layer.
Definition at line 60 of file ComplementarityRestraint.h.
void IMP::multifit::ComplementarityRestraint::set_complementarity_value | ( | double | th | ) |
Set the value to use for external complementarity voxels.
Definition at line 66 of file ComplementarityRestraint.h.
void IMP::multifit::ComplementarityRestraint::set_interior_layer_thickness | ( | double | th | ) |
Set the thickness of the interior layers.
Definition at line 68 of file ComplementarityRestraint.h.
void IMP::multifit::ComplementarityRestraint::set_maximum_penetration | ( | double | d | ) |
Alternatively, you can bound the maximum allowed penetration.
Definition at line 54 of file ComplementarityRestraint.h.
void IMP::multifit::ComplementarityRestraint::set_maximum_penetration_score | ( | double | s | ) |
If the two molecules have a penetration score of more than this, infinity is returned as the score. This score is roughly the number of cubic angstroms that the two molecules overlap (assuming only one internal layer).
Definition at line 49 of file ComplementarityRestraint.h.
void IMP::multifit::ComplementarityRestraint::set_maximum_separation | ( | double | s | ) |
If the two molecules' bounding sphere surfaces are separated by more than this distance, infinity is returned.
Definition at line 58 of file ComplementarityRestraint.h.
|
overridevirtual |
Return the unweighted score for the restraint.
Reimplemented from IMP::Restraint.