Rosetta  2020.46
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
core::scoring::func::MixtureFunc Class Reference

Derived class of class Func representing a Mixture of several distinct functions. The function is of the form ln( g(r) / h(r) ), where g(r) is a mixture of a Gaussian and Exponential distributions, and h(r) is a Gaussian distribution. See methods and implementation for more information. More...

#include <MixtureFunc.hh>

Inheritance diagram for core::scoring::func::MixtureFunc:
Inheritance graph
[legend]

Public Member Functions

 MixtureFunc (Real const anchor, Real const gaussian_param, Real const exp_param, Real const mixture_param, Real const bg_mean, Real const bg_sd)
 
FuncOP clone () const override
 returns a clone of this MixtureFunc More...
 
bool operator== (Func const &other) const override
 Equality operator. Looks for strict equality. Floating-point comparison is the rule rather than the exception. More...
 
bool same_type_as_me (Func const &other) const override
 Does the input Func, "other", have the same type as me? Necessary for the equality operator to function correctly. All derived Func classes must implement this function. More...
 
Real func (Real const x) const override
 Returns the value of this MixtureFunc evaluated at distance x. More...
 
Real dfunc (Real const x) const override
 Returns the value of the first derivative of this MixtureFunc at distance x. More...
 
void show_definition (std::ostream &out) const override
 show the definitio of this MixtureFunc to the specified output stream. More...
 
Real dfunc_component (Real const x, Real &g, Real &h, Real &g_prime, Real &h_prime) const
 Function that's used for debugging. Given x, this calculates g(x), h(x), g'(x) and h'(x). More...
 
Real calc_kl_divergence () const
 Calculates the K-L divergence between the inferred and background distributions. More...
 
void show (std::ostream &out) const override
 Prints this MixtureFunc to the given ostream. More...
 
void read_data (std::istream &in) override
 The parameters are: More...
 
Real func_ (Real x) const
 Returns the value of this MixtureFunc evaluated at distance x. More...
 
- Public Member Functions inherited from core::scoring::func::Func
 ~Func () override
 Automatically generated virtual destructor for class deriving directly from VirtualBase. More...
 
bool operator!= (Func const &other) const
 inequality operator – simply the negation of the (virtual) equality operator More...
 
virtual Real estimate_dfunc (Real const r) const
 Estimates the derivative of this function at a given radius by calculating the slope of the secant line from func(r) and func(r+1e-05). More...
 
virtual Real estimate_dfunc (Real const r, Real const h) const
 Estimates the derivative of this function at a given radius by calculating the slope of the secant line from func(r) and func(r+h). More...
 
virtual Size show_violations (std::ostream &out, Real r, Size verbose_level, Real threshold=1) const
 show some sort of stringified representation of the violations for this constraint. More...
 

Private Member Functions

void verify_parameters_ ()
 

Private Attributes

Real rmax_
 
Real fmax_
 
Real anchor_
 
Real gaussian_param_
 
Real exp_param_
 
Real mixture_param_
 
Real bg_mean_
 
Real bg_sd_
 

Friends

std::ostream & operator<< (std::ostream &out, const MixtureFunc &f)
 Calls show( out ) on this MixtureFunc. More...
 

Detailed Description

Derived class of class Func representing a Mixture of several distinct functions. The function is of the form ln( g(r) / h(r) ), where g(r) is a mixture of a Gaussian and Exponential distributions, and h(r) is a Gaussian distribution. See methods and implementation for more information.

Constructor & Destructor Documentation

core::scoring::func::MixtureFunc::MixtureFunc ( Real const  anchor,
Real const  gaussian_param,
Real const  exp_param,
Real const  mixture_param,
Real const  bg_mean,
Real const  bg_sd 
)
inline

Constructor for MixtureFunc. Arguments to the constructor are:

  • anchor: parameter representing the value at which this function is anchored, represents the mean of the Gaussian distribution and the highest point of the exponential distribution.
  • gaussian_param: parameter for Gaussian portion of g(r), representing the standard deviation of a Gaussian distribution around anchor.
  • exp_param: parameter for Exponential portion of g(r), representing the rate at which the exponential distribution drops off from anchor.
  • mixture_param: parameter describing the mixture of the Gaussian and Exponential functions that make up g(r).
  • bg_mean: parameter representing the mean of h(r).
  • bg_sd: parameter representing the standard deviation of h(r).

References anchor_, and verify_parameters_().

Member Function Documentation

Real core::scoring::func::MixtureFunc::calc_kl_divergence ( ) const

Calculates the K-L divergence between the inferred and background distributions.

References core::sequence::end, and protocols::loops::start.

FuncOP core::scoring::func::MixtureFunc::clone ( ) const
inlineoverridevirtual

returns a clone of this MixtureFunc

Implements core::scoring::func::Func.

Real core::scoring::func::MixtureFunc::dfunc ( Real const  x) const
overridevirtual

Returns the value of the first derivative of this MixtureFunc at distance x.

Implements core::scoring::func::Func.

Real core::scoring::func::MixtureFunc::dfunc_component ( Real const  x,
Real g,
Real h,
Real g_prime,
Real h_prime 
) const
Real core::scoring::func::MixtureFunc::func ( Real const  x) const
overridevirtual

Returns the value of this MixtureFunc evaluated at distance x.

Implements core::scoring::func::Func.

References protocols::mean_field::min(), and protocols::hybridization::score.

Real core::scoring::func::MixtureFunc::func_ ( Real  x) const
bool core::scoring::func::MixtureFunc::operator== ( Func const &  other) const
overridevirtual

Equality operator. Looks for strict equality. Floating-point comparison is the rule rather than the exception.

Implements core::scoring::func::Func.

References core::scoring::func::Func::same_type_as_me().

void core::scoring::func::MixtureFunc::read_data ( std::istream &  in)
overridevirtual

The parameters are:

Initializes this MixtureFunc from the given istream. An example of the type of string from which the istream should be constructed is: "MIXTUREFUNC 6.9734 3.598 0.222 0.872 19.396 7.643". The interpretation is to create initialize this MixtureFunc object with the following parameters:

  • anchor 6.9734
  • gaussian_param 3.598
  • exp_param 0.222
  • mixture_param 0.872
  • bg_mean 19.396
  • bg_sd 7.643

Reimplemented from core::scoring::func::Func.

bool core::scoring::func::MixtureFunc::same_type_as_me ( Func const &  other) const
overridevirtual

Does the input Func, "other", have the same type as me? Necessary for the equality operator to function correctly. All derived Func classes must implement this function.

Implements core::scoring::func::Func.

void core::scoring::func::MixtureFunc::show ( std::ostream &  out) const
overridevirtual
void core::scoring::func::MixtureFunc::show_definition ( std::ostream &  out) const
overridevirtual

show the definitio of this MixtureFunc to the specified output stream.

Reimplemented from core::scoring::func::Func.

void core::scoring::func::MixtureFunc::verify_parameters_ ( )
private

Referenced by MixtureFunc().

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const MixtureFunc f 
)
friend

Calls show( out ) on this MixtureFunc.

Member Data Documentation

Real core::scoring::func::MixtureFunc::anchor_
private

Referenced by MixtureFunc().

Real core::scoring::func::MixtureFunc::bg_mean_
private
Real core::scoring::func::MixtureFunc::bg_sd_
private
Real core::scoring::func::MixtureFunc::exp_param_
private
Real core::scoring::func::MixtureFunc::fmax_
private
Real core::scoring::func::MixtureFunc::gaussian_param_
private
Real core::scoring::func::MixtureFunc::mixture_param_
private
Real core::scoring::func::MixtureFunc::rmax_
private

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