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
core
scoring
methods
SecondaryStructureEnergy.cc
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 core/scoring/methods/SecondaryStructureEnergy.cc
11
/// @brief Statistically derived rotamer pair potential class implementation
12
/// @author Phil Bradley
13
/// @author Andrew Leaver-Fay
14
15
16
// Unit headers
17
#include <
core/scoring/methods/SecondaryStructureEnergy.hh
>
18
#include <
core/scoring/methods/SecondaryStructureEnergyCreator.hh
>
19
20
// Package headers
21
#include <
core/scoring/SecondaryStructurePotential.hh
>
22
#include <
core/scoring/ScoreFunction.hh
>
23
#include <
core/scoring/ScoringManager.hh
>
24
#include <
core/scoring/methods/EnergyMethodOptions.hh
>
25
26
// Project headers
27
#include <
core/pose/Pose.hh
>
28
29
#include <utility/vector1.hh>
30
31
32
33
34
// Utility headers
35
36
37
38
// C++
39
40
41
namespace
core {
42
namespace
scoring {
43
namespace
methods {
44
45
46
/// @details This must return a fresh instance of the SecondaryStructureEnergy class,
47
/// never an instance already in use
48
methods::EnergyMethodOP
49
SecondaryStructureEnergyCreator::create_energy_method
(
50
methods::EnergyMethodOptions
const
&
51
)
const
{
52
return
new
SecondaryStructureEnergy
;
53
}
54
55
ScoreTypes
56
SecondaryStructureEnergyCreator::score_types_for_method
()
const
{
57
ScoreTypes
sts;
58
sts.push_back(
hs_pair
);
59
sts.push_back(
ss_pair
);
60
sts.push_back(
rsigma
);
61
sts.push_back(
sheet
);
62
return
sts;
63
}
64
65
66
/// c-tor
67
SecondaryStructureEnergy::SecondaryStructureEnergy
() :
68
parent
( new
SecondaryStructureEnergyCreator
),
69
potential_(
ScoringManager
::get_instance()->get_SecondaryStructurePotential() )
70
{}
71
72
73
/// c-tor
74
SecondaryStructureEnergy::SecondaryStructureEnergy
(
SecondaryStructureEnergy
const
& src ):
75
parent
( src),
76
potential_( src.potential_ )
77
{}
78
79
80
/// clone
81
EnergyMethodOP
82
SecondaryStructureEnergy::clone
()
const
83
{
84
return
new
SecondaryStructureEnergy
( *
this
);
85
}
86
87
88
/////////////////////////////////////////////////////////////////////////////
89
// scoring
90
/////////////////////////////////////////////////////////////////////////////
91
92
93
///
94
void
95
SecondaryStructureEnergy::setup_for_scoring
(
pose::Pose
& pose,
ScoreFunction
const
& )
const
96
{
97
//std::cout << "SecondaryStructureEnergy::setup_for_scoring" << std::endl;
98
pose.
update_residue_neighbors
();
99
potential_
.
setup_for_scoring
( pose );
100
}
101
102
103
/// all scoring happens here
104
void
105
SecondaryStructureEnergy::finalize_total_energy
(
106
pose::Pose
& pose,
107
ScoreFunction
const
& scorefxn,
108
EnergyMap
& totals
109
)
const
110
{
111
//std::cout << "SecondaryStructureEnergy::finalize_total_energy" << std::endl;
112
Real
hs_score, ss_score, rsigma_score, sheet_score;
113
114
potential_
.
score
(
115
pose, scorefxn.
energy_method_options
().
secondary_structure_weights
(),
116
hs_score, ss_score, rsigma_score, sheet_score );
117
118
totals[
hs_pair
] = hs_score;
119
totals[
ss_pair
] = ss_score;
120
totals[
rsigma
] = rsigma_score;
121
totals[
sheet
] = sheet_score;
122
//std::cout << "hs_score: " << hs_score << " ss_score: " << ss_score << " rsigma_score: " << rsigma_score << " sheet_score: " << sheet_score << std::endl;
123
}
124
125
126
127
/// @brief SecondaryStructureEnergy distance cutoff
128
Distance
129
SecondaryStructureEnergy::atomic_interaction_cutoff
()
const
130
{
131
return
6.0;
/// now subtracted off 6.0 from cutoffs in centroid params files
132
// return 0.0; /// since all the cutoffs for centroid mode are rolled into the cendist check
133
}
134
135
/// @brief SecondaryStructureEnergy
136
void
137
SecondaryStructureEnergy::indicate_required_context_graphs
(
utility::vector1< bool >
&
/*context_graphs_required*/
)
const
138
{
139
}
140
core::Size
141
SecondaryStructureEnergy::version
()
const
142
{
143
return
1;
// Initial versioning
144
}
145
146
147
148
}
149
}
150
}
Generated on Sat Jun 1 2013 11:39:08 for Rosetta 3.5 by
1.8.4