Rosetta Protocols  2014.16.56682
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
protocols::canonical_sampling Namespace Reference

Algorithms for rigorously sampling native state ensembles. See disclaimer in detailed description. More...

Namespaces

 mc_convergence_checks
 

Classes

class  CanonicalSamplingMover
 
class  DbTrajectoryReader
 Read poses from a DbTrajectoryRecorder trajectory. More...
 
class  DbTrajectoryRecorder
 Record a trajectory to an SQL database. More...
 
class  DbTrajectoryRecorderCreator
 RosettaScripts factory for DbTrajectoryRecorder. More...
 
class  FixedTemperatureController
 Maintain a constant temperature. More...
 
class  MetricRecorder
 Periodically output miscellaneous information. More...
 
class  MetricRecorderCreator
 RosettaScripts factory for MetricRecorder. More...
 
class  MetropolisHastingsMover
 Manage the main loop of a canonical Monte Carlo simulation. More...
 
class  MetropolisHastingsMoverCreator
 RosettaScripts factory for MetropolisHastingsMover. More...
 
class  MpiHamiltonianExchange
 
class  MpiHamiltonianExchangeCreator
 RosettaScripts factory for MpiHamiltonianExchange. More...
 
class  MpiParallelTempering
 Manage several replicas with periodic temperature swapping. More...
 
class  MpiParallelTemperingCreator
 RosettaScripts factory for MpiParallelTempering. More...
 
class  MultiTempTrialCounter
 Keep track of move statistics at different temperature levels. More...
 
class  PatchOperation
 
class  PDBTrajectoryRecorder
 Record a trajectory to the PDB file format. More...
 
class  PDBTrajectoryRecorderCreator
 RosettaScripts factory for PDBTrajectoryRecorder. More...
 
class  ProgressBarObserver
 Print an progress bar that updated on each iteration. More...
 
class  ProgressBarObserverCreator
 RosettaScripts factory for ProgressBarObserver. More...
 
class  SidechainMetropolisHastingsMover
 Run a sidechain-only canonical Monte Carlo simulation. More...
 
class  SidechainMetropolisHastingsMoverCreator
 RosettaScripts factory for SidechainMetropolisHastingsMover. More...
 
class  SilentTrajectoryRecorder
 Record a trajectory to the rosetta-specific silent file format. More...
 
class  SilentTrajectoryRecorderCreator
 RosettaScripts factory for SilentTrajectoryRecorder. More...
 
class  SimulatedTempering
 
class  SimulatedTemperingCreator
 RosettaScripts factory for SimulatedTempering. More...
 
class  TemperatureController
 Base class for controlling the temperature of a simulation. More...
 
class  ThermodynamicMover
 Base class for moves that can obey detailed balance. More...
 
class  ThermodynamicObserver
 Base class for reporting and recording data from a simulation. More...
 
class  TrajectoryRecorder
 Base class for recording a simulation trajectory. More...
 

Typedefs

typedef
utility::pointer::owning_ptr
< CanonicalSamplingMover
CanonicalSamplingMoverOP
 
typedef
utility::pointer::owning_ptr
< CanonicalSamplingMover const > 
CanonicalSamplingMoverCOP
 
typedef
utility::pointer::owning_ptr
< DbTrajectoryReader
DbTrajectoryReaderOP
 
typedef
utility::pointer::owning_ptr
< DbTrajectoryReader const > 
DbTrajectoryReaderCOP
 
typedef
utility::pointer::owning_ptr
< DbTrajectoryRecorder
DbTrajectoryRecorderOP
 
typedef
utility::pointer::owning_ptr
< DbTrajectoryRecorder const > 
DbTrajectoryRecorderCOP
 
typedef
utility::pointer::owning_ptr
< FixedTemperatureController
FixedTemperatureControllerOP
 
typedef
utility::pointer::owning_ptr
< FixedTemperatureController
const > 
FixedTemperatureControllerCOP
 
typedef
utility::pointer::owning_ptr
< MetropolisHastingsMover
MetropolisHastingsMoverOP
 
typedef
utility::pointer::owning_ptr
< MetropolisHastingsMover
const > 
MetropolisHastingsMoverCOP
 
typedef
utility::pointer::access_ptr
< MetropolisHastingsMover
MetropolisHastingsMoverAP
 
typedef
utility::pointer::access_ptr
< MetropolisHastingsMover
const > 
MetropolisHastingsMoverCAP
 
typedef
utility::pointer::owning_ptr
< MpiHamiltonianExchange
MpiHamiltonianExchangeOP
 
typedef
utility::pointer::owning_ptr
< MpiHamiltonianExchange const > 
MpiHamiltonianExchangeCOP
 
