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(
29 assignment.get_centers(),
30 *(assignment.get_edges()));
37 float density_threshold,
38 std::string pdb_filename,
39 std::string cmm_filename,
40 std::string seg_filename,
41 std::string txt_filename);
52 const AnchorsData &ad,
53 const atom::SecondaryStructureResidues &ssrs,
56 IMPMULTIFIT_END_NAMESPACE
Hierarchies get_leaves(Hierarchy h)
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.
#define IMP_NEW(Typename, varname, args)
Declare a ref counted pointer to a new object.
Tools for data points assignment, after anchor point segmentation.
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::base::Vector< Ints > IntsList
Standard way to pass a bunch of Ints values.
double Float
Basic floating-point value (could be float, double...)
handles reading of anchors data