Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
core::pack::annealer::FASTERAnnealer Class Reference

#include <FASTERAnnealer.hh>

Inheritance diagram for core::pack::annealer::FASTERAnnealer:
Inheritance graph
[legend]

Public Types

typedef RotamerAssigningAnnealer parent
 
typedef
rotamer_set::FixbbRotamerSetsCOP 
FixbbRotamerSetsCOP
 
- Public Types inherited from core::pack::annealer::RotamerAssigningAnnealer
typedef
rotamer_set::FixbbRotamerSetsCOP 
FixbbRotamerSetsCOP
 
- Public Types inherited from core::pack::annealer::SimAnnealerBase
typedef
pack_basic::RotamerSetsBaseCOP 
RotamerSetsBaseCOP
 

Public Member Functions

 FASTERAnnealer (ObjexxFCL::FArray1D_int &bestrotamer_at_seqpos, core::PackerEnergy &bestenergy, bool start_with_current, interaction_graph::FASTERInteractionGraphOP ig, FixbbRotamerSetsCOP rotamer_sets, ObjexxFCL::FArray1_int &current_rot_index, bool calc_rot_freq, ObjexxFCL::FArray1D< core::PackerEnergy > &rot_freq)
 
 ~FASTERAnnealer () override
 
void run () override
 
void set_ciBR_only (bool setting)
 
void set_num_sa_trajectories (int setting)
 
void set_sa_length_scale (Real setting)
 
- Public Member Functions inherited from core::pack::annealer::RotamerAssigningAnnealer
 RotamerAssigningAnnealer (int num_of_rot_to_pack, ObjexxFCL::FArray1D_int &bestrotamer_at_seqpos, core::PackerEnergy &bestenergy, bool start_with_current, FixbbRotamerSetsCOP p_rotamer_set, ObjexxFCL::FArray1_int &current_rot_index, bool calc_rot_freq, ObjexxFCL::FArray1D< core::PackerEnergy > &rot_freq)
 
 RotamerAssigningAnnealer (utility::vector0< int > &rot_to_pack, int num_of_rot_to_pack, ObjexxFCL::FArray1D_int &bestrotamer_at_seqpos, core::PackerEnergy &bestenergy, bool start_with_current, FixbbRotamerSetsCOP p_rotamer_set, ObjexxFCL::FArray1_int &current_rot_index, bool calc_rot_freq, ObjexxFCL::FArray1D< core::PackerEnergy > &rot_freq)
 
 ~RotamerAssigningAnnealer () override
 
int pick_a_rotamer (int cycle)
 pick a rotamer from a list More...
 
int pick_a_rotamer_for_node (int node) const
 
void set_assign_state_to_all_nodes_immediately (bool setting)
 
- Public Member Functions inherited from core::pack::annealer::SimAnnealerBase
 SimAnnealerBase (int num_rots_to_pack, ObjexxFCL::FArray1D_int &bestrotamer_at_seqpos, core::PackerEnergy &bestenergy, bool start_with_current, ObjexxFCL::FArray1_int &current_rot_index, bool calc_rot_freq, ObjexxFCL::FArray1D< core::PackerEnergy > &rot_freq)
 
 ~SimAnnealerBase () override
 virtual destructor More...
 
bool pass_metropolis (core::PackerEnergy delta_energy) const
 accept or reject movement based on Metropolis criterion if this is the first movement, accept by default. More...
 
bool pass_metropolis (core::PackerEnergy previous_energy, core::PackerEnergy delta_energy) const
 
void setup_iterations ()
 
void setup_iterations (const int &num_of_state_changes)
 
int get_outeriterations () const
 get the iterations number for simulation More...
 
int get_inneriterations () const
 
void setup_temperature (const int &nn)
 
void setup_temperature (const ObjexxFCL::FArray1D< core::PackerEnergy > &loopenergy, int nn)
 
void set_temperature (core::PackerEnergy new_temperature)
 
core::PackerEnergy get_temperature () const
 
void set_to_quench ()
 
void set_not_to_quench ()
 
bool quench () const
 