typedef
utility::pointer::owning_ptr
< MpiParallelTempering
MpiParallelTemperingOP
 
typedef
utility::pointer::owning_ptr
< MpiParallelTempering const > 
MpiParallelTemperingCOP
 
typedef
utility::pointer::owning_ptr
< MultiTempTrialCounter
MultiTempTrialCounterOP
 
typedef
utility::pointer::owning_ptr
< MultiTempTrialCounter const > 
MultiTempTrialCounterCOP
 
typedef
utility::pointer::owning_ptr
< ProgressBarObserver
ProgressBarObserverOP
 
typedef
utility::pointer::owning_ptr
< ProgressBarObserver const > 
ProgressBarObserverCOP
 
typedef
utility::pointer::owning_ptr
< SilentTrajectoryRecorder
SilentTrajectoryRecorderOP
 
typedef
utility::pointer::owning_ptr
< SimulatedTempering
SimulatedTemperingOP
 
typedef
utility::pointer::owning_ptr
< SimulatedTempering const > 
SimulatedTemperingCOP
 
typedef
utility::pointer::owning_ptr
< SimulatedTemperingObserver > 
SimulatedTemperingObserverOP
 
typedef
utility::pointer::owning_ptr
< SimulatedTemperingObserver
const > 
SimulatedTemperingObserverCOP
 
typedef
utility::pointer::owning_ptr
< TemperatureController
TemperatureControllerOP
 
typedef
utility::pointer::owning_ptr
< TemperatureController const > 
TemperatureControllerCOP
 
typedef
utility::pointer::access_ptr
< TemperatureController
TemperatureControllerAP
 
typedef
utility::pointer::access_ptr
< TemperatureController const > 
TemperatureControllerCAP
 
typedef
utility::pointer::owning_ptr
< ThermodynamicMover
ThermodynamicMoverOP
 
typedef
utility::pointer::owning_ptr
< ThermodynamicMover const > 
ThermodynamicMoverCOP
 
typedef
utility::pointer::owning_ptr
< ThermodynamicObserver
ThermodynamicObserverOP
 
typedef
utility::pointer::owning_ptr
< ThermodynamicObserver const > 
ThermodynamicObserverCOP
 
typedef
utility::pointer::owning_ptr
< TrajectoryRecorder
TrajectoryRecorderOP
 

Enumerations

enum  InterpolationType { linear, exponential }
 

Functions

int canonical_sampling_main ()
 
std::string jobname_dirhash (std::string const &dir_prefix, core::Size nr_dirs)
 
std::ostream & operator<< (std::ostream &os, MpiHamiltonianExchange const &)
 Test IO operator for debug and Python bindings. More...
 
string interpolation_type_enum_to_string (InterpolationType interp_enum)
 
InterpolationType interpolation_type_string_to_enum (string const &interp_string)
 

Variables

static basic::Tracer tr ("protocols.canonical_sampling.CanonicalSamplingMover")
 
static basic::Tracer tr ("protocols.canonical_sampling.DbTrajectoryRecorder")
 
static basic::Tracer tr ("protocols.canonical_sampling.ProgressBar")
 
static basic::Tracer tr ("protocols.canonical_sampling.SilentTrajectoryRecorder")
 

Detailed Description

Algorithms for rigorously sampling native state ensembles. See disclaimer in detailed description.

When I started using the algorithms in this namespace, I had a difficult time orienting myself due to the complete lack of documentation. I decided that it would be helpful to write documentation as part of the process of figuring out how the code works. I mention all this to get to my point, which is a disclaimer:

I didn't necessarily understand how everything worked when I was writing this documentation. As I went along, I certainly became more and more comfortable with the code. I even successfully refactored parts of it. But some of the documentation is speculative, so take everything with a grain of salt. And please fix any errors you find! With that said, and without any further ado, here is the description of the protocols::canonical_sampling namespace:

The central class in this namespace is MetropolisHastingsMover. Its responsibility is to run a Monte Carlo loop. This class is a Mover, and like all movers it has an apply() method that does all the work. It also provides a number of getters and setters so you can control exactly what the algorithm does. In particular, there are three classes that most influence how the MetropolisHastingsMover behaves. These are ThermoynamicMover, TemperatureController, and MonteCarlo.

Subclasses of ThermodynamicMover are responsible for making moves which obey detailed balance. Some classes which fulfill this interface include BackrubMover, LoopClosureMover, ShearMover, SmallMover, SidechainMover, and SidechainMCMover. Note that both sidechain and backbone moves are available. Related to ThermodynamicMover is ThermodynamicObserver. Observer subclasses are meant to observe the progress of the simulation. The most important of these derive from TrajectoryRecorder and are used to keep track of the poses being sampled. You can add a mover to your simulation using MetropolisHastingsMover.add_mover() or any of the similarly named convenience methods, and you can add an observer using MetropolisHastingsMover.add_observer().

