IMP logo
Classes | Functions
IMP::container Namespace Reference

Detailed Description

This module provides containers in IMP.

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.

Examples:

Author(s): Daniel Russel

Version: SVN.r12662

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 pairs from a list. 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 list of ParticlePairsTemp. More...
class  ListQuadContainer
 Store a list of ParticleQuadsTemp. More...
class  ListSingletonContainer
 Store a list of ParticlesTemp. More...
class  ListTripletContainer
 Store a list of ParticleTripletsTemp. 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  PairsEventOptimizerState
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  QuadsEventOptimizerState
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  SingletonsEventOptimizerState
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  TripletsEventOptimizerState
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...

Functions

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

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.

template<class Container >
PairFilter* 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.

template<class Score , class Container >
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.

double IMP::container::get_slack_estimate ( const ParticlesTemp &  ps,
double  upper_bound,
double  step,
const 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.


Generated on Fri Feb 10 2012 23:36:24 for IMP by doxygen 1.7.5.1