IMP logo
IMP Reference Guide  2.7.0
The Integrative Modeling Platform
IMP::domino::DiscreteSampler Class Referenceabstract

A base class for discrete samplers in Domino2. More...

#include <IMP/domino/DiscreteSampler.h>

+ Inheritance diagram for IMP::domino::DiscreteSampler:

Detailed Description

A base class for discrete samplers in Domino2.

All the samplers derived from it share some common properties:

  • each particle is allowed to have one of a discrete set of conformations, as stored in a ParticleStatesTable
  • there is, optionally, one scoring function, accessed through the SubsetEvaluatorTable
  • there can be many SubsetFilterTable objects which are used to prune the discrete space.

Defaults are provided for all the parameters:

the restraint scores must be non-negative in general. If you are using restraints which can produce negative values, we can provide a restraint which wraps another and makes it non-negative. Ping us.
The discrete samplers enumerate all acceptable conformations. As a result, users should take care to remove uninteresting degrees of freedom (for example, remove rigid transformations of a complex). Techniques to do this can involve pinning one or more particles (by locking them to a single conformation or to a few degrees of freedom).

Definition at line 50 of file DiscreteSampler.h.

Public Member Functions

 DiscreteSampler (Model *m, ParticleStatesTable *pst, std::string name)
unsigned int get_maximum_number_of_assignments () const
Assignments get_sample_assignments (const Subset &s) const
void set_maximum_number_of_assignments (unsigned int mx)
void set_particle_states (Particle *p, ParticleStates *se)
void set_restraints (RestraintsAdaptor rs)
 Set the Restraints to use in the RestraintScoreSubsetFilterTable. More...
- Public Member Functions inherited from IMP::Sampler
 Sampler (Model *m, std::string name="Sampler %1%")
ConfigurationSetcreate_sample () const
Modelget_model () const
ScoringFunctionget_scoring_function () const
 Return the scoring function that is being used. More...
void set_scoring_function (ScoringFunctionAdaptor sf)
- Public Member Functions inherited from IMP::Object
virtual void clear_caches ()
CheckLevel get_check_level () const
LogLevel get_log_level () const
virtual VersionInfo get_version_info () const
 Get information about the module and version of the object. More...
void set_check_level (CheckLevel l)
void set_log_level (LogLevel l)
 Set the logging level used in this object. More...
void set_was_used (bool tf) const
void show (std::ostream &out=std::cout) const
const std::string & get_name () const
void set_name (std::string name)
virtual std::string get_type_name () const

Protected Member Functions

virtual Assignments do_get_sample_assignments (const Subset &all) const =0
virtual ConfigurationSetdo_sample () const
AssignmentsTableget_assignments_table_to_use (const SubsetFilterTables &sfts, unsigned int max=std::numeric_limits< int >::max()) const
RestraintsTemp get_restraints () const
SubsetFilterTables get_subset_filter_tables_to_use (const RestraintsTemp &rs, ParticleStatesTable *pst) const
- Protected Member Functions inherited from IMP::Object
 Object (std::string name)
 Construct an object with the given name. More...
virtual void do_destroy ()


Default values are provided, you only need to replace these if you want to do something special. See the overview of the module for a general description.

void set_particle_states_table (ParticleStatesTable *cse)
void set_assignments_table (AssignmentsTable *sst)
ParticleStatesTableget_particle_states_table () const
void remove_subset_filter_table (SubsetFilterTable *d)
void remove_subset_filter_tables (const SubsetFilterTables &d)
void set_subset_filter_tables (const SubsetFilterTables &ps)
void set_subset_filter_tables_order (const SubsetFilterTables &objs)
unsigned int add_subset_filter_table (SubsetFilterTable *obj)
void add_subset_filter_tables (const SubsetFilterTables &objs)
void clear_subset_filter_tables ()
unsigned int get_number_of_subset_filter_tables () const
bool get_has_subset_filter_tables ()
SubsetFilterTableget_subset_filter_table (unsigned int i) const
SubsetFilterTables get_subset_filter_tables () const
void reserve_subset_filter_tables (unsigned int sz)

Member Function Documentation

Assignments IMP::domino::DiscreteSampler::get_sample_assignments ( const Subset s) const

Return the Assignment objects describing the subsets fitting the description.

At the moment, Subset must be equal to Subset(ParticleStatesTable::get_particles()).
void IMP::domino::DiscreteSampler::set_maximum_number_of_assignments ( unsigned int  mx)

Limit the number of states that is ever produced for any set of particles.

Doing this can be useful to get some feedback when too many states would otherwise be produced. A warning will be emitted whenever the limit eliminates states.

Definition at line 128 of file DiscreteSampler.h.

void IMP::domino::DiscreteSampler::set_particle_states ( Particle p,
ParticleStates se 

Particle states can be set either using this method, or equivalently, by accessing the table itself using get_particle_states_table(). This method is provided for users who want to use the default values and want a simple interface.

Definition at line 94 of file DiscreteSampler.h.

void IMP::domino::DiscreteSampler::set_restraints ( RestraintsAdaptor  rs)

Set the Restraints to use in the RestraintScoreSubsetFilterTable.

The default RestraintScoreSubsetFilterTable filters based on a set of Restraints, which can be set here.

Definition at line 84 of file DiscreteSampler.h.

The documentation for this class was generated from the following file: