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

A class that is derived to calculate a set of string values. Apply(pose) method calculates this metric and adds it to the pose score for output. More...

#include <PerResidueStringMetric.hh>

Inheritance diagram for core::simple_metrics::PerResidueStringMetric:
Inheritance graph
[legend]

Public Member Functions

 PerResidueStringMetric ()
 
 ~PerResidueStringMetric () override
 
 PerResidueStringMetric (PerResidueStringMetric 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. calc_name is the individual component of the composite values calculated here. More...
 
virtual std::map< core::Size,
std::string > 
calculate (pose::Pose const &pose) const =0
 Calculate the metric. This map is Rosetta Resnum->value and includes only those residues selected. More...
 
std::map< core::Size, std::string > cached_calculate (pose::Pose const &pose, bool use_cache, std::string prefix="", std::string suffix="", bool fail_on_missing_cache=true, bool use_ref_pose_for_cache=true) const
 Grab the data from the pose if it exists or calculate the metric. More...
 
void set_residue_selector (select::residue_selector::ResidueSelectorCOP selector)
 Set a ResidueSelector for which we will calculate values over. More...
 
void set_output_as_pdb_nums (bool output_as_pdb_nums)
 Set to output in PDB numbering instead of Rosetta during the Apply function, which adds the data to pose as extra scores. 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 submetric names 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
 
virtual void parse_per_residue_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data)
 Parse the base class tag. Keep required interface for parse_my_tag. 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...
 
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...
 

Static Public Member Functions

static void add_schema (utility::tag::XMLSchemaComplexTypeGeneratorOP complex_schema)
 Add options to the schema from this base class. More...
 
- Static Public Member Functions inherited from core::simple_metrics::SimpleMetric
static
utility::tag::XMLSchemaComplexTypeGeneratorOP 
complex_type_generator_for_simple_metric (utility::tag::XMLSchemaDefinition &)
 

Private Attributes

select::residue_selector::ResidueSelectorCOP selector_ = nullptr
 
bool output_as_pdb_nums_ = false
 

Detailed Description

A class that is derived to calculate a set of string values. Apply(pose) method calculates this metric and adds it to the pose score for output.

Calculate(pose) method calculates multiple string values and returns them as a map<string, string> Name:Value

Constructor & Destructor Documentation

core::simple_metrics::PerResidueStringMetric::PerResidueStringMetric ( )

References selector_.

core::simple_metrics::PerResidueStringMetric::~PerResidueStringMetric ( )
overridedefault
core::simple_metrics::PerResidueStringMetric::PerResidueStringMetric ( PerResidueStringMetric const &  other)

Member Function Documentation

void core::simple_metrics::PerResidueStringMetric::add_schema ( utility::tag::XMLSchemaComplexTypeGeneratorOP  complex_schema)
static
void core::simple_metrics::PerResidueStringMetric::apply ( std::string const &  out_label,
pose::Pose pose,
bool  override_existing_data = false 
) const
overridevirtual

Calculate the metric and add it to the pose as a score. labeled as out_label. calc_name is the individual component of the composite values calculated here.

Score is added to the SimpleMetricData cache in the pose. A ReferencePose is created with out_label as a name for further access. Data is added to the final score file.

Implements core::simple_metrics::SimpleMetric.

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

std::map< core::Size, std::string > core::simple_metrics::PerResidueStringMetric::cached_calculate ( pose::Pose const &  pose,
bool  use_cache,
std::string  prefix = "",
std::string  suffix = "",
bool  fail_on_missing_cache = true,
bool  use_ref_pose_for_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.

If we cached the data, we have created a ref-pose and can match the current resnums with our refpose resnums using the use_ref_pose_for_cache option. This allows us to delete residues and still retain the given data to match.

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

virtual std::map< core::Size, std::string > core::simple_metrics::PerResidueStringMetric::calculate ( pose::Pose const &  pose) const
pure virtual

Calculate the metric. This map is Rosetta Resnum->value and includes only those residues selected.

Return by value as this function can not STORE the result, it only calculates. Store the result in the pose by using the apply method, which calls this method and stores the result in the pose as ExtraScoreValues.

Implemented in core::simple_metrics::TestPerResidueStringMetric.

Referenced by apply(), and cached_calculate().

SimpleMetricOP core::simple_metrics::PerResidueStringMetric::clone ( ) const
overridepure virtual
utility::vector1< std::string > core::simple_metrics::PerResidueStringMetric::get_metric_names ( ) const
overridevirtual

Get the submetric names that this Metric will calculate.

Implements core::simple_metrics::SimpleMetric.

References metric().

std::string core::simple_metrics::PerResidueStringMetric::metric ( ) const
overridepure virtual
std::string core::simple_metrics::PerResidueStringMetric::name ( ) const
overridepure virtual

Name of the class.

Implements core::simple_metrics::SimpleMetric.

Implemented in core::simple_metrics::TestPerResidueStringMetric.

Referenced by apply(), and cached_calculate().

void core::simple_metrics::PerResidueStringMetric::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap &  data 
)
overridepure virtual

called by parse_my_tag – should not be used directly

Implements core::simple_metrics::SimpleMetric.

Implemented in core::simple_metrics::TestPerResidueStringMetric.

void core::simple_metrics::PerResidueStringMetric::parse_per_residue_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap &  data 
)
virtual

Parse the base class tag. Keep required interface for parse_my_tag.

References core::select::residue_selector::parse_residue_selector(), set_output_as_pdb_nums(), and set_residue_selector().

void core::simple_metrics::PerResidueStringMetric::set_output_as_pdb_nums ( bool  output_as_pdb_nums)

Set to output in PDB numbering instead of Rosetta during the Apply function, which adds the data to pose as extra scores.

References output_as_pdb_nums_.

Referenced by parse_per_residue_tag().

void core::simple_metrics::PerResidueStringMetric::set_residue_selector ( select::residue_selector::ResidueSelectorCOP  selector)

Set a ResidueSelector for which we will calculate values over.

References selector_.

Referenced by parse_per_residue_tag(), and protocols::features::SimpleMetricFeatures::report_per_residue_features().

Member Data Documentation

bool core::simple_metrics::PerResidueStringMetric::output_as_pdb_nums_ = false
private

Referenced by apply(), and set_output_as_pdb_nums().

select::residue_selector::ResidueSelectorCOP core::simple_metrics::PerResidueStringMetric::selector_ = nullptr
private

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