IMP  2.2.0
The Integrative Modeling Platform
ensemble_analysis.h
Go to the documentation of this file.
1 /**
2  * \file IMP/multifit/ensemble_analysis.h
3  *
4  * Copyright 2007-2014 IMP Inventors. All rights reserved.
5  */
6 
7 #ifndef IMPMULTIFIT_ENSEMBLE_ANALYSIS_H
8 #define IMPMULTIFIT_ENSEMBLE_ANALYSIS_H
9 
10 #include <IMP/multifit/multifit_config.h>
14 #include <IMP/atom/distance.h>
16 #include <IMP/base_types.h>
18 
19 IMPMULTIFIT_BEGIN_NAMESPACE
20 
21 //! An ensemble of fitting solutions
22 class IMPMULTIFITEXPORT Ensemble : public base::Object {
23  public:
24  void load_combination(Ints fit_comb);
25  void unload_combination(Ints fit_comb);
26  void add_component_and_fits(atom::Hierarchy mh,
28  atom::Hierarchies get_molecules() const { return mhs_; }
29  core::RigidBodies get_rigid_bodies() const { return rbs_; }
30  float get_rmsd(const core::XYZs &second_xyz) const {
31  return atom::get_rmsd(second_xyz, xyz_);
32  }
34  const ProteinsAnchorsSamplingSpace &mapping_data);
35  std::vector<Floats> score_by_restraints(kernel::Restraints rs,
36  const IntsList &combinations);
37 
39 
40  private:
41  atom::Hierarchies mhs_;
42  core::RigidBodies rbs_;
43  core::XYZs xyz_;
44  std::vector<multifit::FittingSolutionRecords> fits_;
46  ProteinsAnchorsSamplingSpace mapping_data_;
48 };
50 
51 IMPMULTIFITEXPORT
52 Ensemble *load_ensemble(multifit::SettingsData *sd, Model *mdl,
53  const ProteinsAnchorsSamplingSpace &mapping_data);
54 
55 IMPMULTIFIT_END_NAMESPACE
56 
57 #endif /* IMPMULTIFIT_ENSEMBLE_ANALYSIS_H */
An ensemble of fitting solutions.
Import IMP/kernel/base_types.h in the namespace.
handles reading and writing MultiFit fitting solutions file
stores the anchors sampling space for each protein
handles reading matches between a protein and its anchors
stored multifit settings data
The standard decorator for manipulating molecular structures.
A beyesian infererence-based sampler.
stored a multifit fitting solution
double get_rmsd(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
Holds header data for optimization.
Definition: SettingsData.h:135
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Common base class for heavy weight IMP objects.
Definition: base/Object.h:106
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
double get_rmsd(const core::XYZs &s0, const core::XYZs &s1)
distance metrics
Class for storing model, its restraints, constraints, and particles.
Definition: kernel/Model.h:72