Rosetta
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  AsyncMPITemperingBase
 
class  BiasedMonteCarlo
 
class  BiasEnergy
 
class  CanonicalSamplingMover
 
class  DbTrajectoryRecorder
 Record a trajectory to an SQL database. More...
 
class  DbTrajectoryRecorderCreator
 RosettaScripts factory for DbTrajectoryRecorder. More...
 
class  PatchOperation
 
class  HamiltonianExchange
 
class  HamiltonianExchangeCreator
 RosettaScripts factory for HamiltonianExchange. More...
 
struct  TorsionSpec
 A simple class to hold info about torsions to use (deferred parsing) 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  MultiTemperatureTrialCounter
 Keep track of trial statistics for any number of replicas. More...
 
class  ParallelTempering
 
class  ParallelTemperingCreator
 RosettaScripts factory for ParallelTempering. More...
 
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  FixedTemperatureController
 Maintain a constant temperature. More...
 
class  TemperingBase
 Base class for tempering Monte Carlo optimizations. 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...
 
class  TrialCounterObserver
 Record the acceptance rate for every type of move attempted. More...
 
class  TrialCounterObserverCreator
 RosettaScripts factory for TrialCounterObserver. More...
 
class  WTEBiasEnergy
 

Typedefs

typedef utility::pointer::shared_ptr< BiasedMonteCarloBiasedMonteCarloOP
 
typedef utility::pointer::shared_ptr< BiasedMonteCarlo const > BiasedMonteCarloCOP
 
typedef utility::pointer::shared_ptr< BiasEnergyBiasEnergyOP
 
typedef utility::pointer::shared_ptr< BiasEnergy const > BiasEnergyCOP
 
typedef utility::pointer::weak_ptr< BiasEnergyBiasEnergyAP
 
typedef utility::pointer::weak_ptr< BiasEnergy const > BiasEnergyCAP
 
typedef utility::pointer::shared_ptr< CanonicalSamplingMoverCanonicalSamplingMoverOP
 
typedef utility::pointer::shared_ptr< CanonicalSamplingMover const > CanonicalSamplingMoverCOP
 
typedef utility::pointer::shared_ptr< DbTrajectoryRecorderDbTrajectoryRecorderOP
 
typedef utility::pointer::shared_ptr< DbTrajectoryRecorder const > DbTrajectoryRecorderCOP
 
typedef utility::pointer::shared_ptr< HamiltonianExchangeHamiltonianExchangeOP
 
typedef utility::pointer::shared_ptr< HamiltonianExchange const > HamiltonianExchangeCOP
 
typedef utility::pointer::shared_ptr< MetropolisHastingsMoverMetropolisHastingsMoverOP
 
typedef utility::pointer::shared_ptr< MetropolisHastingsMover const > MetropolisHastingsMoverCOP
 
typedef utility::pointer::weak_ptr< MetropolisHastingsMoverMetropolisHastingsMoverAP
 
typedef utility::pointer::weak_ptr< MetropolisHastingsMover const > MetropolisHastingsMoverCAP
 
typedef utility::pointer::shared_ptr< ParallelTemperingParallelTemperingOP
 
typedef utility::pointer::shared_ptr< ParallelTempering const > ParallelTemperingCOP
 
typedef utility::pointer::shared_ptr< ProgressBarObserverProgressBarObserverOP
 
typedef utility::pointer::shared_ptr< ProgressBarObserver const > ProgressBarObserverCOP
 
typedef utility::pointer::shared_ptr< SilentTrajectoryRecorderSilentTrajectoryRecorderOP
 
typedef utility::pointer::shared_ptr< SimulatedTemperingSimulatedTemperingOP
 
typedef utility::pointer::shared_ptr< SimulatedTempering const > SimulatedTemperingCOP
 
typedef utility::pointer::shared_ptr< TemperatureControllerTemperatureControllerOP
 
typedef utility::pointer::shared_ptr< TemperatureController const > TemperatureControllerCOP
 
typedef utility::pointer::shared_ptr< TemperingBaseTemperingBaseOP
 
typedef utility::pointer::shared_ptr< TemperingBase const > TemperingBaseCOP
 
