IMP  2.2.1
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:

Public Member Functions

 DiscreteSampler (kernel::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 (kernel::Particle *p, ParticleStates *se)
 
- Public Member Functions inherited from IMP::kernel::Sampler
 Sampler (kernel::Model *m, std::string name="Sampler %1%")
 
ConfigurationSetcreate_sample () const
 
Modelget_model () const
 
ScoringFunctionget_scoring_function () const
 
void set_scoring_function (ScoringFunctionAdaptor sf)
 
- Public Member Functions inherited from IMP::base::Object
virtual void clear_caches ()
 
virtual void do_destroy ()
 
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.
 
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
 
SubsetFilterTables get_subset_filter_tables_to_use (const kernel::RestraintsTemp &rs, ParticleStatesTable *pst) const
 
- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 

Advanced

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)
 

Detailed Description

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:

  • if no SubsetFilterTables are provided, then the ExclusionSubsetFilterTable and the kernel::RestraintScoreSubsetFilterTable are used.
Note
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.

Member Function Documentation

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

Return the Assignment objects describing the subsets fitting the description.

Note
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 108 of file DiscreteSampler.h.

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

kernel::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 inferface.

Definition at line 74 of file DiscreteSampler.h.


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