IMP  2.0.1
The Integrative Modeling Platform
IMP::core::MCCGSampler Class Reference

A simple sampler. More...

#include <IMP/core/MCCGSampler.h>

+ Inheritance diagram for IMP::core::MCCGSampler:

Public Member Functions

 MCCGSampler (Model *m, std::string name="MCCG Sampler %1%")
 
ConfigurationSetget_rejected_configurations () const
 
void set_bounding_box (const algebra::BoundingBoxD< 3 > &bb)
 Set the bounding box for randomizing the Cartesian coordinates.
 
void set_is_refining (bool tf)
 
void set_local_optimizer (Optimizer *opt)
 Set a local optimizer to use instead of ConjugateGradients.
 
void set_max_monte_carlo_step_size (double d)
 Set the maximum size of the MC step for all attributes.
 
void set_max_monte_carlo_step_size (FloatKey k, double d)
 Set the maximum size of the MC step for an attribute. More...
 
void set_save_rejected_configurations (bool tf)
 Whether or not to save rejected conformations. More...
 
- Public Member Functions inherited from IMP::kernel::Sampler
 Sampler (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 IMP::base::VersionInfo get_version_info () const =0
 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)
 

Number of steps

A sampling run proceeds as 3 nested loops

  1. number of attempts
  2. number of Monte Carlo steps
  3. number of CG steps
void set_number_of_attempts (unsigned int att)
 Set the maximum number of attempts to find a solution.
 
void set_number_of_monte_carlo_steps (unsigned int cg)
 Set the number of MC steps to take in each optimization run.
 
void set_number_of_conjugate_gradient_steps (unsigned int cg)
 Set the number of CG steps to take after each MC step.
 

Optimizer states

The optimizer states will be added to the MonteCarlo optimizer used.

void remove_optimizer_state (OptimizerState *d)
 
void remove_optimizer_states (const OptimizerStates &d)
 
void set_optimizer_states (const OptimizerStates &ps)
 
void set_optimizer_states_order (const OptimizerStates &objs)
 
unsigned int add_optimizer_state (OptimizerState *obj)
 
void add_optimizer_states (const OptimizerStates &objs)
 
void clear_optimizer_states ()
 
unsigned int get_number_of_optimizer_states () const
 
bool get_has_optimizer_states ()
 
OptimizerStateget_optimizer_state (unsigned int i) const
 
OptimizerStates get_optimizer_states () const
 
void reserve_optimizer_states (unsigned int sz)
 
virtual void do_show (std::ostream &out) const
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::kernel::Sampler
virtual ConfigurationSetdo_sample () const =0
 

Detailed Description

This sampler randomizes the conformation and then uses Monte Carlo and conjugate gradient steps to search for good solutions. Each Monte Carlo move is followed by the specified number of conjugate gradient steps before it is decided whether to accept or reject the move. When the sampler encounters a solution that passes all of the restraint score cutoffs, it will accept the solution and move on to generating another one.

At the moment it only support optimization of Cartesian coordinates, but this will be fixed when people ask for it (and they already have :-). We are also open to supporting a wider variety of optimization protocols (eg only do conjugate gradient steps occasionally).

Definition at line 40 of file MCCGSampler.h.

Member Function Documentation

void IMP::core::MCCGSampler::set_is_refining ( bool  tf)

if set to true, then do not randomize the configuration before sampling.

void IMP::core::MCCGSampler::set_max_monte_carlo_step_size ( FloatKey  k,
double  d 
)

As was mentioned, at the moment k can be one of x,y or z.

void IMP::core::MCCGSampler::set_save_rejected_configurations ( bool  tf)

Saving these can be useful if the sampling is not finding any good conformations.


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