Rosetta
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | List of all members
protocols::esm_perplexity::PseudoPerplexityMetric Class Reference

A metric for calculating the (pseudo-)perplexity of a sequence. More...

#include <PseudoPerplexityMetric.hh>

Inheritance diagram for protocols::esm_perplexity::PseudoPerplexityMetric:
Inheritance graph
[legend]

Public Member Functions

 PseudoPerplexityMetric ()
 Constructors ///. More...
 
 PseudoPerplexityMetric (core::simple_metrics::PerResidueProbabilitiesMetricCOP metric)
 
 PseudoPerplexityMetric (PseudoPerplexityMetric const &src)
 Copy constructor (not needed unless you need deep copies) More...
 
 ~PseudoPerplexityMetric () override
 Destructor (important for properly forward-declaring smart-pointer members) More...
 
core::Real calculate (core::pose::Pose const &pose) const override
 Metric Methods ///. More...
 
std::string name () const override
 Name of the class. More...
 
std::string metric () const override
 Name of the metric. More...
 
void set_metric (core::simple_metrics::PerResidueProbabilitiesMetricCOP metric)
 Set the PerResidueProbabilitiesMetric that will be used to calculate the pseudo-perplexity. More...
 
void set_use_cached_data (bool use_cache, std::string const &prefix="", std::string const &suffix="")
 Set a boolean to attempt to find cached data matching the name/custom_type of the passed in simple_metric. Optionally pass any set prefix/suffix. More...
 
void set_fail_on_missing_cache (bool fail)
 If use_cache is set to false, do we fail if no data is found in the pose? Default True. More...
 
void parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data) override
 called by parse_my_tag – should not be used directly More...
 
core::simple_metrics::SimpleMetricOP clone () const override
 
- Public Member Functions inherited from core::simple_metrics::RealMetric
 RealMetric ()
 
 ~RealMetric () override
 
 RealMetric (RealMetric const &other)
 
RealMetricoperator= (RealMetric const &)
 
void apply (std::string const &out_label, pose::Pose &pose, bool override_existing_data=false) const override
 Calculate the metric and add it to the pose as a score. labeled as out_label. More...
 
core::Real cached_calculate (pose::Pose const &pose, bool use_cache, std::string prefix="", std::string suffix="", bool fail_on_missing_cache=true) const
 Grab the data from the pose if it exists or calculate the metric. More...
 
utility::vector1< std::string > get_metric_names () const override
 Get the metric name(s) that this Metric will calculate. More...
 
virtual void apply (std::string const &out_label, pose::Pose &pose, bool override_existing_data=false) const=0
 Calculate the metric and add it to the Score, which is output into a scorefile - labeled as label Must be implemented by derived classes. More...
 
void apply (pose::Pose &pose, std::string const &prefix="", std::string const &suffix="", bool override_existing_data=false) const
 Calculate the metric and add it to the Score, which is output into a scorefile - labeled as prefix+metric+suffix. More...
 
- Public Member Functions inherited from core::simple_metrics::SimpleMetric
 SimpleMetric (std::string const &simple_metric_type)
 
 ~SimpleMetric () override
 
 SimpleMetric (SimpleMetric const &other)
 
SimpleMetricoperator= (SimpleMetric const &)
 
void apply (pose::Pose &pose, std::string const &prefix="", std::string const &suffix="", bool override_existing_data=false) const
 Calculate the metric and add it to the Score, which is output into a scorefile - labeled as prefix+metric+suffix. More...
 
void set_custom_type (std::string const &custom_type)
 
std::string get_custom_type () const
 Additional setting to prefix/suffix. More...
 
virtual void parse_base_tag (utility::tag::TagCOP tag)
 Parse the base class tag. Keep required interface for parse_my_tag. More...
 
std::string simple_metric_type () const
 
std::string get_final_sm_type () const
 Get the final name of this metric including its simple_metric_type_ name and any set custom type. More...
 

Static Public Member Functions

static std::string name_static ()
 Name of the class for creator. More...
 
static core::Real compute_perplexity (core::pose::Pose const &pose, std::map< core::Size, std::map< core::chemical::AA, core::Real >> const &values)
 Function to return the (pseudo-)perplexity from a map of probabilities. More...
 
static void provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd)
 
- Static Public Member Functions inherited from core::simple_metrics::SimpleMetric
static utility::tag::XMLSchemaComplexTypeGeneratorOP complex_type_generator_for_simple_metric (utility::tag::XMLSchemaDefinition &)
 

Public Attributes

core::simple_metrics::PerResidueProbabilitiesMetricCOP metric_ = nullptr
 
bool use_cache_ = false
 
std::string cache_prefix_
 
std::string cache_suffix_
 
bool fail_on_missing_cache_ = true
 

Private Member Functions

void provide_citation_info (basic::citation_manager::CitationCollectionList &citations) const override
 This metric is unpublished. It returns Moritz Ertelt as its author. More...
 

Detailed Description

A metric for calculating the (pseudo-)perplexity of a sequence.

Constructor & Destructor Documentation

◆ PseudoPerplexityMetric() [1/3]

protocols::esm_perplexity::PseudoPerplexityMetric::PseudoPerplexityMetric ( )

Constructors ///.

Default constructor

◆ PseudoPerplexityMetric() [2/3]

