IMP logo
IMP Reference Guide  develop.e1fe35f,2019/09/17
The Integrative Modeling Platform
IMP::core Namespace Reference

Basic functionality that is expected to be used by a wide variety of IMP users. More...

Detailed Description

Basic functionality that is expected to be used by a wide variety of IMP users.

The classes in this module should not directly incorporate experimental data and instead should provide basic building blocks for making restraints and manipulating Particle objects. Typical classes are IMP::core::Harmonic, IMP::core::DistancePairScore, IMP::core::VolumeRestraint etc.

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  AllSamePairPredicate
 
class  AllSameQuadPredicate
 
class  AllSameSingletonPredicate
 
class  AllSameTripletPredicate
 
class  AngleRestraint
 Angle restraint between three particles. More...
 
class  AngleTripletScore
 Apply a function to the angle between three particles. More...
 
class  AttributeSingletonPredicate
 Return the value of an int attribute as the predicate value. More...
 
class  BallMover
 Move continuous particle variables by perturbing them within a ball. More...
 
class  BinormalTerm
 A single binormal term in a MultipleBinormalRestraint. More...
 
class  BoxSweepClosePairsFinder
 Find all nearby pairs by sweeping the bounding boxes. More...
 
class  Centroid
 A particle that is the geometric centroid of other particles. More...
 
class  CentroidOfRefined
 
class  ChecksScoreState
 
class  ChildrenRefiner
 Return the hierarchy children of a particle. More...
 
class  ClosedCubicSpline
 Closed cubic spline function. More...
 
class  ClosePairsFinder
 A base class for algorithms to find spatial proximities. More...
 
class  ClosePairsPairScore
 Apply the score to all pairs whose spheres are within a distance threshold. More...
 
class  ClusterProvenance
 Track creation of a system fragment from clustering. More...
 
class  CoinFlipPairPredicate
 
class  CoinFlipQuadPredicate
 
class  CoinFlipSingletonPredicate
 
class  CoinFlipTripletPredicate
 
class  CombineProvenance
 Track creation of a system fragment by combination. More...
 
class  ConjugateGradients
 Simple conjugate gradients optimizer. More...
 
class  ConnectivityRestraint
 Ensure that a set of particles remains connected with one another. More...
 
class  ConstantPairPredicate
 
class  ConstantQuadPredicate
 
class  ConstantRestraint
 Return a constant value. More...
 
class  ConstantSingletonPredicate
 
class  ConstantTripletPredicate
 
class  Cosine
 Cosine function. More...
 
class  Cover
 A particle which covers a set of other particles. More...
 
class  CoverRefined
 Set the position and radius of a particle to enclose the refined. More...
 
class  DataObject
 
class  DerivativesFromRefined
 Accumulate the derivatives of the refined particles. More...
 
class  DerivativesToRefined
 Copy the derivatives from a coarse particle to its refined particles. More...
 
class  DiameterRestraint
 Restrain the diameter of a set of points. More...
 
class  DihedralRestraint
 Dihedral restraint between four particles. More...
 
class  Direction
 A decorator for a particle that represents a direction in 3D. More...
 
class  DirectionAngle
 A decorator for an angle between two directions. More...
 
class  DirectionMover
 Modify a direction. More...
 
class  DistancePairScore
 
class  DistanceRestraint
 Distance restraint between two particles. More...
 
class  EdgePairGeometry
 Display a segment connecting a pair of particles. More...
 
class  EdgePairsGeometry
 Display a segment for each pair in a IMP::PairContainer. More...
 
class  ExcludedVolumeRestraint
 Prevent a set of particles and rigid bodies from inter-penetrating. More...
 
class  FilterProvenance
 Track creation of a system fragment by filtering. More...
 
class  FixedRefiner
 The refiner can refine any particle by returning a fixed set. More...
 
class  Gaussian
 
class  GenericAttributeSingletonScore
 Apply a function to an attribute. More...
 
class  GenericBoundingBox3DSingletonScore
 Score particles based on how far outside a box they are. More...
 
class  GenericBoundingSphere3DSingletonScore
 Score XYZ or XYZR particles based on how far outside a sphere they are. More...
 
class  GenericDistanceToSingletonScore
 Apply a function to the distance to a fixed point. More...
 
class  GridClosePairsFinder
 Find all nearby pairs by testing all pairs. More...
 
class  Harmonic
 Harmonic function (symmetric about the mean) More...
 
class  HarmonicDistancePairScore
 
class  HarmonicLowerBound
 Lower bound harmonic function (non-zero when feature < mean) More...
 
class  HarmonicSphereDistancePairScore
 A harmonic score on the distance between two spheres. More...
 
class  HarmonicSurfaceDepthPairScore
 
class  HarmonicSurfaceDistancePairScore
 A harmonic score on the distance between a surface and a sphere. More...
 
class  HarmonicSurfaceHeightPairScore
 
class  HarmonicUpperBound
 Upper bound harmonic function (non-zero when feature > mean) More...
 
class  HarmonicUpperBoundSphereDiameterPairScore
 A harmonic upper bound on the diameter of the span of two spheres. More...
 
