IMP  2.3.0
The Integrative Modeling Platform
IMP::container Namespace Reference

Various classes to hold sets of particles. More...

Detailed Description

Various classes to hold sets of particles.

Containers provide a layer of indirection between code that defines sets of particles and restraints and constraints. This indirection allows the set of particles acted upon to be changed on the fly. For example, the IMP::container::ClosePairContainer defines a set of all particle pairs that are close to one another.

Info

Author(s): Daniel Russel

Maintainer: benmwebb

License: LGPL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Publications:

Classes

class  AllBipartitePairContainer
 Return all bipartite pairs between two containers. More...
 
class  AllPairContainer
 Return all unordered pairs of particles taken from the SingletonContainer. More...
 
class  CloseBipartitePairContainer
 Return all close ordered pairs of particles taken from the two SingletonContainers. More...
 
class  ClosePairContainer
 Return all close unordered pairs of particles taken from the SingletonContainer. More...
 
class  ConnectingPairContainer
 A container which keeps a set of pairs that connect a set of spheres. More...
 
class  ConsecutivePairContainer
 A container which contains all consecutive particle pairs from an input list. More...
 
class  ConsecutivePairFilter
 
class  DistributePairsScoreState
 Distribute contents of one container into several based on predicates. More...
 
class  DistributeQuadsScoreState
 Distribute contents of one container into several based on predicates. More...
 
class  DistributeSingletonsScoreState
 Distribute contents of one container into several based on predicates. More...
 
class  DistributeTripletsScoreState
 Distribute contents of one container into several based on predicates. More...
 
class  DynamicListPairContainer
 Store a kernel::ParticleIndexPairs. More...
 
class  DynamicListQuadContainer
 Store a kernel::ParticleIndexQuads. More...
 
class  DynamicListSingletonContainer
 Store a kernel::ParticleIndexes. More...
 
class  DynamicListTripletContainer
 Store a kernel::ParticleIndexTriplets. More...
 
class  EventPairsOptimizerState
 
class  EventQuadsOptimizerState
 
class  EventSingletonsOptimizerState
 
class  EventTripletsOptimizerState
 
class  ExclusiveConsecutivePairContainer
 
class  ExclusiveConsecutivePairFilter
 
class  InContainerPairFilter
 A filter which returns true if a container containers the Pair. More...
 
class  InContainerQuadFilter
 A filter which returns true if a container containers the Quad. More...
 
class  InContainerSingletonFilter
 A filter which returns true if a container containers the Singleton. More...
 
class  InContainerTripletFilter
 A filter which returns true if a container containers the Triplet. More...
 
class  ListPairContainer
 Store a kernel::ParticleIndexPairs. More...
 
class  ListQuadContainer
 Store a kernel::ParticleIndexQuads. More...
 
class  ListSingletonContainer
 Store a kernel::ParticleIndexes. More...
 
class  ListTripletContainer
 Store a kernel::ParticleIndexTriplets. More...
 
class  MinimumPairRestraint
 Score based on the min or max PairScore over a set. More...
 
class  MinimumPairScore
 Evaluate the min or max n particle_pair scores of the passed set. More...
 
class  MinimumQuadRestraint
 Score based on the min or max QuadScore over a set. More...
 
class  MinimumQuadScore
 Evaluate the min or max n particle_quad scores of the passed set. More...
 
class  MinimumSingletonRestraint
 Score based on the min or max SingletonScore over a set. More...
 
class  MinimumSingletonScore
 Evaluate the min or max n particle scores of the passed set. More...
 
class  MinimumTripletRestraint
 Score based on the min or max TripletScore over a set. More...
 
class  MinimumTripletScore
 Evaluate the min or max n particle_triplet scores of the passed set. More...
 
class  PairContainerSet
 Stores a set of PairContainers. More...
 
class  PairContainerStatistics
 Track statistics on a PairContainer. More...
 
class  PairsConstraint
 Apply a PairFunction to a PairContainer to maintain an invariant. More...
 
class  PairsOptimizerState
 Apply a PairFunction to a PairContainer to maintain an invariant. More...
 
class  PairsRestraint
 Applies a PairScore to each Pair in a list. More...
 
class  PredicatePairsRestraint
 Applies a PairScore to each Pair in a list based on a predicate. More...
 
class  PredicateQuadsRestraint
 Applies a QuadScore to each Quad in a list based on a predicate. More...
 
class  PredicateSingletonsRestraint
 Applies a SingletonScore to each Singleton in a list based on a predicate. More...
 
class  PredicateTripletsRestraint
 Applies a TripletScore to each Triplet in a list based on a predicate. More...
 
class  QuadContainerSet
 Stores a set of QuadContainers. More...
 
class  QuadContainerStatistics
 Track statistics on a QuadContainer. More...
 
class  QuadsConstraint
 Apply a QuadFunction to a QuadContainer to maintain an invariant. More...
 
