Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
protocols
multistate_design
MultiStateFitnessFunction.hh
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
//
4
// (c) Copyright Rosetta Commons Member Institutions.
5
// (c) This file is part of the Rosetta software suite and is made available under license.
6
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9
10
/// @file MultiStateFitnessFunction.hh
11
/// @brief
12
/// @author ashworth
13
14
#ifndef INCLUDED_protocols_multistate_design_MultiStateFitnessFunction_hh
15
#define INCLUDED_protocols_multistate_design_MultiStateFitnessFunction_hh
16
17
#include <
protocols/genetic_algorithm/Entity.fwd.hh
>
18
#include <
protocols/genetic_algorithm/FitnessFunction.hh
>
19
20
#include <
protocols/multistate_design/SingleState.fwd.hh
>
21
// AUTO-REMOVED #include <protocols/multistate_design/MultiStateEntity.fwd.hh>
22
23
#include <
core/pose/Pose.fwd.hh
>
24
#include <
core/scoring/ScoreFunction.fwd.hh
>
25
26
#include <
protocols/multistate_design/MultiStateAggregateFunction.hh
>
27
// AUTO-REMOVED #include <protocols/toolbox/PoseMetricCalculators/MetricValueGetter.hh>
28
29
#include <
core/types.hh
>
30
// AUTO-REMOVED #include <utility/vector1.hh>
31
#include <utility/pointer/owning_ptr.hh>
32
33
#include <
protocols/multistate_design/MultiStateFitnessFunction.fwd.hh
>
34
#include <
protocols/toolbox/pose_metric_calculators/MetricValueGetter.fwd.hh
>
35
#include <utility/vector1.hh>
36
#include <map>
37
38
#ifdef WIN32
39
#include <
protocols/multistate_design/SingleState.hh
>
40
#include <
core/pose/Pose.hh
>
41
#endif
42
43
44
namespace
protocols {
45
namespace
multistate_design {
46
47
class
MultiStateFitnessFunction
:
public
genetic_algorithm::FitnessFunction
{
48
49
public
:
50
typedef
utility::pointer::owning_ptr< MultiStateFitnessFunction >
OP
;
51
52
MultiStateFitnessFunction
();
53
virtual
~MultiStateFitnessFunction
();
54
55
virtual
void
add_state
(
SingleStateOP
state );
56
virtual
void
add_state
(
core::pose::Pose
const
& pose,
bool
is_positive );
57
58
virtual
core::Real
evaluate
(
protocols::genetic_algorithm::Entity
& entity );
59
virtual
core::Real
evaluate
(
protocols::genetic_algorithm::Entity
& entity,
core::Size
single_state_num ) = 0;
60
virtual
core::Real
evaluate_positive_states
(
protocols::genetic_algorithm::Entity
& entity );
61
62
virtual
void
set_aggregate_function
(
MultiStateAggregateFunction::COP
aggregate_function
);
63
virtual
MultiStateAggregateFunction::COP
aggregate_function
()
const
;
64
65
virtual
void
set_scorefxn
(
core::scoring::ScoreFunctionCOP
sf );
66
virtual
core::scoring::ScoreFunctionCOP
scorefxn
()
const
;
67
68
///@brief true const (read only) access to states
69
virtual
SingleStateCOPs
const_states
(
bool
positive_only =
false
)
const
;
70
virtual
SingleStateCOPs
positive_states
()
const
;
71
72
virtual
core::Size
num_states
()
const
{
return
states_
.size(); }
73
virtual
core::Size
num_states
(
bool
pos_neg )
const
;
74
virtual
core::Size
num_positive_states
()
const
{
return
num_states
(
true
); }
75
virtual
core::Size
num_negative_states
()
const
{
return
num_states
(
false
); }
76
77
virtual
void
add_metric_value_getter
(
78
std::string
const
& name,
79
protocols::toolbox::pose_metric_calculators::MetricValueGetter
const
& metric_value_getter
80
);
81
82
protected
:
83
typedef
std::map<std::string, protocols::toolbox::pose_metric_calculators::MetricValueGetter>
MetricValueGetterMap
;
84
85
virtual
SingleStateOPs
&
states
();
86
MetricValueGetterMap
const
&
metric_value_getters
()
const
;
87
88
private
:
89
SingleStateOPs
states_
;
90
MultiStateAggregateFunction::COP
aggregate_function_
;
91
core::scoring::ScoreFunctionCOP
scorefxn_
;
92
// pose(s) to track most fit trait set in real time (such as for graphics)
93
utility::vector1< core::pose::PoseOP >
best_entity_positive_states_
;
94
core::Real
best_fitness_
;
95
MetricValueGetterMap
metric_value_getters_
;
96
};
97
98
}
// namespace multistate_design
99
}
// namespace protocols
100
101
#endif
Generated on Sat Jun 1 2013 12:00:43 for Rosetta 3.5 by
1.8.4