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
toolbox
match_enzdes_util
EnzdesCstCache.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 .hh file for enzdes cacheable observer
11
/// @brief
12
/// @author Florian Richter, floric@u.washington.edu
13
14
#ifndef INCLUDED_protocols_toolbox_match_enzdes_util_EnzdesCstCache_hh
15
#define INCLUDED_protocols_toolbox_match_enzdes_util_EnzdesCstCache_hh
16
17
//unit headers
18
#include <
protocols/toolbox/match_enzdes_util/EnzdesCstCache.fwd.hh
>
19
20
//package headers
21
#include <
protocols/toolbox/match_enzdes_util/EnzConstraintIO.fwd.hh
>
22
23
#ifdef WIN32
24
#include <
protocols/toolbox/match_enzdes_util/EnzConstraintIO.hh
>
25
#include <
protocols/toolbox/match_enzdes_util/EnzConstraintParameters.hh
>
26
#endif
27
28
//project headers
29
#include <
core/pose/Pose.fwd.hh
>
30
#include <
core/id/SequenceMapping.fwd.hh
>
31
#include <
core/scoring/constraints/Constraint.fwd.hh
>
32
#include <
core/types.hh
>
33
34
//utility headers
35
#include <utility/pointer/ReferenceCount.hh>
36
#include <utility/vector1.hh>
37
38
// C++ headers
39
#include <map>
40
41
namespace
protocols {
42
namespace
toolbox{
43
namespace
match_enzdes_util {
44
45
46
/// @brief a simple class to store the pose specific
47
/// enzdes constraint information in the actual pose
48
class
EnzdesCstCache
:
public
utility::pointer::ReferenceCount
{
49
50
public
:
//constructor/destructor/
51
52
EnzdesCstCache
(
53
EnzConstraintIOCOP
enz_cstio,
54
core::Size
num_cst_blocks
55
);
56
57
EnzdesCstCache
(
EnzdesCstCache
const
& other );
58
59
virtual
~EnzdesCstCache
();
60
61
public
:
//accessors
62
63
EnzConstraintIOCOP
64
enzcst_io
()
const
;
65
66
EnzdesCstParamCacheOP
67
param_cache
(
68
core::Size
cst_block );
69
70
EnzdesCstParamCacheCOP
71
param_cache
(
72
core::Size
cst_block )
const
;
73
74
core::Size
75
ncsts
()
const
{
return
param_cache_
.size(); }
76
77
void
78
set_param_cache
(
79
core::Size
cst_block,
80
EnzdesCstParamCacheOP
param_cache
81
);
82
83
bool
84
contains_position
(
85
core::Size
seqpos)
const
;
86
87
/// @brief returns all seqpos present in the cache in order of the params
88
/// which they are in.
89
///note: ligands are explicityly put at the end of the vector
90
utility::vector1< core::Size >
91
ordered_constrained_positions
(
core::pose::Pose
const
& pose )
const
;
92
93
/// @brief remapping sequence positions
94
void
95
remap_resid
(
core::id::SequenceMapping
const
& smap );
96
97
private
:
98
99
utility::vector1< EnzdesCstParamCacheOP >
param_cache_
;
100
EnzConstraintIOCOP
enzcst_io_
;
101
102
};
103
104
105
class
EnzdesCstParamCache
:
public
utility::pointer::ReferenceCount
{
106
107
public
:
//typedefs
108
109
friend
class
EnzConstraintParameters
;
110
111
public
:
//constructor/destructor
112
113
EnzdesCstParamCache
();
114
115
EnzdesCstParamCache
(
EnzdesCstParamCache
const
& other );
116
117
virtual
~EnzdesCstParamCache
();
118
119
public
:
//accessors
120
121
EnzCstTemplateResCacheOP
122
template_res_cache
(
core::Size
index ) {
123
return
template_res_cache_
[index]; }
124
125
EnzCstTemplateResCacheCOP
126
template_res_cache
(
core::Size
index )
const
{
127
return
template_res_cache_
[index]; }
128
129
core::Size
130
template_res_cache_size
()
const
{
131
return
template_res_cache_
.size(); }
132
133
utility::vector1< core::scoring::constraints::ConstraintCOP >
const
&
134
active_pose_constraints
()
const
{
135
return
active_pose_constraints_
; }
136
137
utility::vector1< core::scoring::constraints::ConstraintCOP >
&
138
active_pose_constraints
() {
139
return
active_pose_constraints_
; }
140
141
void
142
set_active_pose_constraints
(
143
utility::vector1< core::scoring::constraints::ConstraintCOP >
const
& constraints
144
);
145
146
void
147
clear_active_pose_constraints
();
148
149
//utility::vector1< CovalentConnectionReplaceInfo > &
150
//covalent_connections();
151
152
utility::vector1< CovalentConnectionReplaceInfoCOP >
const
&
153
covalent_connections
()
const
{
154
return
covalent_connections_
; }
155
156
bool
157
missing_in_pose
()
const
;
158
159
void
160
remove_seqpos_from_template_res
(
core::Size
seqpos );
161
162
void
163
set_position_for_missing_res
(
core::Size
seqpos );
164
165
bool
166
contains_position
(
core::Size
seqpos )
const
;
167
168
/// @brief remapping sequence positions
169
void
170
remap_resid
(
core::id::SequenceMapping
const
& smap );
171
172
private
:
173
174
utility::vector1< EnzCstTemplateResCacheOP >
template_res_cache_
;
175
utility::vector1< core::scoring::constraints::ConstraintCOP >
active_pose_constraints_
;
176
utility::vector1< CovalentConnectionReplaceInfoCOP >
covalent_connections_
;
177
178
};
179
180
class
EnzCstTemplateResCache
:
public
utility::pointer::ReferenceCount
{
181
182
public
:
//typedefs
183
184
friend
class
EnzCstTemplateRes
;
185
186
typedef
std::map< core::Size, EnzCstTemplateResAtomsOP >
SeqposTemplateAtomsMap
;
187
188
public
:
//constructor/destructor
189
190
EnzCstTemplateResCache
();
191
192
EnzCstTemplateResCache
(
EnzCstTemplateResCache
const
& other );
193
194
virtual
~EnzCstTemplateResCache
();
195
196
public
:
//accessors
197
198
std::map< Size, EnzCstTemplateResAtomsOP >::const_iterator
199
seqpos_map_begin
()
const
{
200
return
seqpos_map_
.begin();
201
}
202
203
std::map< Size, EnzCstTemplateResAtomsOP >::const_iterator
204
seqpos_map_end
()
const
{
205
return
seqpos_map_
.end();
206
}
207
208
core::Size
209
seqpos_map_size
()
const
{
210
return
seqpos_map_
.size(); }
211
212
bool
213
contains_position
(
core::Size
const
seqpos )
const
{
214
return
seqpos_map_
.find( seqpos ) !=
seqpos_map_
.end();
215
}
216
217
void
218
set_position_in_pose
(
core::Size
seqpos );
219
220
void
221
add_position_in_pose
(
core::Size
seqpos );
222
223
bool
224
remove_seqpos
(
core::Size
seqpos );
225
226
/// @brief remapping sequence positions
227
void
228
remap_resid
(
core::id::SequenceMapping
const
& smap );
229
230
bool
231
not_in_pose
()
const
{
232
return
not_in_pose_
; }
233
234
private
:
235
236
SeqposTemplateAtomsMap
seqpos_map_
;
237
bool
not_in_pose_
;
238
bool
pose_data_uptodate_
;
239
240
};
241
242
}
243
}
//toolbox
244
}
//protocols
245
246
247
#endif
Generated on Sat Jun 1 2013 12:21:12 for Rosetta 3.5 by
1.8.4