Rosetta
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
core::pack::annealer::SequenceSymmetricAnnealer Class Reference

#include <SequenceSymmetricAnnealer.hh>

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

Public Types

typedef interaction_graph::AnnealableGraphBaseOP AnnealableGraphBaseOP
 
- 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

 SequenceSymmetricAnnealer (core::pose::Pose const &pose, utility::vector0< int > &rot_to_pack, ObjexxFCL::FArray1D_int &bestrotamer_at_seqpos, core::PackerEnergy &bestenergy, bool start_with_current, AnnealableGraphBaseOP ig, FixbbRotamerSetsCOP rotamer_sets, ObjexxFCL::FArray1_int &current_rot_index, bool calc_rot_freq, ObjexxFCL::FArray1D< core::PackerEnergy > &rot_freq, std::string const &rs_prefix)
 
 SequenceSymmetricAnnealer (core::pose::Pose const &pose, ObjexxFCL::FArray1D_int &bestrotamer_at_seqpos, core::PackerEnergy &bestenergy, bool start_with_current, AnnealableGraphBaseOP ig, FixbbRotamerSetsCOP rotamer_sets, ObjexxFCL::FArray1_int &current_rot_index, bool calc_rot_freq, ObjexxFCL::FArray1D< core::PackerEnergy > &rot_freq, std::string const &rs_prefix)
 
 ~SequenceSymmetricAnnealer () override
 virtual destructor More...
 
void run () override
 sim_annealing for fixed backbone design mode More...
 
void record_annealer_trajectory (bool setting)
 
void trajectory_file_name (std::string const &setting)
 
NODISCARD_ATTR utility::vector1< utility::vector1< Size > > create_corresponding_mress_for_mres () const
 
- 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

 SequenceSymmetricAnnealer (SequenceSymmetricAnnealer const &rhs)
 
void search_pose_for_residue_subsets (core::pose::Pose const &pose)
 Determines whether the selection logic passed to the annealer is valid, must be equal to "type_only", "identity", or "try_identity". More...
 
void print_linked_residues (utility::vector1< utility::vector1< core::Size > > const &corresponding_mress_for_mres) const
 Prints the linked residues in a useful, human readable format. Uses the Rosetta number for linked residues. More...
 
void update_shared_residue_map (core::Size const id, std::unordered_map< std::string, core::Size > &map) const
 Updates map with all residue types for moltenresidue, id. Map contains a count for each type of residue previously seen. More...
 
std::unordered_set< std::string > get_shared_residue_types (core::Size const curr_mres, utility::vector1< core::Size > const &linked_res) const
 Returns the common set of residues based on a vector of linked moltenred ids. More...
 
SeqSymmAnnealerSetup setup_for_linked_residues ()
 Sets up the necessary objects required for running the annealer. Returns vector of vector of mres for linked residues and common residue types for each linked res set. More...
 

Private Attributes

std::string starting_sequence_
 
pose::PDBInfoCOP pdb_info_
 
AnnealableGraphBaseOP ig_
 
bool record_annealer_trajectory_
 
std::string trajectory_file_name_
 
bool power_mode_ = false
 
utility::vector1< utility::vector1< utility::vector1< bool > > > residue_subsets_
 
std::string rs_prefix_ = "SequenceSymmetricAnnealer__"
 

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

◆ AnnealableGraphBaseOP

Constructor & Destructor Documentation

◆ SequenceSymmetricAnnealer() [1/3]

core::pack::annealer::SequenceSymmetricAnnealer::SequenceSymmetricAnnealer ( core::pose::Pose const &  pose,
utility::vector0< int > &  rot_to_pack,
ObjexxFCL::FArray1D_int &  bestrotamer_at_seqpos,
core::PackerEnergy bestenergy,
bool  start_with_current,
AnnealableGraphBaseOP  ig,
FixbbRotamerSetsCOP  rotamer_sets,
ObjexxFCL::FArray1_int &  current_rot_index,
bool  calc_rot_freq,
ObjexxFCL::FArray1D< core::PackerEnergy > &  rot_freq,
std::string const &  rs_prefix 
)

◆ SequenceSymmetricAnnealer() [2/3]

core::pack::annealer::SequenceSymmetricAnnealer::SequenceSymmetricAnnealer ( core::pose::Pose const &  pose,
ObjexxFCL::FArray1D_int &  bestrotamer_at_seqpos,
core::PackerEnergy bestenergy,
bool  start_with_current,
AnnealableGraphBaseOP  ig,
FixbbRotamerSetsCOP  rotamer_sets,
ObjexxFCL::FArray1_int &  current_rot_index,
bool  calc_rot_freq,
ObjexxFCL::FArray1D< core::PackerEnergy > &  rot_freq,
std::string const &  rs_prefix 
)