protocols::esm_perplexity::PseudoPerplexityMetric::PseudoPerplexityMetric ( core::simple_metrics::PerResidueProbabilitiesMetricCOP  metric)

References metric(), and set_metric().

◆ PseudoPerplexityMetric() [3/3]

protocols::esm_perplexity::PseudoPerplexityMetric::PseudoPerplexityMetric ( PseudoPerplexityMetric const &  src)
default

Copy constructor (not needed unless you need deep copies)

Copy constructor.

◆ ~PseudoPerplexityMetric()

protocols::esm_perplexity::PseudoPerplexityMetric::~PseudoPerplexityMetric ( )
overridedefault

Destructor (important for properly forward-declaring smart-pointer members)

Member Function Documentation

◆ calculate()

core::Real protocols::esm_perplexity::PseudoPerplexityMetric::calculate ( core::pose::Pose const &  pose) const
overridevirtual

Metric Methods ///.

Calculate the metric.

Implements core::simple_metrics::RealMetric.

References cache_prefix_, cache_suffix_, compute_perplexity(), fail_on_missing_cache_, metric_, and use_cache_.

◆ clone()

core::simple_metrics::SimpleMetricOP protocols::esm_perplexity::PseudoPerplexityMetric::clone ( ) const
overridevirtual

◆ compute_perplexity()

core::Real protocols::esm_perplexity::PseudoPerplexityMetric::compute_perplexity ( core::pose::Pose const &  pose,
std::map< core::Size, std::map< core::chemical::AA, core::Real >> const &  values 
)
static

Function to return the (pseudo-)perplexity from a map of probabilities.

Takes a map of amino acid probabilities, gets the amino acid present in the pose, add the logarithm of its probability to a sum and then returns the exp of the negative ratio of this sum divided by the total length.

Parameters
[in]poseThe pose used to refer which core::chemical::AA types are actually present
[in]valuesThe resulting values of a PerResidueProbabilitiesMetric
Returns
A core::Real value representing the pseud-perplexity

References core::conformation::Residue::aa(), core::chemical::aa_unk, and core::pose::Pose::residue().

Referenced by calculate().

◆ metric()

std::string protocols::esm_perplexity::PseudoPerplexityMetric::metric ( ) const
overridevirtual

Name of the metric.

Implements core::simple_metrics::RealMetric.

References name_static().

Referenced by parse_my_tag(), PseudoPerplexityMetric(), and set_metric().

◆ name()

std::string protocols::esm_perplexity::PseudoPerplexityMetric::name ( ) const
overridevirtual

Name of the class.

Implements core::simple_metrics::RealMetric.

References name_static().

◆ name_static()

std::string protocols::esm_perplexity::PseudoPerplexityMetric::name_static ( )
static

◆ parse_my_tag()

void protocols::esm_perplexity::PseudoPerplexityMetric::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap data 
)
overridevirtual

◆ provide_citation_info()

void protocols::esm_perplexity::PseudoPerplexityMetric::provide_citation_info ( basic::citation_manager::CitationCollectionList &  citations) const
overrideprivatevirtual

This metric is unpublished. It returns Moritz Ertelt as its author.

Reimplemented from core::simple_metrics::SimpleMetric.

◆ provide_xml_schema()

void protocols::esm_perplexity::PseudoPerplexityMetric::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static

◆ set_fail_on_missing_cache()

void protocols::esm_perplexity::PseudoPerplexityMetric::set_fail_on_missing_cache ( bool  fail)

If use_cache is set to false, do we fail if no data is found in the pose? Default True.

References fail_on_missing_cache_.

Referenced by parse_my_tag().

◆ set_metric()

void protocols::esm_perplexity::PseudoPerplexityMetric::set_metric ( core::simple_metrics::PerResidueProbabilitiesMetricCOP  metric)

Set the PerResidueProbabilitiesMetric that will be used to calculate the pseudo-perplexity.

References metric(), and metric_.

Referenced by parse_my_tag(), and PseudoPerplexityMetric().

◆ set_use_cached_data()

void protocols::esm_perplexity::PseudoPerplexityMetric::set_use_cached_data ( bool  use_cache,
std::string const &  prefix = "",
std::string const &  suffix = "" 
)

Set a boolean to attempt to find cached data matching the name/custom_type of the passed in simple_metric. Optionally pass any set prefix/suffix.

This will allow the filter to re-use previously calculated data.

References cache_prefix_, cache_suffix_, protocols::TR(), and use_cache_.

Referenced by parse_my_tag().

Member Data Documentation

◆ cache_prefix_

std::string protocols::esm_perplexity::PseudoPerplexityMetric::cache_prefix_

Referenced by calculate(), and set_use_cached_data().

◆ cache_suffix_

std::string protocols::esm_perplexity::PseudoPerplexityMetric::cache_suffix_

Referenced by calculate(), and set_use_cached_data().

◆ fail_on_missing_cache_

bool protocols::esm_perplexity::PseudoPerplexityMetric::fail_on_missing_cache_ = true

◆ metric_

core::simple_metrics::PerResidueProbabilitiesMetricCOP protocols::esm_perplexity::PseudoPerplexityMetric::metric_ = nullptr

Referenced by calculate(), and set_metric().

◆ use_cache_

bool protocols::esm_perplexity::PseudoPerplexityMetric::use_cache_ = false

Referenced by calculate(), and set_use_cached_data().


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