IMP  2.0.0
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::ModelObjectsTemp do_get_inputs () const
 
double unprotected_evaluate (IMP::DerivativeAccumulator *accum) const
 
- Public Member Functions inherited from IMP::kernel::Restraint
 Restraint (Model *m, std::string name)
 
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 (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)
 

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
 
virtual void do_update_dependencies ()
 

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). By default a ListPairContainer is used and the {add_, set_, clear_}particle_pair{s} methods can be used.

Examples using various multiplicity containers:

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

Definition at line 37 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 53 of file PairsRestraint.h.

Member Function Documentation

IMP::ModelObjectsTemp IMP::container::PairsRestraint::do_get_inputs ( ) const
virtual

Override if this reads other objects during evaluate.

Implements IMP::kernel::ModelObject.


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