9 #ifndef IMPMULTIFIT_ANCHOR_UTILITIES_H
10 #define IMPMULTIFIT_ANCHOR_UTILITIES_H
12 #include <IMP/multifit/multifit_config.h>
14 #include <IMP/statistics/internal/VQClustering.h>
15 #include <IMP/statistics/internal/DataPoints.h>
19 IMPMULTIFIT_BEGIN_NAMESPACE
22 inline AnchorsData molecule2anchors(atom::Hierarchy mh,
int k) {
23 IMP_NEW(IMP::statistics::internal::ParticlesDataPoints, ddp,
25 IMP::statistics::internal::VQClustering vq(ddp, k);
27 multifit::DataPointsAssignment assignment(ddp, &vq);
28 multifit::AnchorsData ad(assignment.get_centers(), *(assignment.get_edges()));
35 float density_threshold, std::string pdb_filename,
36 std::string cmm_filename, std::string seg_filename,
37 std::string txt_filename);
48 const AnchorsData &ad,
const atom::SecondaryStructureResidues &ssrs,
49 Float max_rmsd = 0.7);
51 IMPMULTIFIT_END_NAMESPACE
IntsList get_anchor_indices_matching_secondary_structure(const AnchorsData &ad, const atom::SecondaryStructureResidues &ssrs, Float max_rmsd=0.7)
Get lists of anchors that match a sequence of secondary structures.
Tools for data points assignment, after anchor point segmentation.
#define IMP_NEW(Typename, varname, args)
Declare a ref counted pointer to a new object.
Decorator for helping deal with a hierarchy of molecules.
void get_anchors_for_density(em::DensityMap *dmap, int number_of_means, float density_threshold, std::string pdb_filename, std::string cmm_filename, std::string seg_filename, std::string txt_filename)
Generate anchors in several formats for a given density map.
IMP::Vector< Ints > IntsList
Standard way to pass a bunch of Ints values.
double Float
Basic floating-point value (could be float, double...)
Hierarchies get_leaves(const Selection &h)
handles reading of anchors data