class  QuadsOptimizerState
 Apply a QuadFunction to a QuadContainer to maintain an invariant. More...
 
class  QuadsRestraint
 Applies a QuadScore to each Quad in a list. More...
 
class  SingletonContainerSet
 Stores a set of SingletonContainers. More...
 
class  SingletonContainerStatistics
 Track statistics on a SingletonContainer. More...
 
class  SingletonsConstraint
 Apply a SingletonFunction to a SingletonContainer to maintain an invariant. More...
 
class  SingletonsOptimizerState
 Apply a SingletonFunction to a SingletonContainer to maintain an invariant. More...
 
class  SingletonsRestraint
 Applies a SingletonScore to each Singleton in a list. More...
 
class  TripletContainerSet
 Stores a set of TripletContainers. More...
 
class  TripletContainerStatistics
 Track statistics on a TripletContainer. More...
 
class  TripletsConstraint
 Apply a TripletFunction to a TripletContainer to maintain an invariant. More...
 
class  TripletsOptimizerState
 Apply a TripletFunction to a TripletContainer to maintain an invariant. More...
 
class  TripletsRestraint
 Applies a TripletScore to each Triplet in a list. More...
 

Typedefs

typedef IMP::base::Vector
< IMP::base::Pointer
< AllBipartitePairContainer > > 
AllBipartitePairContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< AllBipartitePairContainer > > 
AllBipartitePairContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< AllPairContainer > > 
AllPairContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< AllPairContainer > > 
AllPairContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< ClosePairContainer > > 
ClosePairContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< ClosePairContainer > > 
ClosePairContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< ConnectingPairContainer > > 
ConnectingPairContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< ConnectingPairContainer > > 
ConnectingPairContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< ConsecutivePairContainer > > 
ConsecutivePairContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< ConsecutivePairContainer > > 
ConsecutivePairContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< DynamicListPairContainer > > 
DynamicListPairContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< DynamicListPairContainer > > 
DynamicListPairContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< DynamicListQuadContainer > > 
DynamicListQuadContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< DynamicListQuadContainer > > 
DynamicListQuadContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< DynamicListSingletonContainer > > 
DynamicListSingletonContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< DynamicListSingletonContainer > > 
DynamicListSingletonContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< DynamicListTripletContainer > > 
DynamicListTripletContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< DynamicListTripletContainer > > 
DynamicListTripletContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< InContainerPairFilter > > 
InContainerPairFilters
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< InContainerPairFilter > > 
InContainerPairFiltersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< InContainerQuadFilter > > 
InContainerQuadFilters
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< InContainerQuadFilter > > 
InContainerQuadFiltersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< InContainerSingletonFilter > > 
InContainerSingletonFilters
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< InContainerSingletonFilter > > 
InContainerSingletonFiltersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< InContainerTripletFilter > > 
InContainerTripletFilters
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< InContainerTripletFilter > > 
InContainerTripletFiltersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< ListPairContainer > > 
ListPairContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< ListPairContainer > > 
ListPairContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< ListQuadContainer > > 
ListQuadContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< ListQuadContainer > > 
ListQuadContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< ListSingletonContainer > > 
ListSingletonContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< ListSingletonContainer > > 
ListSingletonContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< ListTripletContainer > > 
ListTripletContainers
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< ListTripletContainer > > 
ListTripletContainersTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< MinimumPairScore > > 
MinimumPairScores
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< MinimumPairScore > > 
MinimumPairScoresTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< MinimumQuadScore > > 
MinimumQuadScores
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< MinimumQuadScore > > 
MinimumQuadScoresTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< MinimumSingletonScore > > 
MinimumSingletonScores
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< MinimumSingletonScore > > 
MinimumSingletonScoresTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< MinimumTripletScore > > 
MinimumTripletScores
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< MinimumTripletScore > > 
MinimumTripletScoresTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< PairsConstraint > > 
PairsConstraints
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< PairsConstraint > > 
PairsConstraintsTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< PairsOptimizerState > > 
PairsOptimizerStates
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< PairsOptimizerState > > 
PairsOptimizerStatesTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< PairsRestraint > > 
PairsRestraints
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< PairsRestraint > > 
PairsRestraintsTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< QuadsConstraint > > 
QuadsConstraints
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< QuadsConstraint > > 
QuadsConstraintsTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< QuadsOptimizerState > > 
QuadsOptimizerStates
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< QuadsOptimizerState > > 
QuadsOptimizerStatesTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< QuadsRestraint > > 
QuadsRestraints
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< QuadsRestraint > > 
QuadsRestraintsTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< SingletonsConstraint > > 
SingletonsConstraints
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< SingletonsConstraint > > 
SingletonsConstraintsTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< SingletonsOptimizerState > > 
SingletonsOptimizerStates
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< SingletonsOptimizerState > > 
SingletonsOptimizerStatesTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< SingletonsRestraint > > 
SingletonsRestraints
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< SingletonsRestraint > > 
SingletonsRestraintsTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< TripletsConstraint > > 
TripletsConstraints
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< TripletsConstraint > > 
TripletsConstraintsTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< TripletsOptimizerState > > 
TripletsOptimizerStates
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< TripletsOptimizerState > > 
TripletsOptimizerStatesTemp
 