class  HarmonicUpperBoundSphereDistancePairScore
 A harmonic upper bound on the distance between two spheres. More...
 
class  HarmonicWell
 A well with harmonic barriers. More...
 
class  Hierarchy
 A decorator for helping deal with a generalized hierarchy. More...
 
struct  HierarchyCounter
 A simple functor to count the number of particles in a hierarchy. More...
 
class  HierarchyTraits
 Define the type for a type of hierarchy. More...
 
class  HierarchyVisitor
 A visitor for traversal of a hierarchy. More...
 
class  InBoundingBox3DSingletonPredicate
 Return 1 if the XYZ is in the bounding box, 0 otherwise. More...
 
class  IncrementalScoringFunction
 Score the model efficiently when a small number of particles are changed. More...
 
class  IsCollisionPairPredicate
 Return 1 if two XYZRs collide. More...
 
class  KClosePairsPairScore
 Apply a score to a fixed number of close pairs from the two sets. More...
 
class  LateralSurfaceConstraint
 Constrain the center of a Surface for visualization. More...
 
class  LeavesRefiner
 Return the hierarchy leaves under a particle. More...
 
class  Linear
 Linear function More...
 
class  LogNormalMover
 Modify a set of continuous variables using a log-normal distribution. More...
 
class  MCCGSampler
 A simple sampler. More...
 
class  MinimumRestraint
 Score based on the minimum scoring members of a set of restraints. More...
 
class  ModifierVisitor
 A visitor which applies a modifier to each Particle in a hierarchy. More...
 
class  MonteCarlo
 A Monte Carlo optimizer. More...
 
class  MonteCarloMover
 A base class for classes which perturb particles. More...
 
struct  MonteCarloMoverResult
 Return value of the MonteCarloMover::propose() function. More...
 
class  MonteCarloWithBasinHopping
 This variant of Monte Carlo uses basis hopping. More...
 
class  MonteCarloWithLocalOptimization
 This variant of Monte Carlo that relaxes after each move. More...
 
class  MoveStatisticsScoreState
 Keep track of statistics about how particles move. More...
 
class  MSConnectivityRestraint
 Ensure that a set of particles remains connected with one another. More...
 
class  MultipleBinormalRestraint
 Modeller-style multiple binormal (phi/psi) restraint. More...
 
class  NearestNeighborsClosePairsFinder
 Find all nearby pairs using the algebra::NearestNeighbor code. More...
 
class  NeighborsTable
 
class  NonRigidMember
 A decorator for a particle that is part of a rigid body but not rigid. More...
 
class  NormalizedSphereDistancePairScore
 A score on the normalized distance between the surfaces of two spheres. More...
 
class  NormalMover
 Modify a set of continuous variables using a normal distribution. More...
 
class  OpenCubicSpline
 An OpenCubicSpline. More...
 
class  OrderedTypePairPredicate
 
class  OrderedTypeQuadPredicate
 
class  OrderedTypeSingletonPredicate
 
class  OrderedTypeTripletPredicate
 
class  PairConstraint
 Apply a PairFunction to a Pair. More...
 
class  PairRestraint
 Applies a PairScore to a Pair. More...
 
class  PredicateSingletonScore
 
class  Provenance
 Track how parts of the system were created. More...
 
class  Provenanced
 Tag part of the system to track how it was created. More...
 
class  QuadConstraint
 Apply a QuadFunction to a Quad. More...
 
class  QuadraticClosePairsFinder
 Find all nearby pairs by testing all pairs. More...
 
class  QuadRestraint
 Applies a QuadScore to a Quad. More...
 
class  Reference
 A particle that has an associated reference particle. More...
 
class  RefinedPairsPairScore
 Generate pairs to score by applying a Refiner. More...
 
class  RestraintsScoringFunction
 
class  RigidBody
 A decorator for a rigid body. More...
 
class  RigidBodyAnglePairScore
 Score on the crossing angle between two rigid bodies. More...
 
class  RigidBodyDerivativeGeometry
 
class  RigidBodyDerivativesGeometry
 
class  RigidBodyDistancePairScore
 Accelerated computation of the distance between two rigid bodies. More...
 
class  RigidBodyFrameGeometry
 
class  RigidBodyFramesGeometry
 
class  RigidBodyHierarchyGeometry
 
class  RigidBodyMember
 A member of a rigid body, it has internal (local) coordinates. More...
 
class  RigidBodyMover
 Modify the transformation of a rigid body. More...
 
class  RigidBodyTorque
 
class  RigidBodyTunneler
 Modify the transformation of a rigid body. More...
 
class  RigidBodyUmbrella
 Umbrella-like restraint for rigid bodies. More...
 
class  RigidClosePairsFinder
 Perform more efficient close pair finding when rigid bodies are involved. More...
 
class  RigidMember
 
class  SampleProvenance
 Track creation of a system fragment from sampling. More...
 
class  ScriptProvenance
 Track creation of a system fragment from running a script. More...
 
class  SerialMover
 Applies a list of movers one at a time. More...
 
class  SingletonConstraint
 Apply a SingletonFunction to a Singleton. More...
 
