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

#include <OptEData.hh>

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

Public Types

typedef PNatAAOptEPositionData parent
 
- Public Types inherited from protocols::optimize_weights::PNatAAOptEPositionData
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

 PSSMOptEPositionData ()
 
 ~PSSMOptEPositionData () override
 
void set_pssm_probabilities (utility::vector1< Real > const &pssm_probs)
 
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
 
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
 
- Public Member Functions inherited from protocols::optimize_weights::PNatAAOptEPositionData
 PNatAAOptEPositionData ()
 
 ~PNatAAOptEPositionData () 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
 
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
 

Private Attributes

utility::vector1< Realpssm_probabilities_
 

Additional Inherited Members

- Protected Member Functions inherited from protocols::optimize_weights::PNatAAOptEPositionData
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...
 

Member Typedef Documentation

Constructor & Destructor Documentation

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

Member Function Documentation

Real protocols::optimize_weights::PSSMOptEPositionData::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

Reimplemented from protocols::optimize_weights::PNatAAOptEPositionData.

References core::chemical::num_canonical_aas, and protocols::optimize_weights::pssm_data.

Size protocols::optimize_weights::PSSMOptEPositionData::memory_use ( ) const
overridevirtual
void protocols::optimize_weights::PSSMOptEPositionData::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
Parameters
num_energy_dofsBasically, turn over all the private data from OptEMultiFunc

Reimplemented from protocols::optimize_weights::PNatAAOptEPositionData.

References protocols::sic_dock::neighbor_count(), core::chemical::num_canonical_aas, and protocols::optimize_weights::pssm_data.

void protocols::optimize_weights::PSSMOptEPositionData::read_from_binary_file ( std::ifstream &  infile)
overridevirtual
void protocols::optimize_weights::PSSMOptEPositionData::read_from_file ( std::ifstream &  infile)
overridevirtual
void protocols::optimize_weights::PSSMOptEPositionData::set_pssm_probabilities ( utility::vector1< Real > const &  pssm_probs)
OptEPositionDataType protocols::optimize_weights::PSSMOptEPositionData::type ( ) const
overridevirtual
void protocols::optimize_weights::PSSMOptEPositionData::write_to_binary_file ( std::ofstream &  outfile) const
overridevirtual
void protocols::optimize_weights::PSSMOptEPositionData::write_to_file ( std::ofstream &  outfile) const
overridevirtual

Member Data Documentation

utility::vector1< Real > protocols::optimize_weights::PSSMOptEPositionData::pssm_probabilities_
private

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