IMP  2.1.1
The Integrative Modeling Platform
IMP::container::PairsRestraint Class Reference

Applies a PairScore to each Pair in a list. More...

#include <IMP/container/PairsRestraint.h>

+ Inheritance diagram for IMP::container::PairsRestraint:

Public Member Functions

 PairsRestraint (PairScore *ss, PairContainerAdaptor pc, std::string name="PairsRestraint %1%")
 Create the restraint with a shared container. More...
 
IMP::kernel::ModelObjectsTemp do_get_inputs () const
 
double unprotected_evaluate (IMP::DerivativeAccumulator *accum) const
 
- Public Member Functions inherited from IMP::kernel::Restraint
 Restraint (kernel::Model *m, std::string name)
 
 Restraint (std::string name="Restraint %1%")
 
void add_score_and_derivatives (ScoreAccumulator sa) const
 
Restraintcreate_current_decomposition () const
 Decompose this restraint into constituent terms for the current conf. More...
 
Restraintcreate_decomposition () const
 Decompose this restraint into constituent terms. More...
 
virtual ScoringFunctioncreate_scoring_function (double weight=1.0, double max=NO_MAX) const
 
ContainersTemp get_input_containers () const
 
ParticlesTemp get_input_particles () const
 
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::kernel::ModelObject
 ModelObject (kernel::Model *m, std::string name)
 
 ModelObject (std::string name)
 
virtual void do_set_model (kernel::Model *)
 
bool get_has_dependencies () const
 Return whether this object has dependencies computed.
 
bool get_has_required_score_states () const
 
ModelObjectsTemp get_inputs () const
 
ModelObjectsTemps get_interactions () const
 
bool get_is_part_of_model () const
 
Modelget_model () const
 
ModelObjectsTemp get_outputs () const
 
const ScoreStatesTempget_required_score_states () const
 
void set_has_dependencies (bool tf)
 
void set_has_required_score_states (bool tf)
 
virtual void set_model (kernel::Model *m)
 
- Public Member Functions inherited from IMP::base::Object
virtual void clear_caches ()
 
virtual void do_destroy ()
 
CheckLevel get_check_level () const
 
LogLevel get_log_level () const
 
virtual VersionInfo get_version_info () const
 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)
 
virtual std::string get_type_name () const
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::kernel::Restraint
virtual void do_add_score_and_derivatives (ScoreAccumulator sa) const
 
virtual Restraints do_create_current_decomposition () const
 
virtual Restraints do_create_decomposition () const
 
ModelObjectsTemp do_get_outputs () const
 
- Protected Member Functions inherited from IMP::kernel::ModelObject
virtual ModelObjectsTemps do_get_interactions () const
 
virtual void handle_set_has_required_score_states (bool)
 
- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
 Object ()
 

Detailed Description

This restraint stores the used particles in a ParticlePairsTemp. The container used can be set so that the list can be shared with other containers (or a nonbonded list can be used).

Examples using various multiplicity containers:

1 ## \example core/restrain_in_sphere.py
2 # This fragment shows how to restrain a set of points stored in a
3 # SingletonContainer in a sphere of radius 'radius' centered around
4 # 'center'.
5 
6 import IMP
7 import IMP.core
8 radius = 10
9 stiffness = 2
10 center = IMP.algebra.Vector3D(1, 2, 3)
11 m = IMP.kernel.Model()
12 p = m.add_particle("particle")
14  m, p, IMP.algebra.Sphere3D(IMP.algebra.Vector3D(100, 0, 0), 1))
15 
16 ub = IMP.core.HarmonicUpperBound(radius, stiffness)
17 
18 # Restrain based on the distance to a single point (hence a ball
19 ss = IMP.core.DistanceToSingletonScore(ub, center)
20 
21 r = IMP.core.SingletonRestraint(ss, m.get_particle(p))
22 r.evaluate(False)
1 ## \example container/nonbonded_interactions.py
2 # This example shows how to set up an excluded volume restraint for a set
3 # of XYZRDecorator-style particles.
4 
5 import IMP
6 import IMP.core
7 import IMP.atom
8 import IMP.container
9 
10 # This example addes a restraint on nonbonded interactions
11 # after excluding a set of bonded interactions.
12 
13 m = IMP.kernel.Model()
14 # The set of particles
17 
18 # create a bond between two particles
19 bd0 = IMP.atom.Bonded.setup_particle(ps.get_particle(0))
20 bd1 = IMP.atom.Bonded.setup_particle(ps.get_particle(1))
21 IMP.atom.create_custom_bond(bd0, bd1, 2.0)
22 
23 # Set up the nonbonded list for all pairs at are touching
24 # and let things move 3 before updating the list
25 nbl = IMP.container.ClosePairContainer(ps, 0.0, 3.0)
26 nbl.add_pair_filter(IMP.atom.BondedPairFilter())
27 
28 # Set up excluded volume
30 evr = IMP.container.PairsRestraint(sdps, nbl)
31 m.add_restraint(evr)
32 
33 # Set up optimizer
35 o.set_model(m)
36 
37 o.optimize(1000)
See Also
IMP::core::PairRestraint

Definition at line 35 of file PairsRestraint.h.

Constructor & Destructor Documentation

IMP::container::PairsRestraint::PairsRestraint ( PairScore ss,
PairContainerAdaptor  pc,
std::string  name = "PairsRestraint %1%" 
)
Parameters
[in]ssThe function to apply to each particle.
[in]pcThe container containing the stored particles. This container is not copied.
[in]nameThe object name

Definition at line 52 of file PairsRestraint.h.

Member Function Documentation

IMP::kernel::ModelObjectsTemp IMP::container::PairsRestraint::do_get_inputs ( ) const
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::kernel::ModelObject.


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