IMP logo
Public Member Functions | Static Public Member Functions
IMP::multifit::ComplementarityRestraint Class Reference

Detailed Description

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.

Note:
currently each of the particle lists must belong to exactly one rigid body. And, currently, each rigid body can only be associated with one list of particles (that is, there cannot be multiple restraints with different lists of particles that all belong to the same rigid body).
The restraint does not support derivatives.
The restraint pretty much only makes sense for use with Domino as it returns infinity for many cases. Monte Carlo might make sense with certain paramters.
+ Inheritance diagram for IMP::multifit::ComplementarityRestraint:

List of all members.

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)
Restraintcreate_current_decomposition () const
 Decompose this restraint into constituent terms for the current conf.
Restraintcreate_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
Modelget_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 ComplementarityRestraintget_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)

Member Function Documentation

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.


The documentation for this class was generated from the following file:

Generated on Tue May 22 2012 23:33:37 for IMP by doxygen 1.8.1