Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
core::sequence::ProfSimScoringScheme Class Reference

#include <ProfSimScoringScheme.hh>

Inheritance diagram for core::sequence::ProfSimScoringScheme:
Inheritance graph
[legend]

Public Member Functions

 ProfSimScoringScheme (Real open=-4, Real extend=-1)
 constructor More...
 
 ~ProfSimScoringScheme () override=default
 destructor More...
 
void initialize_parameters ()
 Initialize log-probabilities of occurence for each amino acid. More...
 
ScoringSchemeOP clone () const override
 returns owning pointer to a new object with a deep copy of this object's values. More...
 
Real score (SequenceOP seq1, SequenceOP seq2, Size pos1, Size pos2) override
 ProfSim profile-profile similarity metric based on information theory. Published by Yona and Levitt in JMB, 2002 in a paper titled "Within the Twilight Zone: A Sensitive Profile-Profile Comparison Tool Based on Information Theory.". More...
 
- Public Member Functions inherited from core::sequence::ScoringScheme
 ScoringScheme ()
 ctor More...
 
 ~ScoringScheme () override
 dtor More...
 
virtual void read_from_file (utility::file::FileName const &)
 Initialize from a file. More...
 
virtual void read_data (utility::io::izstream &)
 
virtual Real gap_open () const
 Gets the gap opening penalty. More...
 
virtual Real gap_extend () const
 Gets the gap extension penalty. More...
 
void gap_open (Real const gap_open)
 Sets the gap opening penalty. More...
 
void gap_extend (Real const gap_extend)
 Sets the gap extension penalty. More...
 
std::string type () const
 getters for type, which is a unique string name for this object. More...
 
void type (std::string new_type)
 getters for type, which is a unique string name for this object. More...
 
void unimplemented_method_error (std::string const &method_name) const
 Utility method for producing useful error messages and exiting from program. Declared const which is funny, because exiting the program certainly changes the state of this object! This might be replaced with exception handling if we ever start using those. More...
 
bool is_good (Real const &num)
 

Private Attributes

utility::vector1< core::Realprior_probs_
 

Constructor & Destructor Documentation

core::sequence::ProfSimScoringScheme::ProfSimScoringScheme ( Real  open = -4,
Real  extend = -1 
)
inline
core::sequence::ProfSimScoringScheme::~ProfSimScoringScheme ( )
overridedefault

destructor

Member Function Documentation

ScoringSchemeOP core::sequence::ProfSimScoringScheme::clone ( ) const
inlineoverridevirtual

returns owning pointer to a new object with a deep copy of this object's values.

Implements core::sequence::ScoringScheme.

References core::sequence::ScoringScheme::gap_extend(), and core::sequence::ScoringScheme::gap_open().

void core::sequence::ProfSimScoringScheme::initialize_parameters ( )

Initialize log-probabilities of occurence for each amino acid.

References protocols::cluster::calibur::aa, core::chemical::aa_from_oneletter_code(), core::sequence::end, and prior_probs_.

Referenced by ProfSimScoringScheme().

Real core::sequence::ProfSimScoringScheme::score ( SequenceOP  seq1,
SequenceOP  seq2,
Size  pos1,
Size  pos2 
)
overridevirtual

ProfSim profile-profile similarity metric based on information theory. Published by Yona and Levitt in JMB, 2002 in a paper titled "Within the Twilight Zone: A Sensitive Profile-Profile Comparison Tool Based on Information Theory.".

The basic idea for this score is that it incorporates both divergence of probability distributions at each position and the significance of that divergence in order to construct a position-specific profile-profile score. The divergence score is the J-S divergence between the two probability distributions at probability position, and the significance score is the J-S divergence between:

  1. the average of the two probability distributions at this position
  2. a prior probability distribution over all allowed characters at this position. J-S divergence between two distributions is defined as: D( p1, p2 ) = 0.5 * sum( p1[i] * log( p1[i] / p2[i] ) ) + 0.5 * sum( p2[i] * log( p2[i] / p1[i] ) )

Implements core::sequence::ScoringScheme.

References prior_probs_.

Member Data Documentation

utility::vector1< core::Real > core::sequence::ProfSimScoringScheme::prior_probs_
private

Referenced by initialize_parameters(), and score().


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