class  SingletonRestraint
 Applies a SingletonScore to a Singleton. More...
 
class  SoftSpherePairScore
 
class  SoftSubSurfacePairScore
 A harmonic score that keeps a sphere below a surface. More...
 
class  SoftSuperSurfacePairScore
 A harmonic score that keeps a sphere above a surface. More...
 
class  SoftwareProvenance
 Track creation of a system fragment from running some software. More...
 
class  SphereDistancePairScore
 A score on the distance between the surfaces of two spheres. More...
 
class  SphereDistanceToSingletonScore
 Apply a function to the distance to a fixed point. More...
 
class  StatisticalPairScore
 
class  SteepestDescent
 A simple steepest descent optimizer. More...
 
class  StructureProvenance
 Track creation of a system fragment from a PDB file. More...
 
class  SubsetMover
 Applies a subset of a list of movers. More...
 
class  Surface
 A decorator for a particle that represents a surface, its coordinates, and orientation. More...
 
class  SurfaceDepthPairScore
 A score on the depth of a sphere below a surface. More...
 
class  SurfaceDistancePairScore
 A score on the distance between a surface and a sphere. More...
 
class  SurfaceGeometry
 Display a Surface particle as a cylindrical disk. More...
 
class  SurfaceGeometryConstraint
 Constrain a SurfaceGeometry to a Surface. More...
 
class  SurfaceHeightPairScore
 A score on the height of a sphere above a surface. More...
 
class  SurfaceMover
 Modify a surface orientation. More...
 
class  SurfaceSymmetryConstraint
 Constrain orientation of surfaces with respect to rigid bodies. More...
 
class  SurfaceTetheredChain
 Score on surface-to-end distance of chain tethered to impenetrable surface. More...
 
class  TableRefiner
 A lookup based particle refiner. More...
 
class  Transform
 Apply a transformation to a passed particle. More...
 
class  TransformationAndReflectionSymmetry
 Set the coordinates of a particle to be a transformed version of a reference. More...
 
class  TransformationSymmetry
 Set the coordinates of a particle to be a transformed version of a reference. More...
 
class  TransformationSymmetryMover
 Modify the given TransformationSymmetry. More...
 
class  TransformedDistancePairScore
 Apply a function to the distance between two particles after transforming the second. More...
 
class  TripletConstraint
 Apply a TripletFunction to a Triplet. More...
 
class  TripletRestraint
 Applies a TripletScore to a Triplet. More...
 
class  TruncatedHarmonic
 A function that is harmonic over an interval. More...
 
class  Typed
 A decorator for classifying particles in your system. More...
 
class  TypedPairScore
 Delegate to another PairScore depending on particle types. More...
 
class  UnorderedTypePairPredicate
 
class  UnorderedTypeQuadPredicate
 
class  UnorderedTypeSingletonPredicate
 
class  UnorderedTypeTripletPredicate
 
class  VolumeRestraint
 A restraint that prevents spheres from inter-penetrating. More...
 
class  WeightedDerivativesToRefined
 Copy the derivatives from a coarse particle to its refined particles. More...
 
class  WeightedSphereDistancePairScore
 A score on a weighted distance between the surfaces of two spheres. More...
 
class  WeightedSum
 Weighted sum of unary functions. More...
 
class  WeightedSumOfExponential
 Negative logarithm of weighted sum of negative exponential of unary functions. More...
 
class  WriteRestraintScoresOptimizerState
 Write the scores of the passed restraints to a file during optimization. More...
 
class  XYZ
 A decorator for a particle with x,y,z coordinates. More...
 
class  XYZDerivativeGeometry
 
class  XYZDerivativesGeometry
 
class  XYZR
 A decorator for a particle with x,y,z coordinates and a radius. More...
 
class  XYZRGeometry
 Display an IMP::core::XYZR particle as a ball. More...
 
class  XYZRsGeometry
 Display an IMP::SingletonContainer of IMP::core::XYZR particles as balls. More...
 

Typedefs

typedef
GenericAttributeSingletonScore
< UnaryFunction
AttributeSingletonScore
 
typedef IMP::Vector< BinormalTermBinormalTermList
 
typedef
GenericBoundingBox3DSingletonScore
< UnaryFunction
BoundingBox3DSingletonScore
 
typedef
GenericBoundingSphere3DSingletonScore
< UnaryFunction
BoundingSphere3DSingletonScore
 
typedef IMP::Vector< CentroidCentroids
 
typedef IMP::Vector< CoverCovers
 
typedef IMP::Vector
< DirectionAngle
DirectionAngles
 
typedef IMP::Vector< DirectionDirections
 
typedef IMP::Vector
< IMP::Pointer
< DistancePairScore > > 
DistancePairScores
 
typedef IMP::Vector
< IMP::WeakPointer
< DistancePairScore > > 
DistancePairScoresTemp
 
typedef
GenericDistanceToSingletonScore
< UnaryFunction
DistanceToSingletonScore
 
typedef IMP::Vector< GaussianGaussians
 
typedef IMP::Vector
< IMP::Pointer
< HarmonicDistancePairScore > > 
HarmonicDistancePairScores
 
