Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
core::simple_metrics::StringMetric Class Referenceabstract

A class that is derived to calculate a string value. More...

#include <StringMetric.hh>

Inheritance diagram for core::simple_metrics::StringMetric:
Inheritance graph

Public Member Functions

 StringMetric ()
 ~StringMetric () override
 StringMetric (StringMetric const &other)
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...
virtual std::string calculate (pose::Pose const &pose) const =0
 Calculate the metric. More...
std::string 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...
std::string name () const override=0
 Name of the class. More...
std::string metric () const override=0
 Name of the metric. More...
utility::vector1< std::string > get_metric_names () const override
 Get the metric name that this Metric will calculate. More...
void parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data) override=0
 called by parse_my_tag – should not be used directly More...
SimpleMetricOP clone () const override=0
- 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...
virtual void provide_citation_info (basic::citation_manager::CitationCollectionList &) const
 Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More...

Additional Inherited Members

- Static Public Member Functions inherited from core::simple_metrics::SimpleMetric
complex_type_generator_for_simple_metric (utility::tag::XMLSchemaDefinition &)

Detailed Description

A class that is derived to calculate a string value.

Apply(pose) method calculates this metric and adds it to the pose score for output. Calculate(pose) method returns a string

Constructor & Destructor Documentation

core::simple_metrics::StringMetric::StringMetric ( )
core::simple_metrics::StringMetric::~StringMetric ( )
core::simple_metrics::StringMetric::StringMetric ( StringMetric const &  other)

Member Function Documentation

void core::simple_metrics::StringMetric::apply ( std::string const &  out_label,
pose::Pose pose,
bool  override_existing_data = false 
) const

Calculate the metric and add it to the pose as a score. labeled as out_label.

Score is added to the SimpleMetricData cache in the pose. Data is output into the final score file, but can be accessed if needed through the cache.

Implements core::simple_metrics::SimpleMetric.

References calculate(), core::simple_metrics::get_sm_data(), name(), and core::simple_metrics::throw_sm_override_error().

std::string core::simple_metrics::StringMetric::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.

If use_cache is true, we will attempt to pull the data from the pose. If fail_on_missing_cache is true, we will fail, otherwise, we will calculate the metric.

This function is meant to support caching metrics, so values do not need to be calculated twice, for example in SimpleMetricFilter/Features or code-wise where data takes a while to calculate and can be reused.

References calculate(), core::simple_metrics::SimpleMetric::get_final_sm_type(), core::simple_metrics::get_sm_data(), core::simple_metrics::has_sm_data(), and name().

Referenced by protocols::simple_filters::SimpleMetricFilter::apply(), and protocols::features::SimpleMetricFeatures::report_general_features().

virtual std::string core::simple_metrics::StringMetric::calculate ( pose::Pose const &  pose) const
pure virtual
SimpleMetricOP core::simple_metrics::StringMetric::clone ( ) const
overridepure virtual
utility::vector1< std::string > core::simple_metrics::StringMetric::get_metric_names ( ) const

Get the metric name that this Metric will calculate.

Implements core::simple_metrics::SimpleMetric.

References metric().

std::string core::simple_metrics::StringMetric::metric ( ) const
overridepure virtual
std::string core::simple_metrics::StringMetric::name ( ) const
overridepure virtual
void core::simple_metrics::StringMetric::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap &  data 
overridepure virtual

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