IMP  2.0.1
The Integrative Modeling Platform
IMP::container::QuadsConstraint Class Reference

Apply a QuadFunction to a QuadContainer to maintain an invariant. More...

#include <IMP/container/QuadsConstraint.h>

+ Inheritance diagram for IMP::container::QuadsConstraint:

Public Member Functions

 QuadsConstraint (QuadModifier *before, QuadDerivativeModifier *after, QuadContainerAdaptor c, std::string name="QuadConstraint %1%")
 
- Public Member Functions inherited from IMP::kernel::Constraint
 Constraint (Model *m, std::string name="Constraint %1%")
 
virtual void do_after_evaluate (DerivativeAccumulator *da)
 
virtual void do_before_evaluate ()
 
- Public Member Functions inherited from IMP::kernel::ScoreState
 ScoreState (Model *m, std::string name="ScoreState %1%")
 
void after_evaluate (DerivativeAccumulator *accpt)
 Do post evaluation work if needed.
 
void before_evaluate ()
 Force update of the structure.
 
ContainersTemp get_input_containers () const
 
ParticlesTemp get_input_particles () const
 
ContainersTemp get_output_containers () const
 
ParticlesTemp get_output_particles () const
 
- Public Member Functions inherited from IMP::kernel::ModelObject
 ModelObject (Model *m, std::string name)
 
ModelObjectsTemp get_inputs () const
 
ModelObjectsTemps get_interactions () const
 
Modelget_model () const
 
ModelObjectsTemp get_outputs () const
 
- Public Member Functions inherited from IMP::base::Object
virtual void clear_caches ()
 
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. 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)
 

Protected Member Functions

virtual ModelObjectsTemp do_get_inputs () const
 
virtual ModelObjectsTemp do_get_outputs () const
 
void do_update_attributes ()
 
void do_update_derivatives (DerivativeAccumulator *da)
 

Related Functions

(Note that these are not member functions.)

typedef IMP::base::Vector
< IMP::base::WeakPointer
< QuadsConstraint > > 
QuadsConstraintsTemp
 

Detailed Description

The score state is passed up to two QuadModifiers, one to apply before evaluation and the other after. The one after should take a DerivativeAccumulator as its last argument for QuadModifier::apply() and will only be called if the score was computed with derivatives.

An example showing a how to use such a score state to maintain a cover of the atoms of a protein by a sphere per residue.

## \example core/cover_particles.py
## Show how to maintain a sphere per residue which includes all atoms of the residue. The derivatives are propagated from the sphere cover to the atoms so that restraints can be used at multiple levels.

import IMP
import IMP.core
import IMP.atom
import IMP.atom

m= IMP.Model()
prot= IMP.atom.read_pdb(IMP.core.get_example_path('example_protein.pdb'), m)
res= IMP.atom.get_by_type(prot, IMP.atom.RESIDUE_TYPE)
pr= IMP.core.ChildrenRefiner(IMP.atom.Hierarchy.get_traits())
for r in res:
    # add coordinates and a radius to the residue particle
    IMP.core.XYZR.setup_particle(r)
    # make sure that the coordinates and the radius define a sphere
    # which contains all of the leaves (atoms) of the residue
    IMP.core.Cover.setup_particle(r.get_particle(), pr)
# update the coordinates of the residue particles so that they cover the atoms
m.update()
See Also
core::QuadConstraint

Definition at line 43 of file QuadsConstraint.h.

Constructor & Destructor Documentation

IMP::container::QuadsConstraint::QuadsConstraint ( QuadModifier before,
QuadDerivativeModifier *  after,
QuadContainerAdaptor  c,
std::string  name = "QuadConstraint %1%" 
)
Parameters
[in]cThe Container to hold the elements to process
[in]beforeThe QuadModifier to apply to all elements before evaluate.
[in]afterThe QuadModifier to apply to all elements after evaluate.
[in]nameThe object name

Definition at line 63 of file QuadsConstraint.h.

Member Function Documentation

virtual ModelObjectsTemp IMP::container::QuadsConstraint::do_get_inputs ( ) const
protectedvirtual

Override if this reads other objects during evaluate.

Implements IMP::kernel::ModelObject.

virtual ModelObjectsTemp IMP::container::QuadsConstraint::do_get_outputs ( ) const
protectedvirtual

Override if this writes other objects during evaluate.

Implements IMP::kernel::ModelObject.

Friends And Related Function Documentation

Pass a set of objects.

Definition at line 79 of file QuadsConstraint.h.


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