typedef IMP::Vector
< IMP::WeakPointer
< HarmonicDistancePairScore > > 
HarmonicDistancePairScoresTemp
 
typedef
score_functor::SphereDistance
< score_functor::Shift
< score_functor::Harmonic > > 
HarmonicSphereDistanceScore
 
typedef
score_functor::PointToSphereDistance
< score_functor::Shift
< score_functor::Harmonic > > 
HarmonicSurfaceDistanceScore
 
typedef IMP::Vector
< IMP::Pointer
< HarmonicUpperBoundSphereDiameterPairScore > > 
HarmonicUpperBoundSphereDiameterPairScores
 
typedef IMP::Vector
< IMP::WeakPointer
< HarmonicUpperBoundSphereDiameterPairScore > > 
HarmonicUpperBoundSphereDiameterPairScoresTemp
 
typedef
score_functor::SphereDistance
< score_functor::Shift
< score_functor::HarmonicUpperBound > > 
HarmonicUpperBoundSphereDistanceScore
 
typedef IMP::Vector
< IMP::Pointer< HarmonicWell > > 
HarmonicWells
 
typedef IMP::Vector
< IMP::WeakPointer
< HarmonicWell > > 
HarmonicWellsTemp
 
typedef IMP::Vector
< HierarchyCounter
HierarchyCounters
 
typedef IMP::Vector
< HierarchyTraits
HierarchyTraitsList
 
typedef IMP::Vector
< MonteCarloMoverResult
MonteCarloMoverResults
 
typedef IMP::Vector
< IMP::Pointer
< MonteCarloMover > > 
MonteCarloMovers
 
typedef IMP::Vector
< IMP::WeakPointer
< MonteCarloMover > > 
MonteCarloMoversTemp
 
typedef Key< 34897493 > ParticleType
 An IMP::Key object for identifying types of particles by strings. More...
 
typedef IMP::Vector< ParticleTypeParticleTypes
 
typedef OptimizerState PeriodicOptimizerState
 
typedef
score_functor::PointToSphereDistance
< score_functor::UnaryFunctionEvaluate
PointToSphereDistanceScore
 
typedef IMP::Vector< ReferenceReferences
 
typedef IMP::Vector< RigidBodyRigidBodies
 
typedef IMP::Vector
< RigidBodyMember
RigidBodyMembers
 
typedef IMP::Vector< RigidMemberRigidMembers
 
typedef
score_functor::SphereDistance
< score_functor::HarmonicLowerBound
SoftSphereDistanceScore
 
typedef
score_functor::PointToSphereDistance
< score_functor::HarmonicLowerBound
SoftSurfaceDistanceScore
 
typedef
score_functor::SphereDistance
< score_functor::UnaryFunctionEvaluate
SphereDistanceScore
 
typedef IMP::Vector
< IMP::Pointer
< SurfaceGeometry > > 
SurfaceGeometries
 
typedef IMP::Vector
< IMP::WeakPointer
< SurfaceGeometry > > 
SurfaceGeometriesTemp
 
typedef IMP::Vector
< IMP::Pointer
< SurfaceGeometryConstraint > > 
SurfaceGeometryConstraints
 
typedef IMP::Vector
< IMP::WeakPointer
< SurfaceGeometryConstraint > > 
SurfaceGeometryConstraintsTemp
 
typedef IMP::Vector< SurfaceSurfaces
 
typedef TruncatedHarmonic< BOTH > TruncatedHarmonicBound
 
typedef TruncatedHarmonic< LOWER > TruncatedHarmonicLowerBound
 
typedef TruncatedHarmonic< UPPER > TruncatedHarmonicUpperBound
 
typedef IMP::Vector< TypedTypeds
 
typedef IMP::Vector< XYZRXYZRs
 
typedef IMP::Vector< XYZXYZs
 

Enumerations

enum  BoundDirection { LOWER, BOTH, UPPER }
 

Functions

def add_imp_provenance
 Tag the given particle as being created by the current version of IMP. More...
 
void add_provenance (Model *m, ParticleIndex pi, Provenance p)
 Add provenance to part of the model. More...
 
void add_rigid_body_cache_key (ObjectKey k)
 
def add_script_provenance
 Tag the given particle with the current Python script. More...
 
def add_software_provenance
 Tag the given particle with the software used to create it. More...
 
void assign_blame (const RestraintsTemp &rs, const ParticlesTemp &ps, FloatKey attribute)
 
display::Geometries create_blame_geometries (const RestraintsTemp &rs, const ParticlesTemp &ps, double max=NO_MAX, std::string name=std::string())
 
template<class UnaryFunction >
GenericBoundingBox3DSingletonScore
< UnaryFunction > * 
create_bounding_box_3d_singleton_score (UnaryFunction *f, const algebra::BoundingBoxD< 3 > &bb)
 
template<class UnaryFunction >
GenericBoundingSphere3DSingletonScore
< UnaryFunction > * 
create_bounding_sphere_3d_singleton_score (UnaryFunction *f, const algebra::Sphere3D &sphere)
 