◆ ~SequenceSymmetricAnnealer()

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

virtual destructor

◆ SequenceSymmetricAnnealer() [3/3]

core::pack::annealer::SequenceSymmetricAnnealer::SequenceSymmetricAnnealer ( SequenceSymmetricAnnealer const &  rhs)
private

Member Function Documentation

◆ create_corresponding_mress_for_mres()

utility::vector1< utility::vector1< Size > > core::pack::annealer::SequenceSymmetricAnnealer::create_corresponding_mress_for_mres ( ) const

◆ get_shared_residue_types()

std::unordered_set< std::string > core::pack::annealer::SequenceSymmetricAnnealer::get_shared_residue_types ( core::Size const  curr_mres,
utility::vector1< core::Size > const &  linked_res 
) const
private

Returns the common set of residues based on a vector of linked moltenred ids.

◆ print_linked_residues()

void core::pack::annealer::SequenceSymmetricAnnealer::print_linked_residues ( utility::vector1< utility::vector1< core::Size > > const &  corresponding_mress_for_mres) const
private

Prints the linked residues in a useful, human readable format. Uses the Rosetta number for linked residues.

References TR().

◆ record_annealer_trajectory()

void core::pack::annealer::SequenceSymmetricAnnealer::record_annealer_trajectory ( bool  setting)

◆ run()

void core::pack::annealer::SequenceSymmetricAnnealer::run ( )
overridevirtual

◆ search_pose_for_residue_subsets()

void core::pack::annealer::SequenceSymmetricAnnealer::search_pose_for_residue_subsets ( core::pose::Pose const &  pose)
private

Determines whether the selection logic passed to the annealer is valid, must be equal to "type_only", "identity", or "try_identity".

Uses the rs_prefix_ to search the pose for stored residue subsets. It is expected that all relevant residue subsets will be prefixed by the rs_prefix_ and be in the form: <rs_prefix_>_<linked_residue_subset_id>_<residue_subset_number_in_group>

References core::pose::Pose::data(), core::select::residue_selector::CachedResidueSubset::get_subset(), core::select::residue_selector::CachedResidueSubset::has_subset(), core::select::residue_selector::CachedResidueSubset::has_subset_prefix(), core::pose::datacache::CacheableDataType::STORED_RESIDUE_SUBSET, core::id::to_string(), and TR().

◆ setup_for_linked_residues()

SeqSymmAnnealerSetup core::pack::annealer::SequenceSymmetricAnnealer::setup_for_linked_residues ( )
private

Sets up the necessary objects required for running the annealer. Returns vector of vector of mres for linked residues and common residue types for each linked res set.

References core::id::to_string().

◆ trajectory_file_name()

void core::pack::annealer::SequenceSymmetricAnnealer::trajectory_file_name ( std::string const &  setting)

◆ update_shared_residue_map()

void core::pack::annealer::SequenceSymmetricAnnealer::update_shared_residue_map ( core::Size const  id,
std::unordered_map< std::string, core::Size > &  map 
) const
private

Updates map with all residue types for moltenresidue, id. Map contains a count for each type of residue previously seen.

References core::id::to_string(), and TR().

Member Data Documentation

◆ ig_

AnnealableGraphBaseOP core::pack::annealer::SequenceSymmetricAnnealer::ig_
private

◆ pdb_info_

pose::PDBInfoCOP core::pack::annealer::SequenceSymmetricAnnealer::pdb_info_
private

◆ power_mode_

bool core::pack::annealer::SequenceSymmetricAnnealer::power_mode_ = false
private

◆ record_annealer_trajectory_

bool core::pack::annealer::SequenceSymmetricAnnealer::record_annealer_trajectory_
private

◆ residue_subsets_

utility::vector1< utility::vector1< utility::vector1< bool > > > core::pack::annealer::SequenceSymmetricAnnealer::residue_subsets_
private

◆ rs_prefix_

std::string core::pack::annealer::SequenceSymmetricAnnealer::rs_prefix_ = "SequenceSymmetricAnnealer__"
private

◆ starting_sequence_

std::string core::pack::annealer::SequenceSymmetricAnnealer::starting_sequence_
private

◆ trajectory_file_name_

std::string core::pack::annealer::SequenceSymmetricAnnealer::trajectory_file_name_
private

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