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
EnvSmoothEnergy.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 core/scoring/methods/EnvSmoothEnergy.hh
11
/// @brief Statistically derived fullatom environment potential class declaration
12
/// @author Mike Tyka
13
/// @author Andrew Leaver-Fay
14
15
16
#ifndef INCLUDED_core_scoring_methods_EnvSmoothEnergy_hh
17
#define INCLUDED_core_scoring_methods_EnvSmoothEnergy_hh
18
19
// Unit Headers
20
#include <
core/scoring/methods/EnvSmoothEnergy.fwd.hh
>
21
22
// Package headers
23
#include <
core/scoring/methods/ContextDependentOneBodyEnergy.hh
>
24
25
// Project headers
26
#include <
core/chemical/AA.hh
>
27
#include <
core/conformation/Atom.fwd.hh
>
28
#include <
core/pose/Pose.fwd.hh
>
29
#include <
core/scoring/ScoreFunction.fwd.hh
>
30
31
#include <utility/vector1.hh>
32
33
34
// Utility headers
35
36
37
namespace
core {
38
namespace
scoring {
39
namespace
methods {
40
41
///
42
class
EnvSmoothEnergy
:
public
ContextDependentOneBodyEnergy
{
43
public
:
44
typedef
ContextDependentOneBodyEnergy
parent
;
45
46
public
:
47
48
///
49
EnvSmoothEnergy
();
50
51
/// clone
52
virtual
53
EnergyMethodOP
54
clone
()
const
;
55
56
/////////////////////////////////////////////////////////////////////////////
57
// scoring
58
/////////////////////////////////////////////////////////////////////////////
59
60
/// @brief computes dScore/dNumNeighbors for all residues for rapid use in later
61
/// atom derivate calculations
62
virtual
63
void
64
setup_for_scoring
(
pose::Pose
& pose,
ScoreFunction
const
& )
const
;
65
66
/// @brief causes a neighbor graph update
67
virtual
68
void
69
setup_for_derivatives
(
pose::Pose
& pose,
ScoreFunction
const
& sf)
const
;
70
71
/// @brief evaluates the one-body energy for a residue
72
virtual
73
void
74
residue_energy
(
75
conformation::Residue
const
& rsd,
76
pose::Pose
const
&,
// pose,
77
EnergyMap
&
// emap
78
)
const
;
79
80
/// @brief increments the F1 and F2 derivative vectors for an atom
81
virtual
82
void
83
eval_atom_derivative
(
84
id::AtomID
const
& atom_id,
85
pose::Pose
const
& pose,
86
kinematics::DomainMap
const
&,
87
ScoreFunction
const
&,
88
EnergyMap
const
& weights,
89
Vector
& F1,
90
Vector
& F2
91
)
const
;
92
93
/// @brief unused by the EnvSmoothEnergy class, returns 0
94
Distance
95
atomic_interaction_cutoff
()
const
;
96
97
/// @brief Tells the scoring function to maintain the TwelveANeighborGraph
98
virtual
99
void
indicate_required_context_graphs
(
utility::vector1< bool >
& context_graphs_required )
const
;
100
101
private
:
102
103
/// @brief returns the atom name for the atom used to represent the sidechain for
104
/// a particular amino acid; this atom was used to derive the statistics this potential
105
/// is based on.
106
std::string
const
&
107
representative_atom_name
(
chemical::AA
const
aa )
const
;
108
109
/// @brief convert the neighbor counts for a residue and its aa type into
110
/// a score and a score derivative.
111
void
112
calc_energy
(
113
Real
const
neighbor_count
,
114
chemical::AA
const
aa,
115
Real
& score,
116
Real
& dscore_dneighbor_count
117
)
const
;
118
119
/// @brief given the square distance between a representative atom and a neighbor atom,
120
/// return the neighborlyness. Ramps from 1 down to 0 over a range.
121
Real
122
sigmoidish_neighbor
(
DistanceSquared
const
sqdist )
const
;
123
124
/// @brief given a pair of atoms, one of which is a neighbor atom and the other of which
125
/// is a representative atom, and given the weighted score derivative, increments
126
/// the F1 and F2 derivatives.
127
void
128
increment_f1_f2_for_atom_pair
(
129
conformation::Atom
const
& atom1,
130
conformation::Atom
const
& atom2,
131
Real
weighted_dScore_dN,
132
Vector
& F1,
133
Vector
& F2
134
)
const
;
135
136
137
/////////////////////////////////////////////////////////////////////////////
138
// data
139
/////////////////////////////////////////////////////////////////////////////
140
141
private
:
142
143
mutable
utility::vector1< Real >
residue_N_
;
144
mutable
utility::vector1< Real >
residue_E_
;
145
mutable
utility::vector1< Real >
residue_dEdN_
;
146
virtual
147
core::Size
version
()
const
;
148
149
150
};
151
152
153
}
154
}
155
}
156
157
#endif
Generated on Sat Jun 1 2013 11:37:57 for Rosetta 3.5 by
1.8.4