![]() |
Rosetta
2019.12
|
#include <ParallelTempering.hh>
Public Member Functions | |
ParallelTempering () | |
Default constructor. More... | |
~ParallelTempering () override | |
Non-trivial destructor used to free some C-style arrays. More... | |
ParallelTempering (ParallelTempering const &) | |
Copy constructor. More... | |
ParallelTempering & | operator= (ParallelTempering const &) |
Assignment operator. More... | |
void | apply (core::pose::Pose &) override |
protocols::moves::MoverOP | clone () const override |
Return a clone of the Mover object. More... | |
protocols::moves::MoverOP | fresh_instance () const override |
Generates a new Mover object freshly created with the default ctor. More... | |
void | parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data, protocols::filters::Filters_map const &filters, protocols::moves::Movers_map const &movers, core::pose::Pose const &pose) override |
Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More... | |
core::Real | temperature_move (core::Real score) override |
Execute the temperature move. More... | |
void | initialize_simulation (core::pose::Pose &pose, protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover, core::Size cycle) override |
Callback executed before any Monte Carlo trials are attempted. More... | |
void | finalize_simulation (core::pose::Pose &pose, protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover) override |
Callback executed after all Monte Carlo trials are completed. More... | |
std::string | get_name () const override |
Each derived class must specify its name. The class name. More... | |
![]() | |
TemperingBase () | |
Default constructor. More... | |
TemperingBase (TemperingBase const &) | |
Copy constructor. More... | |
void | apply (core::pose::Pose &) override |
No-op implemented only to satisfy the Mover interface. More... | |
std::string | get_name () const override |
Return the name of this class. More... | |
void | parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data, protocols::filters::Filters_map const &filters, protocols::moves::Movers_map const &movers, core::pose::Pose const &pose) override |
Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More... | |
void | initialize_simulation (core::pose::Pose &pose, protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover, core::Size cycle) override |
Callback executed before any Monte Carlo trials are attempted. More... | |
void | initialize_simulation (core::pose::Pose &pose, protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover, core::Size level, core::Real temperature, core::Size cycle) override |
void | observe_after_metropolis (protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover) override |
Callback executed after the Metropolis criterion is evaluated. More... | |
void | finalize_simulation (core::pose::Pose &pose, protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover) override |
Callback executed after all Monte Carlo trials are completed. More... | |
core::Real | temperature () const override |
Return the temperature of the underlying MonteCarlo object. More... | |
core::Real | temperature (core::Size level) const override |
Return the temperature of the given level. More... | |
core::Size | temperature_level () const override |
Return the current temperature level. More... | |
core::Size | n_temp_levels () const override |
Return the number of temperature levels used by this controller. More... | |
![]() | |
TemperatureController () | |
Default constructor. More... | |
TemperatureController (TemperatureController const &) | |
Copy constructor. More... | |
bool | reinitialize_for_each_job () const override |
Return false. This class does not need to be reinitialized for each job. More... | |
bool | reinitialize_for_new_input () const override |
Return false. This class does not need to be reinitialized for new input. More... | |
virtual core::Real | temperature_move (core::pose::Pose &pose) |
Execute a temperature move which depends on the current pose. More... | |
virtual GridCoord | level_2_grid_coord (core::Size level) const |
virtual core::Size | exchange_grid_dim () const |
virtual core::Size | nlevels_per_dim (core::Size) const |
protocols::moves::MonteCarloCOP | monte_carlo () const |
Return const access to the MonteCarlo object being controlled. More... | |
virtual bool | finished_simulation (core::Size trials, core::Size ntrials) |
Return true if the simulation has been completed. More... | |
virtual void | set_monte_carlo (protocols::moves::MonteCarloOP monte_carlo) |
Set the MonteCarlo object to be controlled. More... | |
![]() | |
ThermodynamicObserver () | |
Default constructor. More... | |
~ThermodynamicObserver () override | |
Destructor. More... | |
void | apply (core::pose::Pose &) override |
Callback executed after each move is made. More... | |
virtual bool | restart_simulation (core::pose::Pose &, MetropolisHastingsMover &, core::Size &, core::Size &, core::Real &) |
Attempt to restart the last simulation that was recorded by this observer. More... | |
virtual bool | requires_pose () |
Return false if this observer does not require a valid pose. TrialCounterObserver is an example of such an observer. More... | |
![]() | |
Mover () | |
~Mover () override | |
virtual MoverOP | create () |
MoverCOP | get_self_ptr () const |
MoverOP | get_self_ptr () |
MoverCAP | get_self_weak_ptr () const |
MoverAP | get_self_weak_ptr () |
Mover (std::string const &type_name) | |
sets the type for a mover; name_ has been removed (2010/05/14) More... | |
Mover (Mover const &other) | |
Mover & | operator= (Mover const &other) |
assignment operator More... | |
virtual core::Real | last_proposal_density_ratio () |
std::string const & | type () const |
void | set_type (std::string const &setting) |
std::string | get_current_tag () const |
A tag is a unique identifier used to identify structures produced by this Mover. get_current_tag() returns the tag, and set_current_tag( std::string tag ) sets the tag. This functionality is not intended for use with the 2008 job distributor. More... | |
virtual void | set_current_tag (std::string const &new_tag) |
virtual void | set_input_pose (PoseCOP pose) |
setter for poses contained for rms More... | |
virtual void | set_native_pose (PoseCOP pose) |
setter for native poses contained for rms -— we should get rid of this method? it is widely used, but a bit unsafe More... | |
PoseCOP | get_input_pose () const |
PoseCOP | get_native_pose () const |
virtual void | test_move (Pose &pose) |
: Unit test support function. Apply one move to a given pose. Allows extra test specific functions to be called before applying More... | |
void | type (const std::string &type_in) |
std::string | get_type () const |
MoverStatus | get_last_move_status () const |
end parser interface, start Job Distributor interface///////////// More... | |
void | reset_status () |
resets status to SUCCESS, meant to be used before an apply(). The job distributor (august 08 vintage) uses this to ensure non-accumulation of status across apply()s. More... | |
virtual core::pose::PoseOP | get_additional_output () |
Mechanism by which a mover may return multiple output poses from a single input pose. More... | |
virtual void | clear_info () |
Strings container can be used to return miscellaneous info (as std::string) from a mover, such as notes about the results of apply(). The job distributor (Apr 09 vintage) will check this function to see if your protocol wants to add string info to the Job that ran this mover. One way this can be useful is that later, a JobOutputter may include/append this info to an output file. More... | |
virtual Strings & | info () |
non-const accessor More... | |
virtual Strings const & | info () const |
const accessor More... | |
void | set_current_job (protocols::jobdist::BasicJobCOP job) |
jobdist::BasicJobCOP | get_current_job () const |
virtual void | show (std::ostream &output=std::cout) const |
Outputs details about the Mover, including current settings. More... | |
Static Public Member Functions | |
static void | register_options () |
static std::string | mover_name () |
static void | provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd) |
![]() | |
static void | attributes_for_tempering_base (utility::tag::AttributeList &, utility::tag::XMLSchemaDefinition &) |
static void | register_options () |
Register the options used by this mover with the global options system. More... | |
![]() | |
static std::string | name () |
static void | register_options () |
Overload this static method if you access options within the mover. More... | |
Protected Member Functions | |
void | set_defaults () |
handling of options including command-line More... | |
void | init_from_options () override |
Assigns user specified values to primitive members using command line options. More... | |
int | rank () |
![]() | |
void | set_defaults () |
Help the constructor initialize the object. More... | |
virtual bool | initialize_from_file (std::string const &filename) |
Initialize temperatures and weights from a file. More... | |
virtual void | write_to_file (std::string const &file_in, std::string const &output_name, utility::vector1< core::Real > const &wcounts) |
Save temperatures and weights to a file. More... | |
bool | check_temp_consistency () |
Assert that the current temperature of the MonteCarlo object agrees with the current temperature level of this object. More... | |
virtual bool | time_for_temp_move () |
Return true if a temperature move should be made on this iteration. More... | |
void | reset_temp_counter () |
core::Size | current_temp () const |
Return the current temperature level. Identical to temperature_level() as far as I can tell. More... | |
void | clear () |
Forget all temperature levels and return to an uninitialized state. More... | |
void | set_temperatures (utility::vector1< core::Real > const &) |
Explicitly set the temperature levels. More... | |
virtual void | set_current_temp (core::Size new_temp) |
Set the temperature to the given level. More... | |
bool | stats_line_output () const |
Return true if a statistics summary should be written. More... | |
bool | stats_silent_output () const |
Return true if a statistics summary should be inserted into a silent file. More... | |
std::string const & | stats_file () const |
Return the name of the silent file into which statistics should be recorded. More... | |
void | generate_temp_range (core::Real temp_low, core::Real temp_high, core::Size n_levels, InterpolationType interpolation=linear) |
Explicitly set the temperature levels by interpolating the given parameters. More... | |
MultiTemperatureTrialCounter & | trial_counter () |
![]() | |
protocols::moves::MonteCarloOP | monte_carlo () |
Return non-const access to the MonteCarlo object being controlled. More... | |
![]() | |
void | set_last_move_status (MoverStatus status) |
nonvirtual setter for MoverStatus last_status_. Protected means that only the mover itself will be able to change its own status. The job distributor (august 08 vintage) is aware of status set with this function and will do what the MoverStatus says. More... | |
Private Types | |
typedef TemperingBase | Parent |
typedef utility::vector1 < std::pair< int, int > > | ExchangeSchedule |
Private Member Functions | |
void | deallocate_buffers () |
void | allocate_buffers (core::Size) |
void | setup_exchange_schedule (Size nlevels) |
void | shuffle_temperatures (const double *energies) |
Private Attributes | |
int | rank_ |
utility::vector0 < ExchangeSchedule > | exchange_schedules_ |
core::Size | last_exchange_schedule_ |
double * | last_energies_ |
int * | rank2tlevel_ |
int * | tlevel2rank_ |
std::map< std::pair< int, int > , core::Size > | exchange_attempts_ |
std::map< std::pair< int, int > , core::Size > | exchange_accepts_ |
clock_t | start_time_ |
clock_t | total_mpi_wait_time_ |
Static Private Attributes | |
static bool | options_registered_ |
Additional Inherited Members | |
![]() | |
typedef utility::vector1 < core::Size > | GridCoord |
![]() | |
typedef utility::tag::TagCOP | TagCOP |
typedef core::pose::Pose | Pose |
typedef core::pose::PoseCOP | PoseCOP |
typedef protocols::filters::Filters_map | Filters_map |
typedef std::list< std::string > | Strings |
![]() | |
utility::vector1< core::Real > | temperatures_ |
Temperature levels. More... | |
core::Size | temperature_stride_ |
Frequency for attempting temperature moves (e.g. once every io_stride_ steps). More... | |
core::Size | io_stride_ |
Frequency with which statistics should be written (e.g. once every io_stride_ steps). More... | |
bool | trust_current_temp_ |
If false, look for current temperature in monte_carlo_ before each move. Set to true by default. More... | |
bool | stats_line_output_ |
If true, a statistics summary will be written. More... | |
bool | stats_silent_output_ |
If true, the statistics summary will be inserted in a silent file. More... | |
std::string | stats_file_ |
Name of the silent file used for writing statistics. More... | |
bool | instance_initialized_ |
If false, init_from_options() will be called before the simulation starts. More... | |
core::Size | current_temp_ |
Current temperature level. Not the current temperature! More... | |
core::Size | temp_trial_count_ |
Number of times time_for_temp_move() has been called. This method is meant to be called every time temperature_move() is called. More... | |
MultiTemperatureTrialCounter | trial_counter_ |
The only way to set the temperature range used for simulated annealing is to use the command line. The relevant options are:
|
private |
protocols::canonical_sampling::ParallelTempering::ParallelTempering | ( | ) |
Default constructor.
References set_defaults().
|
override |
Non-trivial destructor used to free some C-style arrays.
References deallocate_buffers().
protocols::canonical_sampling::ParallelTempering::ParallelTempering | ( | ParallelTempering const & | other | ) |
Copy constructor.
|
private |
References deallocate_buffers(), last_energies_, rank2tlevel_, tlevel2rank_, and protocols::canonical_sampling::tr().
Referenced by initialize_simulation(), and operator=().
|
inlineoverridevirtual |
Implements protocols::moves::Mover.
|
overridevirtual |
Return a clone of the Mover object.
clone is meant to return an OP'ed deep copy of this object. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function.
Reimplemented from protocols::moves::Mover.
|
private |
References last_energies_, rank2tlevel_, and tlevel2rank_.
Referenced by allocate_buffers(), finalize_simulation(), operator=(), and ~ParallelTempering().
|
overridevirtual |
Callback executed after all Monte Carlo trials are completed.
Reimplemented from protocols::canonical_sampling::ThermodynamicObserver.
References core::pose::motif::a(), protocols::match::upstream::b, deallocate_buffers(), exchange_accepts_, exchange_attempts_, protocols::canonical_sampling::TemperingBase::finalize_simulation(), protocols::canonical_sampling::TemperingBase::n_temp_levels(), rank(), start_time_, protocols::canonical_sampling::TemperingBase::temperature(), total_mpi_wait_time_, and protocols::canonical_sampling::tr().
|
overridevirtual |
Generates a new Mover object freshly created with the default ctor.
fresh_instance is meant to return a new object of this class, created with the default constructor. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function. This is used by the August 08 job distributor.
Reimplemented from protocols::moves::Mover.
|
overridevirtual |
Each derived class must specify its name. The class name.
Implements protocols::moves::Mover.
References mover_name().
|
overrideprotectedvirtual |
Assigns user specified values to primitive members using command line options.
Reimplemented from protocols::canonical_sampling::TemperingBase.
References protocols::canonical_sampling::TemperingBase::init_from_options().
|
overridevirtual |
Callback executed before any Monte Carlo trials are attempted.
Reimplemented from protocols::canonical_sampling::ThermodynamicObserver.
References allocate_buffers(), protocols::canonical_sampling::TemperingBase::initialize_simulation(), last_exchange_schedule_, protocols::canonical_sampling::TemperingBase::n_temp_levels(), rank2tlevel_, rank_, protocols::canonical_sampling::TemperingBase::set_current_temp(), setup_exchange_schedule(), start_time_, total_mpi_wait_time_, and protocols::canonical_sampling::tr().
|
static |
ParallelTempering & protocols::canonical_sampling::ParallelTempering::operator= | ( | ParallelTempering const & | other | ) |
Assignment operator.
References allocate_buffers(), deallocate_buffers(), exchange_schedules_, protocols::canonical_sampling::TemperingBase::n_temp_levels(), and protocols::moves::Mover::operator=().
|
overridevirtual |
Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing.
Some movers need not be parsed, so we shouldn't stop executions. This, however, calls attention to the lack of this method, which could be due to something as silly as a wrong parameters definition.
Reimplemented from protocols::moves::Mover.
References protocols::canonical_sampling::TemperingBase::parse_my_tag().
|
static |
|
inlineprotected |
References rank_.
Referenced by finalize_simulation(), setup_exchange_schedule(), and temperature_move().
|
static |
|
protected |
handling of options including command-line
Referenced by ParallelTempering().
|
private |
References exchange_accepts_, exchange_attempts_, exchange_schedules_, rank(), and protocols::canonical_sampling::tr().
Referenced by initialize_simulation().
|
private |
References exchange_accepts_, exchange_attempts_, exchange_schedules_, last_exchange_schedule_, protocols::mean_field::max(), protocols::mean_field::min(), rank2tlevel_, core::scoring::rg, protocols::canonical_sampling::TemperingBase::temperature(), and tlevel2rank_.
Referenced by temperature_move().
|
overridevirtual |
Execute the temperature move.
This method is called by observe_after_metropolis() and is expected to return the new temperature (in units of kT, to the extent that that is meaningful in the context of rosetta).
Implements protocols::canonical_sampling::TemperatureController.
References protocols::canonical_sampling::TemperingBase::check_temp_consistency(), last_energies_, rank(), rank2tlevel_, protocols::hybridization::score, protocols::canonical_sampling::TemperingBase::set_current_temp(), shuffle_temperatures(), protocols::canonical_sampling::TemperingBase::temperature(), protocols::canonical_sampling::TemperingBase::time_for_temp_move(), and total_mpi_wait_time_.
|
private |
Referenced by finalize_simulation(), setup_exchange_schedule(), and shuffle_temperatures().
|
private |
Referenced by finalize_simulation(), setup_exchange_schedule(), and shuffle_temperatures().
|
private |
Referenced by operator=(), setup_exchange_schedule(), and shuffle_temperatures().
|
private |
Referenced by allocate_buffers(), deallocate_buffers(), and temperature_move().
|
private |
Referenced by initialize_simulation(), and shuffle_temperatures().
|
staticprivate |
Referenced by register_options().
|
private |
Referenced by allocate_buffers(), deallocate_buffers(), initialize_simulation(), shuffle_temperatures(), and temperature_move().
|
private |
Referenced by initialize_simulation(), and rank().
|
private |
Referenced by finalize_simulation(), and initialize_simulation().
|
private |
Referenced by allocate_buffers(), deallocate_buffers(), and shuffle_temperatures().
|
private |
Referenced by finalize_simulation(), initialize_simulation(), and temperature_move().