typedef IMP::base::Vector
< IMP::base::Pointer
< TripletsRestraint > > 
TripletsRestraints
 
typedef IMP::base::Vector
< IMP::base::WeakPointer
< TripletsRestraint > > 
TripletsRestraintsTemp
 

Functions

template<class Container , class Before , class After >
Constraintcreate_constraint (Before *b, After *a, Container *c, std::string name=std::string())
 
template<class Container >
PairPredicatecreate_in_container_filter (Container *c, std::string name=std::string())
 
template<class Score , class Container >
kernel::Restraintcreate_restraint (Score *s, Container *c, std::string name=std::string())
 
double get_slack_estimate (const kernel::ParticlesTemp &ps, double upper_bound, double step, const kernel::RestraintsTemp &restraints, bool derivatives, Optimizer *opt, ClosePairContainer *cpc)
 

Standard module functions

All IMP modules have a set of standard functions to help get information about the module and about files associated with the module.

std::string get_module_version ()
 
std::string get_module_name ()
 
std::string get_data_path (std::string file_name)
 Return the full path to installed data. More...
 
std::string get_example_path (std::string file_name)
 Return the path to installed example data for this module. More...
 

Typedef Documentation

Store a set of objects.

Definition at line 57 of file AllPairContainer.h.

Store a set of objects.

Definition at line 75 of file ListPairContainer.h.

Store a set of objects.

Definition at line 75 of file ListQuadContainer.h.

Store a set of objects.

Definition at line 43 of file MinimumPairScore.h.

Store a set of objects.

Definition at line 43 of file MinimumQuadScore.h.

Store a set of objects.

Definition at line 72 of file PairsConstraint.h.

Store a set of objects.

Definition at line 64 of file PairsRestraint.h.

Pass a set of objects.

See Also
PairsRestraint

Definition at line 64 of file PairsRestraint.h.

Store a set of objects.

Definition at line 72 of file QuadsConstraint.h.

Store a set of objects.

Definition at line 64 of file QuadsRestraint.h.

Pass a set of objects.

See Also
QuadsRestraint

Definition at line 64 of file QuadsRestraint.h.

Store a set of objects.

Definition at line 64 of file TripletsRestraint.h.

Function Documentation

template<class Container , class Before , class After >
Constraint* IMP::container::create_constraint ( Before *  b,
After *  a,
Container *  c,
std::string  name = std::string() 
)

Helper to create a ContainerConstraint.

Definition at line 34 of file container/generic.h.

template<class Container >
PairPredicate* IMP::container::create_in_container_filter ( Container *  c,
std::string  name = std::string() 
)

Create a filter that returns whether the pair, or its flip is contained in the passed container.

Note
This is different than the InContainerPairFilter.

Definition at line 44 of file container/generic.h.

template<class Score , class Container >
kernel::Restraint* IMP::container::create_restraint ( Score *  s,
Container *  c,
std::string  name = std::string() 
)

Create a restraint from a score and a container. The resulting restraint is, in general, more efficient than creating an, eg, PairsRestraint.

A Python version of this is provided, but it produces a slightly less efficient restraint.

Definition at line 26 of file container/generic.h.

std::string IMP::container::get_data_path ( std::string  file_name)

Return the full path to installed data.

Each module has its own data directory, so be sure to use the version of this function in the correct module. To read the data file "data_library" that was placed in the data directory of module "mymodule", do something like

std::ifstream in(IMP::mymodule::get_data_path("data_library"));

This will ensure that the code works when IMP is installed or used via the setup_environment.sh script.

std::string IMP::container::get_example_path ( std::string  file_name)

Return the path to installed example data for this module.

Each module has its own example directory, so be sure to use the version of this function in the correct module. For example to read the file example_protein.pdb located in the examples directory of the IMP::atom module, do

model));

This will ensure that the code works when IMP is installed or used via the setup_environment.sh script.

double IMP::container::get_slack_estimate ( const kernel::ParticlesTemp &  ps,
double  upper_bound,
double  step,
const kernel::RestraintsTemp &  restraints,
bool  derivatives,
Optimizer *  opt,
ClosePairContainer *  cpc 
)

Estimate the proper slack based on

  • the time taken to evaluate the passed restraints for a given number of particles in the non-bonded list
  • the number of pairs in the list as a function of slack size
  • the amount the particles are moved by the optimizer
  • the time taken to compute the close pairs as a function of slack size

For best results, make the particles start in a that is "typical" for the optimization.