Provenance create_clone (Provenance p)
 Clone provenance (including previous provenance) More...
 
template<class UnaryFunction >
GenericDistanceToSingletonScore
< UnaryFunction > * 
create_distance_to_singleton_score (UnaryFunction *f, const algebra::Vector3D &pt)
 
template<class UF >
GenericAttributeSingletonScore
< UF > * 
create_generic_attribute_singleton_score (UF *uf, FloatKey k)
 
SurfaceGeometrycreate_geometry (const Surface s, std::string name=std::string("SurfaceGeometry%1%"))
 Create a geometry from a Surface. More...
 
template<class Predicate , class Score >
PredicateSingletonScore
< Predicate, Score > * 
create_predicates_singleton_score (Predicate *pred, int val, Score *score)
 
ParticlesTemp create_rigid_bodies (Model *m, unsigned int n, bool no_members=false)
 
XYZRs create_xyzr_particles (Model *m, unsigned int num, Float radius, Float box_side=10)
 Create a set of particles with random coordinates. More...
 
template<class HD , class F >
HD find_breadth_first (HD h, F f)
 Find the first node which matches some criteria. More...
 
template<class H , class Out , class F >
Out gather (H h, F f, Out out)
 Gather all the particles in the hierarchy that meet some criteria. More...
 
template<class H , class Out , class K , class V >
Out gather_by_attribute (H h, K k, V v, Out out)
 Gather all the particles in the hierarchy which match on an attribute. More...
 
template<class H , class Out , class K0 , class V0 , class K1 , class V1 >
Out gather_by_attributes (H h, K0 k0, V0 v0, K1 k1, V1 v1, Out out)
 Gather all the particles in the hierarchy which match on two attributes. More...
 
template<class H , class Out , class F >
Out gather_slice (H h, F f, Out out)
 Gather all the uppermost particles in the hierarchy that meet some criteria. More...
 
GenericHierarchies get_all_descendants (Hierarchy mhd)
 Get all the particles in the subtree. More...
 
def get_all_provenance
 Yield all provenance decorators of the given types for the particle. More...
 
double get_angle (Direction a, Direction b)
 Get angle between directions. More...
 
algebra::BoundingBoxD< 3 > get_bounding_box (const XYZRs &ps)
 Get the bounding box. More...
 
algebra::Vector3D get_centroid (const XYZs &ps)
 Get the centroid. More...
 
SurfaceGeometryget_constrained_surface_geometry (const Surface s, std::string name="SurfaceGeometry%1%")
 Get surface geometry constrained to the surface. More...
 
double get_depth (const Surface &s, const XYZR &d)
 Get depth of sphere below surface. More...
 
double get_depth (const Surface &s, const XYZ &d)
 Get depth of point below surface. More...
 
double get_dihedral (XYZ a, XYZ b, XYZ c, XYZ d)
 Compute the dihedral angle (in radians) between the four particles. More...
 
double get_distance (XYZR a, XYZR b)
 Compute the sphere distance between a and b. More...
 
double get_distance (const Surface &s, const XYZR &d)
 Get distance from sphere to surface. More...
 
double get_distance (const Surface &s, const XYZ &d)
 Get distance from point to surface. More...
 
double get_distance (XYZ a, XYZ b)
 Compute the distance between a pair of particles. More...
 
algebra::Sphere3D get_enclosing_sphere (const XYZs &v)
 Get a sphere enclosing the set of XYZRs. More...
 
double get_height (const Surface &s, const XYZR &d)
 Get height of sphere above surface. More...
 
double get_height (const Surface &s, const XYZ &d)
 Get height of point above surface. More...
 
algebra::ReferenceFrame3D get_initial_reference_frame (Model *m, const ParticleIndexes &pis)
 
algebra::ReferenceFrame3D get_initial_reference_frame (const ParticlesTemp &ps)
 
GenericHierarchies get_internal (Hierarchy mhd)
 Get all the non-leaves of the bit of hierarchy. More...
 
GenericHierarchies get_leaves (Hierarchy mhd)
 Get all the leaves of the bit of hierarchy. More...
 
Hierarchy get_root (Hierarchy h)
 Return the root of the hierarchy. More...
 
ParticleIndex get_root_rigid_body (RigidMember m)
 Return the index of the outer-most rigid body containing the member. More...
 
const algebra::Vector3D get_vector_geometry (XYZ d)
 
void set_enclosing_radius (XYZR b, const XYZs &v)
 Set the radius of the first to enclose the list. More...
 
void set_enclosing_sphere (XYZR b, const XYZs &v, double slack=0)
 Set the coordinates and radius of the first to enclose the list. More...
 
void set_vector_geometry (XYZ d, const algebra::Vector3D &v)
 
template<class ND >
std::ostream & show (Hierarchy h, std::ostream &out=std::cout)
 Print the hierarchy using a given decorator to display each node. More...
 
void show_rigid_body_hierarchy (RigidBody rb, TextOutput out=TextOutput(std::cout))
 
void transform (XYZ a, const algebra::Transformation3D &tr)
 Apply a transformation to the particle. More...
 
void transform (RigidBody a, const algebra::Transformation3D &tr)
 Transform a rigid body. More...
 
