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
mm
MMBondAngleResidueTypeParamSet.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/mm/MMBondAngleResidueTypeParamSet.hh
11
/// @brief Class to store bond angle parameters for a set of ResidueTypes
12
/// @author Colin A. Smith (colin.smith@ucsf.edu)
13
14
15
#ifndef INCLUDED_core_scoring_mm_MMBondAngleResidueTypeParamSet_hh
16
#define INCLUDED_core_scoring_mm_MMBondAngleResidueTypeParamSet_hh
17
18
// Unit headers
19
#include <
core/scoring/mm/MMBondAngleResidueTypeParamSet.fwd.hh
>
20
21
// Project headers
22
#include <
core/id/AtomID.fwd.hh
>
23
// AUTO-REMOVED #include <core/scoring/mm/MMBondAngleLibrary.hh>
24
// AUTO-REMOVED #include <core/scoring/mm/MMBondAngleResidueTypeParam.hh>
25
#include <
core/conformation/Conformation.fwd.hh
>
26
#include <
core/scoring/ScoreFunction.fwd.hh
>
27
28
// Utility header
29
#include <utility/pointer/access_ptr.hh>
30
#include <utility/pointer/owning_ptr.hh>
31
#include <utility/pointer/ReferenceCount.hh>
32
33
// C++ headers
34
#include <map>
35
36
#include <
core/chemical/ResidueType.fwd.hh
>
37
#include <
core/scoring/mm/MMBondAngleLibrary.fwd.hh
>
38
#include <
core/scoring/mm/MMBondAngleResidueTypeParam.fwd.hh
>
39
#include <utility/vector1_bool.hh>
40
#include <string>
41
42
43
namespace
core {
44
namespace
scoring {
45
namespace
mm {
46
47
class
MMBondAngleResidueTypeParamSet
:
public
utility::pointer::ReferenceCount
48
{
49
50
public
:
51
/// @brief ctor
52
MMBondAngleResidueTypeParamSet
();
53
54
/// @brief copy ctor
55
MMBondAngleResidueTypeParamSet
(
56
MMBondAngleResidueTypeParamSet
const
& src
57
);
58
59
virtual
~MMBondAngleResidueTypeParamSet
();
60
61
/// @brief get bond angle library for newly created ResidueTypeParam objects
62
MMBondAngleLibraryCAP
63
mm_bondangle_library
()
const
64
{
65
return
mm_bondangle_library_
;
66
}
67
68
/// @brief set bond angle library for newly created ResidueTypeParam objects
69
void
70
mm_bondangle_library
(
71
MMBondAngleLibraryCAP
value
72
)
73
{
74
mm_bondangle_library_
= value;
75
}
76
77
/// @brief get use of ResidueType theta0 in newly created ResidueTypeParam objects
78
bool
79
use_residue_type_theta0
()
const
80
{
81
return
use_residue_type_theta0_
;
82
}
83
84
/// @brief set use of ResidueType theta0 in newly created ResidueTypeParam objects
85
void
86
use_residue_type_theta0
(
87
bool
value
88
)
89
{
90
use_residue_type_theta0_
= value;
91
}
92
93
/// @brief get central atoms to score in newly created ResidueTypeParam objects
94
utility::vector1<std::string>
const
&
95
central_atoms_to_score
()
const
96
{
97
return
central_atoms_to_score_
;
98
}
99
100
/// @brief set central atoms to score in newly created ResidueTypeParam objects
101
void
102
central_atoms_to_score
(
103
utility::vector1<std::string>
const
& value
104
)
105
{
106
central_atoms_to_score_
= value;
107
}
108
109
/// @brief lookup a param object for a given ResidueType
110
MMBondAngleResidueTypeParam
const
&
111
get
(
112
core::chemical::ResidueType
const
& residue_type
113
);
114
115
/// @brief lookup a param object for a given ResidueType, does not auto-create
116
MMBondAngleResidueTypeParam
const
*
117
get
(
118
core::chemical::ResidueType
const
& residue_type
119
)
const
;
120
121
/// @brief lookup Ktheta and theta0 for any bond angle in a conformation
122
void
123
lookup
(
124
core::conformation::Conformation
const
& conformation,
125
core::id::AtomID
const
& atomid1,
126
core::id::AtomID
const
& atomid2,
127
core::id::AtomID
const
& atomid3,
128
core::Real
& Ktheta,
129
core::Real
& theta0
130
);
131
132
/// @brief lookup Ktheta and theta0 for any bond angle in a conformation
133
void
134
lookup
(
135
core::conformation::Conformation
const
& conformation,
136
core::id::AtomID
const
& atomid1,
137
core::id::AtomID
const
& atomid2,
138
core::id::AtomID
const
& atomid3,
139
core::Real
& Ktheta,
140
core::Real
& theta0
141
)
const
;
142
143
private
:
144
145
/// @brief lookup Ktheta and theta0 for any bond angle in a conformation
146
void
147
lookup
(
148
core::conformation::Conformation
const
& conformation,
149
core::id::AtomID
const
& atomid1,
150
core::id::AtomID
const
& atomid2,
151
core::id::AtomID
const
& atomid3,
152
MMBondAngleResidueTypeParam
const
& residue_type_param,
153
core::Real
& Ktheta,
154
core::Real
& theta0
155
)
const
;
156
157
/// @brief bond angle library for deriving new ResidueTypeParam objects
158
MMBondAngleLibraryCAP
mm_bondangle_library_
;
159
160
/// @brief use ResidueType defined theta0 in newly created ResidueTypeParam objects
161
bool
use_residue_type_theta0_
;
162
163
/// @brief only score certain central atoms in newly created ResidueTypeParam objects
164
utility::vector1<std::string>
central_atoms_to_score_
;
165
166
/// @brief mapping from ResidueType name to ResidueTypeParam
167
std::map<std::string, MMBondAngleResidueTypeParam>
reside_type_param_map_
;
168
169
};
170
171
/// @brief extract a MMBondAngleResidueTypeParamSet from a ScoreFunction, returning NULL if none exists
172
MMBondAngleResidueTypeParamSetCOP
173
mm_bond_angle_residue_type_param_set
(
174
core::scoring::ScoreFunction
const
& scorefxn
175
);
176
177
}
// namespace mm
178
}
// namespace scoring
179
}
// namespace core
180
181
182
#endif // INCLUDED_core_mm_MMBondAngleResidueTypeParamSet_HH
Generated on Sat Jun 1 2013 11:39:21 for Rosetta 3.5 by
1.8.4