bool get_start_with_current () const
 
bool get_calc_rot_freq () const
 
void set_disallow_quench (bool const &setting)
 
void set_hightemp (core::PackerEnergy)
 
void set_lowtemp (core::PackerEnergy)
 
void scale_outeriterations (core::PackerEnergy const so)
 
void scale_inneriterations (core::PackerEnergy const si)
 
AnnealerObserverOP get_annealer_observer ()
 
AnnealerObserverCOP get_annealer_observer () const
 
void set_annealer_observer (AnnealerObserverOP obs)
 

Private Member Functions

void iBR ()
 
void trySeveral_ciBRs ()
 
void ciBR ()
 
void sBR ()
 
void dBR ()
 
void finalize_output ()
 
void run_quench_cycles ()
 
void reset_recent_network_state_history ()
 
void note_current_network_state (ObjexxFCL::FArray1_int const &netstate)
 
bool stuck_in_network_state_loop ()
 
int pick_rotamer_for_node (int node)
 
int pick_a_rotamer_for_sBR ()
 
void shuffle_sBR_rotamers ()
 
int hash_recent_history (int history_index)
 

Private Attributes

interaction_graph::FASTERInteractionGraphOP ig_
 
FixbbRotamerSetsCOP rotamer_sets_
 
int const num_nodes_
 
ObjexxFCL::FArray2D_int recent_network_state_history_
 
ObjexxFCL::FArray1D_int recent_history_hash_values_
 
ObjexxFCL::FArray1D_int recent_history_hash_count_
 
int recent_history_head_
 
int curr_in_recent_history_
 
bool netstate_duplicated_
 
int progress_through_sBR_
 
utility::vector0< int > sBR_rotamers_
 
bool ciBR_only_
 
int num_sa_trajectories_
 
Real sa_inner_iterations_length_scale_
 
int sBR_limit_
 

Static Private Attributes

static int const recent_history_size_ = 100
 
static int const hash_size_ = 2017
 

Additional Inherited Members

- Protected Member Functions inherited from core::pack::annealer::RotamerAssigningAnnealer
FixbbRotamerSetsCOP rotamer_sets () const
 
utility::vector0< int > const & rot_to_pack () const
 
- Protected Member Functions inherited from core::pack::annealer::SimAnnealerBase
Size num_rots_to_pack () const
 
void num_rots_to_pack (Size setting)
 
ObjexxFCL::FArray1D_int & bestrotamer_at_seqpos ()
 
ObjexxFCL::FArray1D_int const & bestrotamer_at_seqpos () const
 
core::PackerEnergybestenergy ()
 
bool start_with_current () const
 
ObjexxFCL::FArray1_int & current_rot_index ()
 
ObjexxFCL::FArray1_int const & current_rot_index () const
 
bool calc_rot_freq () const
 
ObjexxFCL::FArray1D
< core::PackerEnergy > & 
rot_freq ()
 
ObjexxFCL::FArray1D
< core::PackerEnergy > const & 
rot_freq () const
 
core::PackerEnergy get_hightemp () const
 
core::PackerEnergy get_lowtemp () const
 
void clear ()
 
- Static Protected Attributes inherited from core::pack::annealer::SimAnnealerBase
static const core::PackerEnergy hightemp = 100.0
 
static const core::PackerEnergy lowtemp = 0.3
 
static const int maxouteriterations = 500
 
static const core::PackerEnergy calc_freq_temp = 1.0
 

Member Typedef Documentation

Constructor & Destructor Documentation

core::pack::annealer::FASTERAnnealer::FASTERAnnealer ( ObjexxFCL::FArray1D_int &  bestrotamer_at_seqpos,
core::PackerEnergy bestenergy,
bool  start_with_current,
interaction_graph::FASTERInteractionGraphOP  ig,
FixbbRotamerSetsCOP  rotamer_sets,
ObjexxFCL::FArray1_int &  current_rot_index,
bool  calc_rot_freq,
ObjexxFCL::FArray1D< core::PackerEnergy > &  rot_freq 
)

References sBR_rotamers_.