Subclasses of TemperatureController are responsible for setting the temperature during the simulation. The most basic controller is FixedTemperatureControler, which simply maintains a constant temperature and is used by default. More sophisticated temperature protocols allow for faster equilibration. These include SimulatedTempering, ParallelTempering, and HamiltonianExchange. The former two algorithms can both be used to sample a defined thermodynamic ensemble, which is a nice feature.

The actual simulation itself is delegated to the standard MonteCarlo class. The temperature and the score function used in the simulation are taken from a MonteCarlo object provided via MetropolisHastingsMover.set_monte_carlo(). To smartly keep track of acceptance rates during simulations where the temperature changes, setup your MonteCarlo object to use the MultiTempTrialCounter by calling MonteCarlo.set_counter(). This custom counter separately keeps track of moves for each temperature level, which is useful information.

Typedef Documentation

Enumeration Type Documentation

Enumerator
linear 
exponential 

Function Documentation

int protocols::canonical_sampling::canonical_sampling_main ( )
std::string protocols::canonical_sampling::interpolation_type_enum_to_string ( InterpolationType  interp_enum)
InterpolationType protocols::canonical_sampling::interpolation_type_string_to_enum ( string const &  interp_string)
std::string protocols::canonical_sampling::jobname_dirhash ( std::string const &  dir_prefix,
core::Size  nr_dirs 
)
std::ostream & protocols::canonical_sampling::operator<< ( std::ostream &  os,
MpiHamiltonianExchange const &  obj 
)

Test IO operator for debug and Python bindings.

References protocols::canonical_sampling::MpiHamiltonianExchange::show().

Variable Documentation

basic::Tracer protocols::canonical_sampling::tr("protocols.canonical_sampling.ProgressBar")
static
basic::Tracer protocols::canonical_sampling::tr("protocols.canonical_sampling.SilentTrajectoryRecorder")
static
basic::Tracer protocols::canonical_sampling::tr("protocols.canonical_sampling.DbTrajectoryRecorder")
static
basic::Tracer protocols::canonical_sampling::tr("protocols.canonical_sampling.CanonicalSamplingMover")
static

Referenced by protocols::canonical_sampling::MpiParallelTempering::allocate_buffers(), protocols::canonical_sampling::SidechainMetropolisHastingsMover::apply(), protocols::canonical_sampling::CanonicalSamplingMover::apply(), protocols::canonical_sampling::PatchOperation::apply(), protocols::canonical_sampling::mc_convergence_checks::Pool_RMSD::evaluate_and_add(), protocols::canonical_sampling::mc_convergence_checks::Pool_RMSD::fill_pool(), protocols::canonical_sampling::MpiParallelTempering::finalize_simulation(), protocols::canonical_sampling::TemperatureController::generate_temp_range(), protocols::canonical_sampling::mc_convergence_checks::Pool_RMSD::get(), protocols::canonical_sampling::mc_convergence_checks::Pool_RMSD::get_tag(), protocols::canonical_sampling::MpiHamiltonianExchange::init_from_file(), protocols::canonical_sampling::SimulatedTempering::init_from_file(), protocols::canonical_sampling::TemperatureController::init_from_file(), protocols::canonical_sampling::SimulatedTempering::init_from_options(), protocols::canonical_sampling::TemperatureController::init_from_options(), protocols::canonical_sampling::SilentTrajectoryRecorder::initialize_simulation(), protocols::canonical_sampling::SimulatedTempering::initialize_simulation(), protocols::canonical_sampling::MpiHamiltonianExchange::initialize_simulation(), protocols::canonical_sampling::MpiParallelTempering::initialize_simulation(), protocols::canonical_sampling::TemperatureController::initialize_simulation(), protocols::canonical_sampling::SilentTrajectoryRecorder::observe_after_metropolis(), protocols::canonical_sampling::TemperatureController::parse_my_tag(), protocols::canonical_sampling::SidechainMetropolisHastingsMover::pass_metropolis(), protocols::canonical_sampling::mc_convergence_checks::Pool_RMSD::pop_back(), protocols::canonical_sampling::SilentTrajectoryRecorder::restart_simulation(), protocols::canonical_sampling::MpiParallelTempering::setup_exchange_schedule(), protocols::canonical_sampling::SimulatedTempering::temperature_move(), and protocols::canonical_sampling::SilentTrajectoryRecorder::write_model().