|
IMP Reference Guide
2.5.0
The Integrative Modeling Platform
|
Creates a restraint between two Gaussian Mixture Models, "model" and "density". More...
#include <IMP/isd/GaussianEMRestraint.h>
Inheritance diagram for IMP::isd::GaussianEMRestraint:Creates a restraint between two Gaussian Mixture Models, "model" and "density".
This restrains two sets of GMMs with a density overlap function. The function is correlation of the two GMMs \(f_M\) and \(f_D\):
\[ \frac{2\int{f_M(x)f_D(x)dx}}{\int{f_M^2(x)+f_D^2(x)dx}} \]
Where the integral is the "overlap function" given by:
\[ ov(f_M,f_D) = \sum_{i=1}^{N_M} \sum_{j=1}^{N_D} \frac{1}{(2 \pi)^{3/2}|\Sigma_{Mi}+\Sigma_{Dj}|^{1/2}}\exp\left [-\frac{1}{2}(\boldsymbol\mu_{Mi} - \boldsymbol\mu_{Dj})^\top (\Sigma_{Mi}+\Sigma_{Dj})^{-1} (\boldsymbol\mu_{Mi} - \boldsymbol \mu_{Dj})\right ] \]
Definition at line 77 of file GaussianEMRestraint.h.
Public Member Functions | |
| GaussianEMRestraint (Model *mdl, ParticleIndexes model_ps, ParticleIndexes density_ps, ParticleIndex global_sigma, Float model_cutoff_dist, Float density_cutoff_dist, Float slope, bool update_model=true, bool backbone_slope=false, std::string name="GaussianEMRestraint%1%") | |
| Setup the GaussianEMRestraint. More... | |
| void | compute_initial_scores () |
| Pre-calculate the density-density and model-model scores. More... | |
| virtual IMP::ModelObjectsTemp | do_get_inputs () const |
| double | get_probability () const |
| Returns exp(score) More... | |
| Float | get_slope () |
| Get restraint slope. 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... | |
| void | set_slope (Float s) |
| Set restraint slope. More... | |
| void | show (std::ostream &out) const |
| virtual double | unprotected_evaluate (IMP::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 double | get_last_score () const |
| double | get_score () 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 () |
| IMP::isd::GaussianEMRestraint::GaussianEMRestraint | ( | Model * | mdl, |
| ParticleIndexes | model_ps, | ||
| ParticleIndexes | density_ps, | ||
| ParticleIndex | global_sigma, | ||
| Float | model_cutoff_dist, | ||
| Float | density_cutoff_dist, | ||
| Float | slope, | ||
| bool | update_model = true, |
||
| bool | backbone_slope = false, |
||
| std::string | name = "GaussianEMRestraint%1%" |
||
| ) |
Setup the GaussianEMRestraint.
| [in] | mdl | the Model object to operate on |
| [in] | model_ps | particles for the model GMM |
| [in] | density_ps | particles for the density GMM |
| [in] | global_sigma | Particle to modulate the uncertainty |
| [in] | model_cutoff_dist | Cutoff for the model-model interactions |
| [in] | density_cutoff_dist | Cutoff for model-density interactions |
| [in] | slope | Gentle term to move all particles to the density |
| [in] | update_model | (DEPRECATED) update model each cycle |
| [in] | backbone_slope | Limit the slope only to backbone particles |
| [in] | name | Name of this restraint |
| void IMP::isd::GaussianEMRestraint::compute_initial_scores | ( | ) |
Pre-calculate the density-density and model-model scores.
This is automatically called by the constructor. You only need to call it manually if you change Gaussian variances
|
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.
| double IMP::isd::GaussianEMRestraint::get_probability | ( | ) | const |
Returns exp(score)
Definition at line 103 of file GaussianEMRestraint.h.
| Float IMP::isd::GaussianEMRestraint::get_slope | ( | ) |
Get restraint slope.
Definition at line 117 of file GaussianEMRestraint.h.
|
virtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 123 of file GaussianEMRestraint.h.
| void IMP::isd::GaussianEMRestraint::set_slope | ( | Float | s | ) |
Set restraint slope.
Definition at line 114 of file GaussianEMRestraint.h.