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.
Inheritance diagram for IMP::multifit::ComplementarityRestraint:Public Member Functions | |
| ComplementarityRestraint (const ParticlesTemp &a, const ParticlesTemp &b, std::string name="ComplementarityRestraint %1%") | |
| 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) |
Public Member Functions inherited from IMP::Restraint | |
| Restraint (Model *m, std::string name) | |
| Restraint * | create_current_decomposition () const |
| Decompose this restraint into constituent terms for the current conf. | |
| Restraint * | create_decomposition () const |
| Decompose this restraint into constituent terms. | |
| double | evaluate (bool calc_derivs) const |
| Return the score for this restraint for the current state of the model. | |
| double | evaluate_if_below (bool calc_derivatives, double max) const |
| See Model::evaluate_with_maximum() | |
| double | evaluate_if_good (bool calc_derivatives) const |
| See Model::evaluate_if_good() | |
| double | get_last_score () const |
| bool | get_was_good () const |
| virtual double | unprotected_evaluate (DerivativeAccumulator *) const =0 |
| virtual double | unprotected_evaluate_if_good (DerivativeAccumulator *da, double max) const |
| virtual double | unprotected_evaluate_if_below (DerivativeAccumulator *da, double max) const |
| virtual ContainersTemp | get_input_containers () const =0 |
| virtual ParticlesTemp | get_input_particles () const =0 |
| 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) | |
| ModelObjectsTemp | get_inputs () const |
| Model * | get_model () const |
| ModelObjectsTemp | get_outputs () const |
Public Member Functions inherited from IMP::base::Object | |
| std::size_t | __hash__ () const |
| virtual std::string | get_type_name () const =0 |
| Return a string identifying the type of the object. | |
| virtual IMP::base::VersionInfo | get_version_info () const =0 |
| Get information about the module and version of the object. | |
| void | set_check_level (CheckLevel l) |
| void | set_log_level (LogLevel l) |
| Set the logging level used in this object. | |
| 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) |
Static Public Member Functions | |
| static ComplementarityRestraint * | get_from (IMP::base::Object *o) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::Restraint | |
| virtual Restraints | do_create_current_decomposition () const |
| virtual Restraints | do_create_decomposition () const |
Protected Member Functions inherited from IMP::ModelObject | |
| virtual ModelObjectsTemp | do_get_inputs () const =0 |
| virtual ModelObjectsTemp | do_get_outputs () const =0 |
| virtual void | do_update_dependencies (const DependencyGraph &, const DependencyGraphVertexIndex &) |
| void | update_dependencies (const DependencyGraph &dg, const DependencyGraphVertexIndex &index) |
Protected Member Functions inherited from IMP::base::Object | |
| Object (std::string name) | |
| void IMP::multifit::ComplementarityRestraint::set_complementarity_thickness | ( | double | th | ) |
Set the thickness to use for the external complemenarity layer.
| void IMP::multifit::ComplementarityRestraint::set_complementarity_value | ( | double | th | ) |
Set the value to use for external complementarity voxels.
| void IMP::multifit::ComplementarityRestraint::set_interior_layer_thickness | ( | double | th | ) |
Set the thickness of the interior layers.
| void IMP::multifit::ComplementarityRestraint::set_maximum_penetration | ( | double | d | ) |
Alternatively, you can bound the maximum allowed penetration.
| 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).
| void IMP::multifit::ComplementarityRestraint::set_maximum_separation | ( | double | s | ) |
If the two molecules are separated by more than this, infinity is returned.