template<class HD , class F >
visit_breadth_first (HD d, F f)
 Apply the visitor to each particle, breadth first. More...
 
template<class HD , class F >
visit_breadth_first_with_data (HD d, F f, typename F::result_type i)
 Apply functor F to each particle, traversing the hierarchy breadth first. More...
 
template<class HD , class F >
visit_depth_first (HD d, F &f)
 Apply functor F to each particle, traversing the hierarchy depth first. More...
 
template<class HD , class F >
visit_depth_first_with_data (HD d, F f, typename F::result_type i)
 Apply functor F to each particle, traversing the hierarchy depth first. More...
 

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 one of this module's data files. More...
 
std::string get_example_path (std::string file_name)
 Return the full path to one of this module's example files. More...
 

Python Only

The following functions are only available in Python as the equivalent C++ functionality is provided via template functions or in other ways that don't directly map to Python.

algebra::Transformation3D get_transformation_aligning_first_to_second (XYZsOrVector3ds a, XYZsOrVector3ds b)
 

Typedef Documentation

For Python users. C++ users should use create_attribute_singleton_score().

Definition at line 65 of file GenericAttributeSingletonScore.h.

Pass or store a set of BinormalTerm .

Definition at line 77 of file MultipleBinormalRestraint.h.

A vector of reference-counting object pointers.

Definition at line 23 of file core/DistancePairScore.h.

A vector of weak (non reference-counting) pointers to specified objects.

See Also
DistancePairScore

Definition at line 23 of file core/DistancePairScore.h.

Use an IMP::UnaryFunction to score a distance to a point.

Definition at line 82 of file DistanceToSingletonScore.h.

A vector of reference-counting object pointers.

Definition at line 36 of file core/DistancePairScore.h.

A vector of weak (non reference-counting) pointers to specified objects.

See Also
HarmonicDistancePairScore

Definition at line 36 of file core/DistancePairScore.h.

A vector of reference-counting object pointers.

Definition at line 82 of file SphereDistancePairScore.h.

A vector of weak (non reference-counting) pointers to specified objects.

See Also
HarmonicUpperBoundSphereDiameterPairScore

Definition at line 82 of file SphereDistancePairScore.h.

A vector of reference-counting object pointers.

Definition at line 64 of file HarmonicWell.h.

A vector of weak (non reference-counting) pointers to specified objects.

See Also
HarmonicWell

Definition at line 64 of file HarmonicWell.h.

Pass or store a set of HierarchyCounter .

Definition at line 423 of file core/Hierarchy.h.

Pass or store a set of HierarchyTraits .

Definition at line 63 of file core/Hierarchy.h.

Pass or store a set of MonteCarloMoverResult .

Definition at line 29 of file MonteCarloMover.h.

A vector of reference-counting object pointers.

Definition at line 109 of file MonteCarloMover.h.

A vector of weak (non reference-counting) pointers to specified objects.

See Also
MonteCarloMover

Definition at line 109 of file MonteCarloMover.h.

typedef Key< 34897493 > IMP::core::ParticleType

An IMP::Key object for identifying types of particles by strings.

The ParticleType key is used to type particles within the Typed decorator

Definition at line 28 of file Typed.h.

Pass or store a set of ParticleType .

Definition at line 29 of file Typed.h.

A vector of reference-counting object pointers.

Definition at line 196 of file Surface.h.

A vector of weak (non reference-counting) pointers to specified objects.

See Also
SurfaceGeometry

Definition at line 196 of file Surface.h.

A vector of reference-counting object pointers.

Definition at line 243 of file Surface.h.

A vector of weak (non reference-counting) pointers to specified objects.

See Also
SurfaceGeometryConstraint

Definition at line 243 of file Surface.h.

A specialization of TruncatedHarmonic that may be non-zero in both directions, below or above the center value

Definition at line 90 of file TruncatedHarmonic.h.

A specialization of TruncatedHarmonic that may be non-zero only below the center value (always zero above it)

Definition at line 86 of file TruncatedHarmonic.h.

A specialization of TruncatedHarmonic that may be non-zero only above the center value (always zero below it)

Definition at line 82 of file TruncatedHarmonic.h.

Function Documentation

def IMP.core.add_imp_provenance (   p)

Tag the given particle as being created by the current version of IMP.

Note
This function is only available in Python.

Definition at line 16174 of file core/__init__.py.

void IMP::core::add_provenance ( Model *  m,
ParticleIndex  pi,
Provenance  p 
)

Add provenance to part of the model.

void IMP::core::add_rigid_body_cache_key ( ObjectKey  k)

It is often useful to store precalculated properties of the rigid body for later use. These need to be cleared out when the rigid body changes. To make sure this happens, register the key here.

def IMP.core.add_script_provenance (   p)

Tag the given particle with the current Python script.

This is a noop if the particle is already so tagged.

Note
This function is only available in Python.

Definition at line 16144 of file core/__init__.py.

def IMP.core.add_software_provenance (   p,
  name,
  version,
  location 
)

Tag the given particle with the software used to create it.

This is a noop if the particle is already so tagged.