typedef utility::pointer::weak_ptr< TemperingBaseTemperingBaseAP
 
typedef utility::pointer::weak_ptr< TemperingBase const > TemperingBaseCAP
 
typedef utility::pointer::shared_ptr< ThermodynamicMoverThermodynamicMoverOP
 
typedef utility::pointer::shared_ptr< ThermodynamicMover const > ThermodynamicMoverCOP
 
typedef utility::pointer::shared_ptr< ThermodynamicObserverThermodynamicObserverOP
 
typedef utility::pointer::shared_ptr< ThermodynamicObserver const > ThermodynamicObserverCOP
 
typedef utility::pointer::shared_ptr< TrajectoryRecorderTrajectoryRecorderOP
 

Enumerations

enum class  TorsionSpecStyle { Single , AllChi , AllBB }
 
enum  InterpolationType { linear , exponential }
 

Functions

std::ostream & operator<< (std::ostream &os, AsyncMPITemperingBase::ExchangeRequest const &er)
 
template<typename FLOAT >
void _toggle (FLOAT *&ptr1, FLOAT *&ptr2)
 
static basic::Tracer tr ("src.apps.pilot.liz.test_canonical_mover")
 
int canonical_sampling_main ()
 
static basic::Tracer tr ("protocols.canonical_sampling.CanonicalSamplingMover")
 
std::string jobname_dirhash (std::string const &dir_prefix, core::Size nr_dirs)
 
static basic::Tracer tr ("protocols.canonical_sampling.DbTrajectoryRecorder")
 
std::ostream & operator<< (std::ostream &os, HamiltonianExchange const &)
 Test IO operator for debug and Python bindings. More...
 
static basic::Tracer tr ("protocols.canonical_sampling.ProgressBar")
 
std::string interpolation_type_enum_to_string (InterpolationType interp_enum)
 
InterpolationType interpolation_type_string_to_enum (std::string const &interp_string)
 

Variables

int const mpi_size_XCHANGE_READY = 2
 
int const mpi_size_SWAP_INVITE = 1
 
int const mpi_size_FINISHED = 1
 

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:

All of the documentation in the module was written by someone who didn't really understand how the code works. I was more just taking notes on how I felt particular pieces of code should work. The idea was to draw attention to pieces of code that didn't work like I expected. Therefore, even though the documentation is phrased in an authoritative way, it is based primarily on my feelings and secondarily on the code.

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. To add a particular move to your simulation, use MetropolisHastingsMover.add_mover() or any of the similarly-named convenience methods.

Related to the ThermodynamicMover class is the ThermodynamicObserver class. Observer subclasses are meant to observe and change the parameters of this simulation itself. There are three major subclasses: TrialCounterObserver, TrajectoryRecorder, and TemperatureController. The trial counters keep track of move statistics and the trajectory recorders keep track of the poses being sampled. TemperatureController is an especially important class because it is setup to manage the temperature of the Metropolis Hastings simulation. Protocols like simulated annealing and parallel tempering are implemented by children of this class. You can add an observer to your simulation using MetropolisHastingsMover.add_observer().

The actual simulation itself is delegated to the standard MonteCarlo class. You can use a custom MonteCarlo object in a canonical simulation by calling MetropolisHastingsMover.set_monte_carlo().

Typedef Documentation

◆ BiasedMonteCarloCOP

typedef utility::pointer::shared_ptr< BiasedMonteCarlo const > protocols::canonical_sampling::BiasedMonteCarloCOP

◆ BiasedMonteCarloOP

◆ BiasEnergyAP

typedef utility::pointer::weak_ptr< BiasEnergy > protocols::canonical_sampling::BiasEnergyAP

◆ BiasEnergyCAP

typedef utility::pointer::weak_ptr< BiasEnergy const > protocols::canonical_sampling::BiasEnergyCAP

◆ BiasEnergyCOP

typedef utility::pointer::shared_ptr< BiasEnergy const > protocols::canonical_sampling::BiasEnergyCOP

◆ BiasEnergyOP

typedef utility::pointer::shared_ptr< BiasEnergy > protocols::canonical_sampling::BiasEnergyOP

◆ CanonicalSamplingMoverCOP

◆ CanonicalSamplingMoverOP

◆ DbTrajectoryRecorderCOP

◆ DbTrajectoryRecorderOP

◆ HamiltonianExchangeCOP

typedef utility::pointer::shared_ptr< HamiltonianExchange const > protocols::canonical_sampling::HamiltonianExchangeCOP

◆ HamiltonianExchangeOP

◆ MetropolisHastingsMoverAP

◆ MetropolisHastingsMoverCAP

◆ MetropolisHastingsMoverCOP

◆ MetropolisHastingsMoverOP

◆ ParallelTemperingCOP

typedef utility::pointer::shared_ptr< ParallelTempering const > protocols::canonical_sampling::ParallelTemperingCOP

◆ ParallelTemperingOP

◆ ProgressBarObserverCOP

◆ ProgressBarObserverOP

◆ SilentTrajectoryRecorderOP

◆ SimulatedTemperingCOP

typedef utility::pointer::shared_ptr< SimulatedTempering const > protocols::canonical_sampling::SimulatedTemperingCOP

◆ SimulatedTemperingOP

◆ TemperatureControllerCOP

◆ TemperatureControllerOP

◆ TemperingBaseAP

typedef utility::pointer::weak_ptr< TemperingBase > protocols::canonical_sampling::TemperingBaseAP

◆ TemperingBaseCAP

typedef utility::pointer::weak_ptr< TemperingBase const > protocols::canonical_sampling::TemperingBaseCAP

◆ TemperingBaseCOP

typedef utility::pointer::shared_ptr< TemperingBase const > protocols::canonical_sampling::TemperingBaseCOP

◆ TemperingBaseOP

typedef utility::pointer::shared_ptr< TemperingBase > protocols::canonical_sampling::TemperingBaseOP

◆ ThermodynamicMoverCOP

typedef utility::pointer::shared_ptr< ThermodynamicMover const > protocols::canonical_sampling::ThermodynamicMoverCOP

◆ ThermodynamicMoverOP

◆ ThermodynamicObserverCOP

◆ ThermodynamicObserverOP

◆ TrajectoryRecorderOP

Enumeration Type Documentation

◆ InterpolationType

Enumerator
linear 
exponential 

◆ TorsionSpecStyle

Enumerator
Single 
AllChi 
AllBB 

Function Documentation

◆ _toggle()

template<typename FLOAT >
void protocols::canonical_sampling::_toggle ( FLOAT *&  ptr1,
FLOAT *&  ptr2 
)

◆ canonical_sampling_main()

int protocols::canonical_sampling::canonical_sampling_main ( )

◆ interpolation_type_enum_to_string()

std::string protocols::canonical_sampling::interpolation_type_enum_to_string ( InterpolationType  interp_enum)

◆ interpolation_type_string_to_enum()

InterpolationType protocols::canonical_sampling::interpolation_type_string_to_enum ( std::string const &  interp_string)

◆ jobname_dirhash()

std::string protocols::canonical_sampling::jobname_dirhash ( std::string const &  dir_prefix,
core::Size  nr_dirs 
)

◆ operator<<() [1/2]

std::ostream& protocols::canonical_sampling::operator<< ( std::ostream &  os,
AsyncMPITemperingBase::ExchangeRequest const &  er 
)

◆ operator<<() [2/2]

std::ostream & protocols::canonical_sampling::operator<< ( std::ostream &  os,
HamiltonianExchange const &  obj 
)

Test IO operator for debug and Python bindings.

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

◆ tr() [1/4]

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

◆ tr() [2/4]

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

◆ tr() [3/4]

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

◆ tr() [4/4]

static basic::Tracer protocols::canonical_sampling::tr ( "src.apps.pilot.liz.test_canonical_mover"  )
static

Referenced by protocols::canonical_sampling::ParallelTempering::allocate_buffers(), protocols::canonical_sampling::CanonicalSamplingMover::apply(), protocols::canonical_sampling::MetropolisHastingsMover::apply(), protocols::canonical_sampling::SidechainMetropolisHastingsMover::apply(), protocols::canonical_sampling::PatchOperation::apply(), protocols::canonical_sampling::AsyncMPITemperingBase::AsyncMPITemperingBase(), protocols::canonical_sampling::BiasedMonteCarlo::boltzmann(), canonical_sampling_main(), protocols::canonical_sampling::BiasEnergy::evaluate(), protocols::canonical_sampling::mc_convergence_checks::Pool_RMSD::evaluate_and_add(), protocols::canonical_sampling::mc_convergence_checks::Pool_RMSD::fill_pool(), protocols::canonical_sampling::BiasEnergy::finalize_simulation(), protocols::canonical_sampling::ParallelTempering::finalize_simulation(), protocols::canonical_sampling::TemperingBase::finalize_simulation(), protocols::canonical_sampling::TrialCounterObserver::finalize_simulation(), protocols::canonical_sampling::TemperingBase::generate_temp_range(), protocols::canonical_sampling::mc_convergence_checks::Pool_RMSD::get(), protocols::canonical_sampling::MetropolisHastingsMover::get_checkpoints(), protocols::canonical_sampling::mc_convergence_checks::Pool_RMSD::get_tag(), protocols::canonical_sampling::TemperingBase::init_from_options(), protocols::canonical_sampling::SimulatedTempering::init_from_options(), protocols::canonical_sampling::HamiltonianExchange::initialize_exchange_schedule_from_file(), protocols::canonical_sampling::TemperingBase::initialize_from_file(), protocols::canonical_sampling::HamiltonianExchange::initialize_from_file(), protocols::canonical_sampling::SimulatedTempering::initialize_from_file(), protocols::canonical_sampling::HamiltonianExchange::initialize_simulation(), protocols::canonical_sampling::ParallelTempering::initialize_simulation(), protocols::canonical_sampling::SilentTrajectoryRecorder::initialize_simulation(), protocols::canonical_sampling::SimulatedTempering::initialize_simulation(), protocols::canonical_sampling::TemperingBase::initialize_simulation(), protocols::canonical_sampling::AsyncMPITemperingBase::listen_for_rank(), protocols::canonical_sampling::SilentTrajectoryRecorder::observe_after_metropolis(), protocols::canonical_sampling::MetropolisHastingsMover::parse_my_tag(), protocols::canonical_sampling::TemperingBase::parse_my_tag(), protocols::canonical_sampling::SidechainMetropolisHastingsMover::pass_metropolis(), protocols::canonical_sampling::mc_convergence_checks::Pool_RMSD::pop_back(), protocols::canonical_sampling::MetropolisHastingsMover::prepare_simulation(), protocols::canonical_sampling::AsyncMPITemperingBase::process_matching_exchange_requests(), protocols::canonical_sampling::AsyncMPITemperingBase::receive_exchange_requests(), protocols::canonical_sampling::AsyncMPITemperingBase::remove_cycles_from_request_list(), protocols::canonical_sampling::BiasEnergy::restart_simulation(), protocols::canonical_sampling::SilentTrajectoryRecorder::restart_simulation(), protocols::canonical_sampling::AsyncMPITemperingBase::send_swap_invites(), protocols::canonical_sampling::ParallelTempering::setup_exchange_schedule(), protocols::canonical_sampling::MultiTemperatureTrialCounter::show(), protocols::canonical_sampling::HamiltonianExchange::show(), protocols::canonical_sampling::AsyncMPITemperingBase::start_listening(), protocols::canonical_sampling::SimulatedTempering::temperature_move(), protocols::canonical_sampling::AsyncMPITemperingBase::time_for_temp_move(), protocols::canonical_sampling::BiasEnergy::update(), protocols::canonical_sampling::MetropolisHastingsMover::wind_down_simulation(), and protocols::canonical_sampling::SilentTrajectoryRecorder::write_model().

Variable Documentation

◆ mpi_size_FINISHED

int const protocols::canonical_sampling::mpi_size_FINISHED = 1

◆ mpi_size_SWAP_INVITE

int const protocols::canonical_sampling::mpi_size_SWAP_INVITE = 1

◆ mpi_size_XCHANGE_READY

int const protocols::canonical_sampling::mpi_size_XCHANGE_READY = 2