Rosetta  2020.46
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
protocols::optimize_weights::PNatAAOptEPositionData Class Reference

#include <OptEData.hh>

Inheritance diagram for protocols::optimize_weights::PNatAAOptEPositionData:
Inheritance graph
[legend]

Public Types

typedef core::chemical::AA AA
 
- Public Types inherited from protocols::optimize_weights::OptEPositionData
typedef core::Real Real
 
typedef core::Size Size
 
typedef
core::optimization::Multivec 
Multivec
 
typedef core::scoring::EnergyMap EnergyMap
 
typedef core::scoring::ScoreTypes ScoreTypes
 

Public Member Functions

 PNatAAOptEPositionData ()
 
 ~PNatAAOptEPositionData () override
 
Real get_score (Multivec const &component_weights, Multivec const &vars, Multivec &dE_dvars, core::Size const num_energy_dofs, int const num_ref_dofs, int const num_total_dofs, EnergyMap const &fixed_terms, ScoreTypes const &score_list, ScoreTypes const &fixed_score_list) const override
 
void print_score (std::ostream &ostr, Multivec const &component_weights, Multivec const &vars, Multivec &dE_dvars, core::Size const num_energy_dofs, int const num_ref_dofs, int const num_total_dofs, EnergyMap const &fixed_terms, ScoreTypes const &score_list, ScoreTypes const &fixed_score_list) const override
 
void range (ScoreTypes const &free_score_list, ScoreTypes const &fixed_score_list, EnergyMap &lower_bound, EnergyMap &upper_bound) const override
 Return the upper and lower bound on the unweighted components at this position if they are larger (or smaller) than the unweighted values already in the two input EnergyMaps. More...
 
core::Size size () const override
 
OptEPositionDataType type () const override
 
void write_to_file (std::ofstream &outfile) const override
 
void read_from_file (std::ifstream &infile) override
 
void write_to_binary_file (std::ofstream &outfile) const override
 
void read_from_binary_file (std::ifstream &infile) override
 
core::Size memory_use () const override
 
void set_position (core::Size pos_in)
 
core::Size position () const
 
void set_native_aa (AA nat_in)
 
AA native_aa () const
 
void set_neighbor_count (core::Size nb_in)
 
core::Size neighbor_count () const
 
void add_rotamer_line_data (PNatAAOptERotamerDataOP rot_in)
 
PNatAAOptERotamerDataOPsdata ()
 
PNatAAOptERotamerDataOPs const & data () const
 
PNatAAOptERotamerDataOPs::const_iterator rotamer_data_begin () const
 
PNatAAOptERotamerDataOPs::const_iterator rotamer_data_end () const
 
- Public Member Functions inherited from protocols::optimize_weights::OptEPositionData
 OptEPositionData ()
 
 ~OptEPositionData () override
 
void tag (std::string const &tag_in)
 
std::string const & tag () const
 

Protected Member Functions

void process_rotamers (Multivec const &vars, core::Size const num_energy_dofs, EnergyMap const &fixed_terms, ScoreTypes const &score_list, ScoreTypes const &fixed_score_list, core::Size const aa_range, utility::vector1< Real > const &dummy_set, utility::vector1< Real > &best_energy_by_aa, utility::vector1< utility::vector1< Real > > &unweighted_E_dof, Multivec &ref_deriv_weight) const
 used by derived class as well – finds the energies for the best rotamer for each amino acid More...
 
- Protected Member Functions inherited from protocols::optimize_weights::OptEPositionData
void update_range (SingleStructureDataCOP structure, ScoreTypes const &free_score_list, ScoreTypes const &fixed_score_list, EnergyMap &lower_bound, EnergyMap &upper_bound) const
 Helper function for range(); updates lower/upper_bound as needed so that score_list scores from structure are included in the range. More...
 

Private Attributes

core::Size position_
 
AA native_aa_
 
core::Size neighbor_count_
 
PNatAAOptERotamerDataOPs data_
 

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::optimize_weights::PNatAAOptEPositionData::PNatAAOptEPositionData ( )
default
protocols::optimize_weights::PNatAAOptEPositionData::~PNatAAOptEPositionData ( )
overridedefault

Member Function Documentation

void protocols::optimize_weights::PNatAAOptEPositionData::add_rotamer_line_data ( PNatAAOptERotamerDataOP  rot_in)
inline

References data_.

PNatAAOptERotamerDataOPs& protocols::optimize_weights::PNatAAOptEPositionData::data ( )
inline

References data_.

PNatAAOptERotamerDataOPs const& protocols::optimize_weights::PNatAAOptEPositionData::data ( ) const
inline

References data_.

Real protocols::optimize_weights::PNatAAOptEPositionData::get_score ( optimization::Multivec const &  component_weights,
optimization::Multivec const &  vars,
optimization::Multivec dE_dvars,
core::Size const  num_energy_dofs,
int const  num_ref_dofs,
int const  num_total_dofs,
EnergyMap const &  fixed_terms,
ScoreTypes const &  score_list,
ScoreTypes const &  fixed_score_list 
) const
overridevirtual

Does actual work for OptE minimization

