Rosetta Protocols  2014.35
Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
protocols::optimize_weights::PNatAAOptEPositionData Class Reference

#include <OptEData.hh>

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 ()
 
virtual ~PNatAAOptEPositionData ()
 
virtual Real get_score (Multivec const &component_weights, Multivec const &vars, Multivec &dE_dvars, 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
 
virtual void print_score (std::ostream &ostr, Multivec const &component_weights, Multivec const &vars, Multivec &dE_dvars, 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
 
virtual void range (ScoreTypes const &free_score_list, ScoreTypes const &fixed_score_list, EnergyMap &lower_bound, EnergyMap &upper_bound) const
 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...
 
virtual Size size () const
 
virtual OptEPositionDataType type () const
 
virtual void write_to_file (std::ofstream &outfile) const
 
virtual void read_from_file (std::ifstream &infile)
 
virtual void write_to_binary_file (std::ofstream &outfile) const
 
virtual void read_from_binary_file (std::ifstream &infile)
 
virtual Size memory_use () const
 
void set_position (Size pos_in)
 
Size position () const
 
void set_native_aa (AA nat_in)
 
AA native_aa () const
 
void set_neighbor_count (Size nb_in)
 
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 ()
 
virtual ~OptEPositionData ()
 
void tag (std::string const &tag_in)
 
std::string const & tag () const
 

Protected Member Functions

void process_rotamers (Multivec const &vars, Size const num_energy_dofs, EnergyMap const &fixed_terms, ScoreTypes const &score_list, ScoreTypes const &fixed_score_list, 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

Size position_
 
AA native_aa_
 
Size neighbor_count_
 
PNatAAOptERotamerDataOPs data_
 

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::optimize_weights::PNatAAOptEPositionData::PNatAAOptEPositionData ( )
protocols::optimize_weights::PNatAAOptEPositionData::~PNatAAOptEPositionData ( )
virtual

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,
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
virtual

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 optE::inv_kT_nataa, core::chemical::num_canonical_aas, option, and type.

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

References native_aa_.

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

References neighbor_count_.

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,
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
virtual
void protocols::optimize_weights::PNatAAOptEPositionData::process_rotamers ( optimization::Multivec const &  vars,
Size const  num_energy_dofs,
EnergyMap const &  fixed_terms,
ScoreTypes const &  score_list,
ScoreTypes const &  fixed_score_list,
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

References cutoff.

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

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)
virtual
void protocols::optimize_weights::PNatAAOptEPositionData::read_from_file ( std::ifstream &  infile)
virtual
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 ( Size  nb_in)
inline

References neighbor_count_.

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

References position_.

virtual Size protocols::optimize_weights::PNatAAOptEPositionData::size ( ) const
inlinevirtual
OptEPositionDataType protocols::optimize_weights::PNatAAOptEPositionData::type ( ) const
virtual
void protocols::optimize_weights::PNatAAOptEPositionData::write_to_binary_file ( std::ofstream &  outfile) const
virtual
void protocols::optimize_weights::PNatAAOptEPositionData::write_to_file ( std::ofstream &  outfile) const
virtual

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().

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

Referenced by position(), and set_position().


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