Note
This function is only available in Python.

Definition at line 16161 of file core/__init__.py.

void IMP::core::assign_blame ( const RestraintsTemp &  rs,
const ParticlesTemp &  ps,
FloatKey  attribute 
)

Assign blame to the passed particles by dividing up the scores of the passed restraints over the particles they act on. The restraints will be decomposed first in order to make sure that the assignment is as fine grained as possible.

The main cost is evaluating the restraints.

display::Geometries IMP::core::create_blame_geometries ( const RestraintsTemp &  rs,
const ParticlesTemp &  ps,
double  max = NO_MAX,
std::string  name = std::string() 
)

Create a set of geometry objects colored by the blame as described in the docs of the assign_blame() function.

All particles must be XYZR particles.

If max is NO_MAX, then the max is found automatically.

Provenance IMP::core::create_clone ( Provenance  p)

Clone provenance (including previous provenance)

template<class UF >
GenericAttributeSingletonScore<UF>* IMP::core::create_generic_attribute_singleton_score ( UF *  uf,
FloatKey  k 
)

Provide a compile time binding version of AttributeSingletonScore, which runs faster than the runtime bound version. UF should be a subclass of UnaryFunction (and not pointer to a generic UnaryFunction).

Definition at line 71 of file GenericAttributeSingletonScore.h.

SurfaceGeometry* IMP::core::create_geometry ( const Surface  s,
std::string  name = std::string("SurfaceGeometry%1%") 
)

Create a geometry from a Surface.

Definition at line 191 of file Surface.h.

template<class Predicate , class Score >
PredicateSingletonScore<Predicate, Score>* IMP::core::create_predicates_singleton_score ( Predicate *  pred,
int  val,
Score *  score 
)

Other overloads can be created as needed.

Definition at line 152 of file predicates.h.

ParticlesTemp IMP::core::create_rigid_bodies ( Model *  m,
unsigned int  n,
bool  no_members = false 
)

Create a set of rigid bodies that are bound together for efficiency. These rigid bodies cannot nest or have other dependencies among them.

All rigid bodies have the default reference frame.

Note
Do not use this with DOMINO as all the rigid bodies use the same ScoreState and so will be considered inter-dependent.
XYZRs IMP::core::create_xyzr_particles ( Model *  m,
unsigned int  num,
Float  radius,
Float  box_side = 10 
)

Create a set of particles with random coordinates.

This function is mostly to be used to keep demo code brief.

Parameters
[in]mThe model to add them to.
[in]numThe number of particles to create.
[in]radiusThe radius to give them.
[in]box_sideThe particles have coordinates from -box_side to box_side.
See Also
XYZR

The particles coordinates are optimized.

GenericHierarchies IMP::core::get_all_descendants ( Hierarchy  mhd)

Get all the particles in the subtree.