Determine the metric for optimization of energy weights. Original source is Brian Kuhlman's FORTRAN weight training program. Since the goal is to maximize site-by-site sequence recovery, the metric is decomposable by positions, and this does the work for one position. First, a pass is made through all the rotamers at the position, and the lowest energy rotamer for each amino acid is identified. Next, a rough partition function is constructed. The score to be minimized is the negative log of the probabilty of selecting a native aa rotamer (needn't be the native conformation).

Limitations:

  1. Assumes that the choices available at each position are the 20 canonical amino acids - no DNA base recovery, no pTyr.
  2. Doesn't have Chris Saunder's compositional constraints. This would require implementation of a direction-set ( aka powell ) minimizer, as his optimization metric doesn't yield gradients.
Parameters
num_energy_dofsBasically, turn over all the private data from OptEMultiFunc

Implements protocols::optimize_weights::OptEPositionData.

Reimplemented in protocols::optimize_weights::PSSMOptEPositionData.

References protocols::cluster::calibur::aa, and core::chemical::num_canonical_aas.

Size protocols::optimize_weights::PNatAAOptEPositionData::memory_use ( ) const
overridevirtual
AA protocols::optimize_weights::PNatAAOptEPositionData::native_aa ( ) const
inline

References native_aa_.

core::Size protocols::optimize_weights::PNatAAOptEPositionData::neighbor_count ( ) const
inline

References neighbor_count_.

core::Size protocols::optimize_weights::PNatAAOptEPositionData::position ( ) const
inline

References position_.

void protocols::optimize_weights::PNatAAOptEPositionData::print_score ( std::ostream &  ostr,
optimization::Multivec const &  component_weights,
optimization::Multivec const &  vars,
optimization::Multivec dE_dvars,
core::Size const  num_energy_dofs,
int const  num_ref_dofs,
int const  num_total_dofs,
EnergyMap const &  fixed_terms,
ScoreTypes const &  score_list,
ScoreTypes const &  fixed_score_list 
) const
overridevirtual
void protocols::optimize_weights::PNatAAOptEPositionData::process_rotamers ( optimization::Multivec const &  vars,
core::Size const  num_energy_dofs,
EnergyMap const &  fixed_terms,
ScoreTypes const &  score_list,
ScoreTypes const &  fixed_score_list,
core::Size const  aa_range,
utility::vector1< Real > const &  dummy_set,
utility::vector1< Real > &  best_energy_by_aa,
utility::vector1< utility::vector1< Real > > &  unweighted_E_dof,
optimization::Multivec ref_deriv_weight 
) const
protected

used by derived class as well – finds the energies for the best rotamer for each amino acid

void protocols::optimize_weights::PNatAAOptEPositionData::range ( ScoreTypes const &  free_score_list,
ScoreTypes const &  fixed_score_list,
EnergyMap lower_bound,
EnergyMap upper_bound 
) const
overridevirtual

Return the upper and lower bound on the unweighted components at this position if they are larger (or smaller) than the unweighted values already in the two input EnergyMaps.

Implements protocols::optimize_weights::OptEPositionData.

void protocols::optimize_weights::PNatAAOptEPositionData::read_from_binary_file ( std::ifstream &  infile)
overridevirtual
void protocols::optimize_weights::PNatAAOptEPositionData::read_from_file ( std::ifstream &  infile)
overridevirtual
PNatAAOptERotamerDataOPs::const_iterator protocols::optimize_weights::PNatAAOptEPositionData::rotamer_data_begin ( ) const
inline

References data_.

PNatAAOptERotamerDataOPs::const_iterator protocols::optimize_weights::PNatAAOptEPositionData::rotamer_data_end ( ) const
inline

References data_.

void protocols::optimize_weights::PNatAAOptEPositionData::set_native_aa ( AA  nat_in)
inline

References native_aa_.

void protocols::optimize_weights::PNatAAOptEPositionData::set_neighbor_count ( core::Size  nb_in)
inline

References neighbor_count_.

void protocols::optimize_weights::PNatAAOptEPositionData::set_position ( core::Size  pos_in)
inline

References position_.

core::Size protocols::optimize_weights::PNatAAOptEPositionData::size ( ) const
inlineoverridevirtual
OptEPositionDataType protocols::optimize_weights::PNatAAOptEPositionData::type ( ) const
overridevirtual
void protocols::optimize_weights::PNatAAOptEPositionData::write_to_binary_file ( std::ofstream &  outfile) const
overridevirtual
void protocols::optimize_weights::PNatAAOptEPositionData::write_to_file ( std::ofstream &  outfile) const
overridevirtual

Member Data Documentation

PNatAAOptERotamerDataOPs protocols::optimize_weights::PNatAAOptEPositionData::data_
private
AA protocols::optimize_weights::PNatAAOptEPositionData::native_aa_
private

Referenced by native_aa(), and set_native_aa().

core::Size protocols::optimize_weights::PNatAAOptEPositionData::neighbor_count_
private
core::Size protocols::optimize_weights::PNatAAOptEPositionData::position_
private

Referenced by position(), and set_position().


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