core::pack::annealer::FASTERAnnealer::~FASTERAnnealer ( )
overridedefault

Member Function Documentation

void core::pack::annealer::FASTERAnnealer::ciBR ( )
private
void core::pack::annealer::FASTERAnnealer::dBR ( )
private
void core::pack::annealer::FASTERAnnealer::finalize_output ( )
private
int core::pack::annealer::FASTERAnnealer::hash_recent_history ( int  history_index)
private
void core::pack::annealer::FASTERAnnealer::iBR ( )
private
void core::pack::annealer::FASTERAnnealer::note_current_network_state ( ObjexxFCL::FArray1_int const &  netstate)
private
int core::pack::annealer::FASTERAnnealer::pick_a_rotamer_for_sBR ( )
private

References progress_through_sBR_, and sBR_rotamers_.

Referenced by sBR().

int core::pack::annealer::FASTERAnnealer::pick_rotamer_for_node ( int  node)
private

References ig_, and core::scoring::rg.

Referenced by dBR().

void core::pack::annealer::FASTERAnnealer::reset_recent_network_state_history ( )
private
void core::pack::annealer::FASTERAnnealer::run ( )
overridevirtual
void core::pack::annealer::FASTERAnnealer::run_quench_cycles ( )
private
void core::pack::annealer::FASTERAnnealer::sBR ( )
private
void core::pack::annealer::FASTERAnnealer::set_ciBR_only ( bool  setting)

References ciBR_only_.

void core::pack::annealer::FASTERAnnealer::set_num_sa_trajectories ( int  setting)

References num_sa_trajectories_.

void core::pack::annealer::FASTERAnnealer::set_sa_length_scale ( Real  setting)
void core::pack::annealer::FASTERAnnealer::shuffle_sBR_rotamers ( )
private

References progress_through_sBR_, core::scoring::rg, and sBR_rotamers_.

Referenced by sBR().

bool core::pack::annealer::FASTERAnnealer::stuck_in_network_state_loop ( )
private

References netstate_duplicated_.

Referenced by ciBR(), and iBR().

void core::pack::annealer::FASTERAnnealer::trySeveral_ciBRs ( )
private

References ciBR(), and ig_.

Member Data Documentation

bool core::pack::annealer::FASTERAnnealer::ciBR_only_
private

Referenced by run(), and set_ciBR_only().

int core::pack::annealer::FASTERAnnealer::curr_in_recent_history_
private
int const core::pack::annealer::FASTERAnnealer::hash_size_ = 2017
staticprivate

Referenced by hash_recent_history().

interaction_graph::FASTERInteractionGraphOP core::pack::annealer::FASTERAnnealer::ig_
private
bool core::pack::annealer::FASTERAnnealer::netstate_duplicated_
private
int const core::pack::annealer::FASTERAnnealer::num_nodes_
private
int core::pack::annealer::FASTERAnnealer::num_sa_trajectories_
private

Referenced by run(), and set_num_sa_trajectories().

int core::pack::annealer::FASTERAnnealer::progress_through_sBR_
private
ObjexxFCL::FArray1D_int core::pack::annealer::FASTERAnnealer::recent_history_hash_count_
private
ObjexxFCL::FArray1D_int core::pack::annealer::FASTERAnnealer::recent_history_hash_values_
private
int core::pack::annealer::FASTERAnnealer::recent_history_head_
private
int const core::pack::annealer::FASTERAnnealer::recent_history_size_ = 100
staticprivate
ObjexxFCL::FArray2D_int core::pack::annealer::FASTERAnnealer::recent_network_state_history_
private
FixbbRotamerSetsCOP core::pack::annealer::FASTERAnnealer::rotamer_sets_
private
Real core::pack::annealer::FASTERAnnealer::sa_inner_iterations_length_scale_
private

Referenced by run(), and set_sa_length_scale().

int core::pack::annealer::FASTERAnnealer::sBR_limit_
private

Referenced by sBR().

utility::vector0< int > core::pack::annealer::FASTERAnnealer::sBR_rotamers_
private

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