IMP Reference Guide  develop.63e71f5352,2022/07/06 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
Create a scoring function on a list of restraints. More...

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::Vector3Dget_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 data)
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 data)
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 ()
Return the version of this module, as a string. More...

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.

 typedef IMP::Vector< BinormalTerm > IMP::core::BinormalTermList

Pass or store a set of BinormalTerm .

Definition at line 77 of file MultipleBinormalRestraint.h.

Score particles based on how far outside a box they are by applying f to the distance.

See Also
GenericBoundingBox3DSingletonScore

Definition at line 100 of file BoundingBox3DSingletonScore.h.

Score particles based on how far outside a sphere they are by applying f to the distance.

See Also
GenericBoundingSphere3DSingletonScore

Definition at line 99 of file BoundingSphere3DSingletonScore.h.

A vector of reference-counting object pointers.

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

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

See Also
DistancePairScore

Definition at line 31 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 53 of file core/DistancePairScore.h.

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

See Also
HarmonicDistancePairScore

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

A vector of reference-counting object pointers.

Definition at line 86 of file SphereDistancePairScore.h.

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

See Also
HarmonicUpperBoundSphereDiameterPairScore

Definition at line 86 of file SphereDistancePairScore.h.

 typedef IMP::Vector > IMP::core::HarmonicWells

A vector of reference-counting object pointers.

Definition at line 67 of file HarmonicWell.h.

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

See Also
HarmonicWell

Definition at line 67 of file HarmonicWell.h.

Pass or store a set of HierarchyCounter .

Definition at line 437 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.

 typedef IMP::Vector< ParticleType > IMP::core::ParticleTypes

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.

 typedef TruncatedHarmonic IMP::core::TruncatedHarmonicBound

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.

 typedef TruncatedHarmonic IMP::core::TruncatedHarmonicLowerBound

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.

 typedef TruncatedHarmonic IMP::core::TruncatedHarmonicUpperBound

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 16426 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 16396 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 16413 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* 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* 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] m The model to add them to. [in] num The number of particles to create. [in] radius The radius to give them. [in] box_side The 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 16380 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] v The 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
 std::string IMP::core::get_module_version ( )

Return the version of this module, as a string.

Note
This function is only available in Python.

Definition at line 5 of file EMageFit/__init__.py.

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

Return the root of the hierarchy.

See Also
Hierarchy

Definition at line 544 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] v The vector of XYZ or XYZR particles to enclose [out] b The 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] v The vector of XYZ or XYZR particles to enclose [out] b The one whose values should be set [in] slack An 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: