Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::pack_daemon::EntityFunc Class Reference

#include <DynamicAggregateFunction.hh>

Inheritance diagram for protocols::pack_daemon::EntityFunc:
Inheritance graph
[legend]

Public Types

typedef utility::VirtualBase parent
 
typedef
protocols::genetic_algorithm::Entity 
Entity
 
typedef
numeric::expression_parser::Expression 
Expression
 
typedef
numeric::expression_parser::ExpressionOP 
ExpressionOP
 
typedef
numeric::expression_parser::ExpressionCOP 
ExpressionCOP
 
typedef
numeric::expression_parser::VariableExpression 
VariableExpression
 
typedef
numeric::expression_parser::VariableExpressionOP 
VariableExpressionOP
 
typedef
numeric::expression_parser::VariableExpressionCOP 
VariableExpressionCOP
 
typedef
numeric::expression_parser::ArithmeticASTExpressionOP 
ArithmeticASTExpressionOP
 
typedef core::Size Size
 

Public Member Functions

 EntityFunc ()
 
 ~EntityFunc () override
 
void set_num_entity_elements (core::Size num_ee)
 
void initialize_from_input_file (std::istream &input)
 
core::Real evaluate (Entity const &entity, bool verbose=false)
 
ExpressionCOP variable_expression (numeric::expression_parser::ArithmeticASTValue const &) const
 
ExpressionCOP function_expression (numeric::expression_parser::FunctionTokenCOP function, utility::vector1< ExpressionCOP > const &args) const
 

Private Member Functions

void initialize_scanner_and_function_names ()
 
void process_AA_SET_line (std::string const &line, core::Size line_number, std::istream &input_line)
 
void process_SET_CONDITION_line (std::string const &line, core::Size line_number, std::istream &input_line)
 
void process_SUB_EXPRESSION_line (std::string const &line, core::Size line_number, std::istream &input_line, std::map< std::string, ArithmeticASTExpressionOP > &expression_asts)
 
void process_SCORE_line (std::string const &line, core::Size line_number, std::istream &input_line, ArithmeticASTExpressionOP &score_expression_ast)
 
void turn_expression_ASTs_into_expressions (std::map< std::string, ArithmeticASTExpressionOP > const &expression_asts, ArithmeticASTExpressionOP score_expression_ast)
 
void assign_entity_sequence_to_variables (Entity const &entity)
 

Private Attributes

core::Size num_entity_elements_
 
utility::vector1
< VariableExpressionOP
entity_aas_
 
std::map< std::string,
utility::vector1< core::Real > > 
aa_sets_name_map_
 
std::map< std::string, core::Sizeaa_sets_dec_line_
 
std::map< std::string,
ExpressionCOP
subexpression_name_map_
 
std::map< std::string, core::Sizesubexpression_name_dec_line_
 
std::map< std::string,
VariableExpressionOP
variable_expression_map_
 
utility::vector1< std::pair
< ExpressionCOP,
SurrogateVariableExpressionOP > > 
expression_evaluation_order_
 
ExpressionCOP score_expression_
 
numeric::expression_parser::ArithmeticScannerOP scanner_
 
std::set< std::string > function_names_
 Function names may not be used as variable names. More...
 
std::set< std::string > illegal_variable_names_
 

Member Typedef Documentation

typedef numeric::expression_parser::ArithmeticASTExpressionOP protocols::pack_daemon::EntityFunc::ArithmeticASTExpressionOP
typedef numeric::expression_parser::Expression protocols::pack_daemon::EntityFunc::Expression
typedef numeric::expression_parser::ExpressionCOP protocols::pack_daemon::EntityFunc::ExpressionCOP
typedef numeric::expression_parser::ExpressionOP protocols::pack_daemon::EntityFunc::ExpressionOP
typedef utility::VirtualBase protocols::pack_daemon::EntityFunc::parent
typedef numeric::expression_parser::VariableExpression protocols::pack_daemon::EntityFunc::VariableExpression
typedef numeric::expression_parser::VariableExpressionCOP protocols::pack_daemon::EntityFunc::VariableExpressionCOP
typedef numeric::expression_parser::VariableExpressionOP protocols::pack_daemon::EntityFunc::VariableExpressionOP

