8 #ifndef IMPDOMINO_UTILITY_H
9 #define IMPDOMINO_UTILITY_H
11 #include <IMP/domino/domino_config.h>
19 #include <IMP/container/internal/ClosePairContainer.h>
24 #ifdef IMP_DOMINO_USE_IMP_RMF
25 #include <RMF/HDF5/Group.h>
28 IMPKERNEL_BEGIN_NAMESPACE
31 IMPKERNEL_END_NAMESPACE
33 IMPDOMINO_BEGIN_NAMESPACE
35 class AssignmentsTable;
36 class AssignmentContainer;
37 class SubsetFilterTable;
48 class ParticleStatesTable;
52 const ParticleStatesTable *pst);
59 const Subset &s,
const ParticleStatesTable *pst,
const DependencyGraph &dg,
76 IMPDOMINOEXPORT
Ints get_index(
const ParticlesTemp &particles,
77 const Subset &subset,
const Subsets &excluded);
95 const ParticlesTemp &ps,
double max_distance,
96 ParticleStatesTable *pst);
101 ParticleStatesTable *pst);
104 IMPDOMINOEXPORT Assignment
106 ParticleStatesTable *pst);
120 "Dimensions of embeddings don't match.");
122 for (
unsigned int i = 0; i < a.size(); ++i) {
124 if (!metrics.empty() && metrics[i]) {
131 cur = (ea - eb).get_squared_magnitude();
134 if (d > square(max)) {
135 IMP_LOG_VERBOSE(
"Returning " << std::sqrt(d) <<
" > " << max <<
" for "
136 << a <<
" and " << b << std::endl);
141 << std::sqrt(d) << std::endl);
145 IMPDOMINO_END_NAMESPACE
A container for Singletons.
Used to hold a set of related restraints.
A Bayesian inference-based sampler.
IMP::Vector< Subset > Subsets
RestraintsTemp get_restraints(const Subset &s, const ParticleStatesTable *pst, const DependencyGraph &dg, RestraintSet *rs)
boost::graph DependencyGraph
A directed graph on the interactions between the various objects in the model.
Storage of a model, its restraints, constraints and particles.
Assignment get_nearest_assignment(const Subset &s, const algebra::VectorKD &embedding, ParticleStatesTable *pst)
Return the nearest assignment from an embedding.
double get_distance_if_smaller_than(const Subset &s, const Assignment &a, const Assignment &b, ParticleStatesTable *pst, const statistics::Metrics &metrics, double max)
#define IMP_LOG_VERBOSE(expr)
Represent a subset of the particles being optimized.
IMP::Vector< IMP::WeakPointer< Restraint > > RestraintsTemp
A more IMP-like version of the std::vector.
ParticlePairsTemp get_possible_interactions(const ParticlesTemp &ps, double max_distance, ParticleStatesTable *pst)
Ints get_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
virtual algebra::VectorKD get_embedding(unsigned int i) const
Return an embedding of the state.
Ints get_partial_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
Base class for writing geometry to a file.
algebra::VectorKD get_embedding(const Subset &s, const Assignment &a, ParticleStatesTable *pst)
Return an embedding for an assignment.
A Bayesian inference-based sampler.
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
Store a configuration of a subset.
IMP::Vector< ParticlePair > ParticlePairsTemp
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
IMP::Vector< Int > Ints
Standard way to pass a bunch of Int values.
void load_particle_states(const Subset &s, const Assignment &ss, const ParticleStatesTable *pst)
Load the appropriate state for each particle in a Subset.
A Bayesian inference-based sampler.
Build dependency graphs on models.
double get_distance(const Line3D &s, const Vector3D &p)
Get closest distance between a line and a point.