See Also
Hierarchy
def IMP.core.get_all_provenance (   p,
  types = [StructureProvenance,
  SampleProvenance,
  CombineProvenance,
  FilterProvenance,
  ClusterProvenance,
  ScriptProvenance,
  SoftwareProvenance 
)

Yield all provenance decorators of the given types for the particle.

By default, all provenance types are returned. Provenance is returned in order, most recent first. If the particle has no provenance information, an empty generator is returned.

Note
This function is only available in Python.

Definition at line 16128 of file core/__init__.py.

double IMP::core::get_angle ( Direction  a,
Direction  b 
)

Get angle between directions.

algebra::BoundingBoxD<3> IMP::core::get_bounding_box ( const XYZRs &  ps)

Get the bounding box.

Compute the bounding box of a set of particles

algebra::Vector3D IMP::core::get_centroid ( const XYZs &  ps)

Get the centroid.

Compute the centroid (mean) of a set of particles.

SurfaceGeometry* IMP::core::get_constrained_surface_geometry ( const Surface  s,
std::string  name = "SurfaceGeometry%1%" 
)

Get surface geometry constrained to the surface.

Definition at line 236 of file Surface.h.

+ Here is the call graph for this function:

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

Return the full path to one of this module's data files.

To read the data file "data_library" that was placed in the data directory of this module, do something like

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

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

Note
Each module has its own data directory, so be sure to use this function from the correct module.
double IMP::core::get_depth ( const Surface &  s,
const XYZR &  d 
)

Get depth of sphere below surface.

Note
If sphere crosses or is above surface, depth is negative the distance from the surface to the furthest point of the sphere.

Definition at line 143 of file Surface.h.

+ Here is the call graph for this function:

double IMP::core::get_depth ( const Surface &  s,
const XYZ &  d 
)

Get depth of point below surface.

Definition at line 148 of file Surface.h.

+ Here is the call graph for this function:

double IMP::core::get_dihedral ( XYZ  a,
XYZ  b,
XYZ  c,
XYZ  d 
)

Compute the dihedral angle (in radians) between the four particles.

See Also
XYZ
double IMP::core::get_distance ( XYZR  a,
XYZR  b 
)

Compute the sphere distance between a and b.

See Also
XYZR

Definition at line 89 of file XYZR.h.

+ Here is the call graph for this function:

double IMP::core::get_distance ( const Surface &  s,
const XYZR &  d 
)

Get distance from sphere to surface.

Definition at line 153 of file Surface.h.

+ Here is the call graph for this function:

double IMP::core::get_distance ( const Surface &  s,
const XYZ &  d 
)

Get distance from point to surface.

Definition at line 158 of file Surface.h.

+ Here is the call graph for this function:

double IMP::core::get_distance ( XYZ  a,
XYZ  b 
)

Compute the distance between a pair of particles.

compute the distance between the x,y,z coordinates of a and b

See Also
XYZ

Definition at line 192 of file XYZ.h.

+ Here is the call graph for this function:

algebra::Sphere3D IMP::core::get_enclosing_sphere ( const XYZs &  v)

Get a sphere enclosing the set of XYZRs.

Parameters
[in]vThe one whose radius should be set Any particle which does not have the attribute b.get_radius() is assumed to have a radius of 0.
See Also
XYZR
std::string IMP::core::get_example_path ( std::string  file_name)

Return the full path to one of this module's example files.

To read the example file "example_protein.pdb" that was placed in the examples directory of this module, do something like

std::ifstream in(IMP::core::get_example_path("example_protein.pdb"));

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

Note
Each module has its own example directory, so be sure to use this function from the correct module.
double IMP::core::get_height ( const Surface &  s,
const XYZR &  d 
)

Get height of sphere above surface.

Note
If sphere crosses or is below surface, height is negative the distance from the surface to the furthest point of the sphere.

Definition at line 129 of file Surface.h.

+ Here is the call graph for this function:

double IMP::core::get_height ( const Surface &  s,
const XYZ &  d 
)

Get height of point above surface.

Definition at line 134 of file Surface.h.

+ Here is the call graph for this function:

algebra::ReferenceFrame3D IMP::core::get_initial_reference_frame ( Model *  m,
const ParticleIndexes &  pis 
)

Compute the rigid body reference frame given a set of input particles.

GenericHierarchies IMP::core::get_internal ( Hierarchy  mhd)

Get all the non-leaves of the bit of hierarchy.

See Also
Hierarchy
GenericHierarchies IMP::core::get_leaves ( Hierarchy  mhd)

Get all the leaves of the bit of hierarchy.

The leaves are returned in the obvious order (first child before second child).

See Also
Hierarchy
Hierarchy IMP::core::get_root ( Hierarchy  h)

Return the root of the hierarchy.

See Also
Hierarchy

Definition at line 530 of file core/Hierarchy.h.

+ Here is the call graph for this function:

ParticleIndex IMP::core::get_root_rigid_body ( RigidMember  m)

Return the index of the outer-most rigid body containing the member.

Use this to, for example, group particles into rigid bodies.

algebra::Transformation3D IMP::core::get_transformation_aligning_first_to_second ( XYZsOrVector3ds  a,
XYZsOrVector3ds  b 
)

Align any combination of XYZ objects and algebra::Vector3D objects to one another.

Note
each of the two lists must all have the same type. That is, list "a" cannot be a mix of algebra::Vector3D objects and XYZ objects.
const algebra::Vector3D IMP::core::get_vector_geometry ( XYZ  d)

See generic geometry for more information.

Definition at line 135 of file XYZ.h.

+ Here is the call graph for this function:

void IMP::core::set_enclosing_radius ( XYZR  b,
const XYZs &  v 
)

Set the radius of the first to enclose the list.

Parameters
[in]vThe vector of XYZ or XYZR particles to enclose
[out]bThe one whose radius should be set Any particle which does not have the attribute b.get_radius() is assumed to have a radius of 0.
See Also
XYZR
void IMP::core::set_enclosing_sphere ( XYZR  b,
const XYZs &  v,
double  slack = 0 
)

Set the coordinates and radius of the first to enclose the list.

Parameters
[in]vThe vector of XYZ or XYZR particles to enclose
[out]bThe one whose values should be set
[in]slackAn amount to add to the radius. Any particle which does not have the attribute b.get_radius() is assumed to have a radius of 0.
Note
This function produces tighter bounds if the CGAL library is available.
See Also
XYZR
void IMP::core::set_vector_geometry ( XYZ  d,
const algebra::Vector3D &  v 
)

See generic geometry for more information.

Definition at line 131 of file XYZ.h.

+ Here is the call graph for this function:

void IMP::core::show_rigid_body_hierarchy ( RigidBody  rb,
TextOutput  out = TextOutput(std::cout) 
)

Show the rigid body hierarchy rooted at passed body.

void IMP::core::transform ( XYZ  a,
const algebra::Transformation3D &  tr 
)

Apply a transformation to the particle.

See Also
XYZ
algebra::Transformation3D
void IMP::core::transform ( RigidBody  a,
const algebra::Transformation3D &  tr 
)

Transform a rigid body.

The transformation is applied current conformation of the rigid body, as opposed to replacing the current conformation, as in RigidBody::set_reference_frame().

See Also
RigidBody
algebra::Transformation3D

Definition at line 864 of file rigid_bodies.h.

+ Here is the call graph for this function: