![]() |
Rosetta Protocols
2014.16.56682
|
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... | |
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") |
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 utility::pointer::owning_ptr< CanonicalSamplingMover const > protocols::canonical_sampling::CanonicalSamplingMoverCOP |
| typedef utility::pointer::owning_ptr< CanonicalSamplingMover > protocols::canonical_sampling::CanonicalSamplingMoverOP |
| typedef utility::pointer::owning_ptr<DbTrajectoryReader const> protocols::canonical_sampling::DbTrajectoryReaderCOP |
| typedef utility::pointer::owning_ptr<DbTrajectoryReader> protocols::canonical_sampling::DbTrajectoryReaderOP |
| typedef utility::pointer::owning_ptr< DbTrajectoryRecorder const > protocols::canonical_sampling::DbTrajectoryRecorderCOP |
| typedef utility::pointer::owning_ptr< DbTrajectoryRecorder > protocols::canonical_sampling::DbTrajectoryRecorderOP |
| typedef utility::pointer::owning_ptr< FixedTemperatureController const > protocols::canonical_sampling::FixedTemperatureControllerCOP |
| typedef utility::pointer::owning_ptr< FixedTemperatureController > protocols::canonical_sampling::FixedTemperatureControllerOP |
| typedef utility::pointer::access_ptr< MetropolisHastingsMover > protocols::canonical_sampling::MetropolisHastingsMoverAP |
| typedef utility::pointer::access_ptr< MetropolisHastingsMover const > protocols::canonical_sampling::MetropolisHastingsMoverCAP |
| typedef utility::pointer::owning_ptr< MetropolisHastingsMover const > protocols::canonical_sampling::MetropolisHastingsMoverCOP |
| typedef utility::pointer::owning_ptr< MetropolisHastingsMover > protocols::canonical_sampling::MetropolisHastingsMoverOP |
| typedef utility::pointer::owning_ptr< MpiHamiltonianExchange const > protocols::canonical_sampling::MpiHamiltonianExchangeCOP |
| typedef utility::pointer::owning_ptr< MpiHamiltonianExchange > protocols::canonical_sampling::MpiHamiltonianExchangeOP |
| typedef utility::pointer::owning_ptr< MpiParallelTempering const > protocols::canonical_sampling::MpiParallelTemperingCOP |
| typedef utility::pointer::owning_ptr< MpiParallelTempering > protocols::canonical_sampling::MpiParallelTemperingOP |
| typedef utility::pointer::owning_ptr<MultiTempTrialCounter const> protocols::canonical_sampling::MultiTempTrialCounterCOP |
| typedef utility::pointer::owning_ptr<MultiTempTrialCounter> protocols::canonical_sampling::MultiTempTrialCounterOP |
| typedef utility::pointer::owning_ptr<ProgressBarObserver const> protocols::canonical_sampling::ProgressBarObserverCOP |
| typedef utility::pointer::owning_ptr<ProgressBarObserver> protocols::canonical_sampling::ProgressBarObserverOP |
| typedef utility::pointer::owning_ptr< SilentTrajectoryRecorder > protocols::canonical_sampling::SilentTrajectoryRecorderOP |
| typedef utility::pointer::owning_ptr< SimulatedTempering const > protocols::canonical_sampling::SimulatedTemperingCOP |
| typedef utility::pointer::owning_ptr< SimulatedTemperingObserver const > protocols::canonical_sampling::SimulatedTemperingObserverCOP |
| typedef utility::pointer::owning_ptr< SimulatedTemperingObserver > protocols::canonical_sampling::SimulatedTemperingObserverOP |
| typedef utility::pointer::owning_ptr< SimulatedTempering > protocols::canonical_sampling::SimulatedTemperingOP |
| typedef utility::pointer::access_ptr< TemperatureController > protocols::canonical_sampling::TemperatureControllerAP |
| typedef utility::pointer::access_ptr< TemperatureController const > protocols::canonical_sampling::TemperatureControllerCAP |
| typedef utility::pointer::owning_ptr< TemperatureController const > protocols::canonical_sampling::TemperatureControllerCOP |
| typedef utility::pointer::owning_ptr< TemperatureController > protocols::canonical_sampling::TemperatureControllerOP |
| typedef utility::pointer::owning_ptr< ThermodynamicMover const > protocols::canonical_sampling::ThermodynamicMoverCOP |
| typedef utility::pointer::owning_ptr< ThermodynamicMover > protocols::canonical_sampling::ThermodynamicMoverOP |
| typedef utility::pointer::owning_ptr< ThermodynamicObserver const > protocols::canonical_sampling::ThermodynamicObserverCOP |
| typedef utility::pointer::owning_ptr< ThermodynamicObserver > protocols::canonical_sampling::ThermodynamicObserverOP |
| typedef utility::pointer::owning_ptr< TrajectoryRecorder > protocols::canonical_sampling::TrajectoryRecorderOP |
| int protocols::canonical_sampling::canonical_sampling_main | ( | ) |
References basic::options::OptionKeys::canonical_sampling::probabilities::backrub, basic::options::OptionKeys::canonical_sampling::probabilities::conrot, basic::options::OptionKeys::canonical_sampling::probabilities::fast_sc_moves, basic::options::OptionKeys::canonical_sampling::probabilities::fast_sc_moves_ntrials, protocols::jd2::JobDistributor::get_instance(), core::scoring::getScoreFunction(), protocols::jd2::JobDistributor::go(), mc::known_structures, basic::options::OptionKeys::canonical_sampling::probabilities::localbb, movemap, in::file::movemap, MPI_bcast, basic::options::OptionKeys::canonical_sampling::probabilities::MPI_bcast, no_jd2_output, basic::options::OptionKeys::canonical_sampling::probabilities::no_jd2_output, basic::options::option, core::pack::task::TaskFactory::push_back(), runtime_assert, basic::options::OptionKeys::canonical_sampling::probabilities::sc, basic::options::OptionKeys::canonical_sampling::probabilities::sc_prob_perturbcurrent, basic::options::OptionKeys::canonical_sampling::probabilities::sc_prob_uniform, basic::options::OptionKeys::canonical_sampling::probabilities::sc_prob_withinrot, tr, basic::options::OptionKeys::canonical_sampling::probabilities::use_hierarchical_clustering, and user.
| std::string protocols::canonical_sampling::interpolation_type_enum_to_string | ( | InterpolationType | interp_enum | ) |
References linear.
Referenced by protocols::canonical_sampling::TemperatureController::generate_temp_range().
| InterpolationType protocols::canonical_sampling::interpolation_type_string_to_enum | ( | string const & | interp_string | ) |
References exponential, linear, and utility_exit_with_message.
Referenced by protocols::canonical_sampling::TemperatureController::parse_my_tag().
| std::string protocols::canonical_sampling::jobname_dirhash | ( | std::string const & | dir_prefix, |
| core::Size | nr_dirs | ||
| ) |
References utility::file::create_directory_recursive(), protocols::jd2::JobDistributor::current_job_id(), protocols::jd2::JobDistributor::get_instance(), utility::file::PathName::name(), basic::options::option, and basic::options::OptionKeys::out::path::path.
Referenced by protocols::canonical_sampling::CanonicalSamplingMover::apply(), and OPT_1GRP_KEY().
| 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().
|
static |
|
static |
|
static |
|
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().
1.8.7