Constructor & Destructor Documentation

protocols::pack_daemon::EntityFunc::EntityFunc ( )
protocols::pack_daemon::EntityFunc::~EntityFunc ( )
overridedefault

Member Function Documentation

void protocols::pack_daemon::EntityFunc::assign_entity_sequence_to_variables ( Entity const &  entity)
private
core::Real protocols::pack_daemon::EntityFunc::evaluate ( Entity const &  entity,
bool  verbose = false 
)
ExpressionCOP protocols::pack_daemon::EntityFunc::function_expression ( numeric::expression_parser::FunctionTokenCOP  function,
utility::vector1< ExpressionCOP > const &  args 
) const
void protocols::pack_daemon::EntityFunc::initialize_from_input_file ( std::istream &  input)
void protocols::pack_daemon::EntityFunc::initialize_scanner_and_function_names ( )
private
void protocols::pack_daemon::EntityFunc::process_AA_SET_line ( std::string const &  line,
core::Size  line_number,
std::istream &  input_line 
)
private
void protocols::pack_daemon::EntityFunc::process_SCORE_line ( std::string const &  line,
core::Size  line_number,
std::istream &  input_line,
ArithmeticASTExpressionOP score_expression_ast 
)
private
void protocols::pack_daemon::EntityFunc::process_SET_CONDITION_line ( std::string const &  line,
core::Size  line_number,
std::istream &  input_line 
)
private
void protocols::pack_daemon::EntityFunc::process_SUB_EXPRESSION_line ( std::string const &  line,
core::Size  line_number,
std::istream &  input_line,
std::map< std::string, ArithmeticASTExpressionOP > &  expression_asts 
)
private
void protocols::pack_daemon::EntityFunc::set_num_entity_elements ( core::Size  num_ee)

References num_entity_elements_.

void protocols::pack_daemon::EntityFunc::turn_expression_ASTs_into_expressions ( std::map< std::string, ArithmeticASTExpressionOP > const &  expression_asts,
ArithmeticASTExpressionOP  score_expression_ast 
)
private
ExpressionCOP protocols::pack_daemon::EntityFunc::variable_expression ( numeric::expression_parser::ArithmeticASTValue const &  ) const

Member Data Documentation

std::map< std::string, core::Size > protocols::pack_daemon::EntityFunc::aa_sets_dec_line_
private
std::map< std::string, utility::vector1< core::Real > > protocols::pack_daemon::EntityFunc::aa_sets_name_map_
private
utility::vector1< VariableExpressionOP > protocols::pack_daemon::EntityFunc::entity_aas_
private
utility::vector1< std::pair< ExpressionCOP, SurrogateVariableExpressionOP > > protocols::pack_daemon::EntityFunc::expression_evaluation_order_
private

Evaluate the subexpressions and then store them in the surrogate variable expressions in order.

Referenced by evaluate(), process_SET_CONDITION_line(), process_SUB_EXPRESSION_line(), and turn_expression_ASTs_into_expressions().

std::set< std::string > protocols::pack_daemon::EntityFunc::function_names_
private
std::set< std::string > protocols::pack_daemon::EntityFunc::illegal_variable_names_
private

This set represents strings that may not be used as variable names but which are not funciton names

Referenced by initialize_scanner_and_function_names(), process_AA_SET_line(), process_SET_CONDITION_line(), and process_SUB_EXPRESSION_line().

core::Size protocols::pack_daemon::EntityFunc::num_entity_elements_
private
numeric::expression_parser::ArithmeticScannerOP protocols::pack_daemon::EntityFunc::scanner_
private
ExpressionCOP protocols::pack_daemon::EntityFunc::score_expression_
private
std::map< std::string, core::Size > protocols::pack_daemon::EntityFunc::subexpression_name_dec_line_
private
std::map< std::string, ExpressionCOP > protocols::pack_daemon::EntityFunc::subexpression_name_map_
private
std::map< std::string, VariableExpressionOP > protocols::pack_daemon::EntityFunc::variable_expression_map_
private

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