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
EnzConstraintIO.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 IO-functionality for enzyme Constraints
11
/// @brief
12
/// @author Florian Richter, floric@u.washington.edu
13
14
15
#ifndef INCLUDED_protocols_toolbox_match_enzdes_util_EnzConstraintIO_hh
16
#define INCLUDED_protocols_toolbox_match_enzdes_util_EnzConstraintIO_hh
17
18
19
// Unit headers
20
// AUTO-REMOVED #include <core/scoring/constraints/ConstraintSet.fwd.hh>
21
#include <
protocols/toolbox/match_enzdes_util/EnzConstraintIO.fwd.hh
>
22
23
24
// AUTO-REMOVED
25
26
27
#ifdef WIN32
28
#include <
protocols/toolbox/match_enzdes_util/MatchConstraintFileInfo.hh
>
29
#include <
protocols/toolbox/match_enzdes_util/EnzConstraintIO.hh
>
30
#include <
core/scoring/constraints/Constraints.hh
>
31
#include <
protocols/toolbox/match_enzdes_util/EnzConstraintParameters.hh
>
32
#endif
33
34
#include <
core/scoring/ScoreFunction.fwd.hh
>
35
36
// Project headers
37
#include <
core/chemical/ResidueTypeSet.fwd.hh
>
38
#include <
core/pose/Pose.fwd.hh
>
39
// AUTO-REMOVED #include <core/pack/task/PackerTask.fwd.hh>
40
#include <
core/id/SequenceMapping.fwd.hh
>
41
#include <
core/types.hh
>
42
43
44
// Utility Headers
45
#include <utility/pointer/ReferenceCount.hh>
46
#include <utility/vector1.fwd.hh>
47
// AUTO-REMOVED #include <set>
48
49
#include <
protocols/toolbox/match_enzdes_util/MatchConstraintFileInfo.fwd.hh
>
50
#include <utility/vector1.hh>
51
52
53
54
//Utility Headers
55
56
// C++ Headers
57
58
namespace
protocols {
59
namespace
toolbox {
60
namespace
match_enzdes_util {
61
62
63
////////////////////////////////////////////////////////////////////////////////////////
64
/////////////////////////////////////////////////////////////////////////////
65
66
67
//interface class to process enzyme design constraints format, links information in
68
//constraint file containg constraint parameters and in pdb file containing
69
//the relevant residue numbers
70
//it also checks whether the information that was gathered from two different locations
71
//is consistent and then adds a constraint set to an input pose
72
73
class
EnzConstraintIO
:
public
utility::pointer::ReferenceCount
{
74
75
76
public
:
77
78
EnzConstraintIO
(
core::chemical::ResidueTypeSetCAP
src_restype_set);
79
virtual
~EnzConstraintIO
();
80
81
static
EnzConstraintIO
*
get_instance
();
82
83
void
84
read_enzyme_cstfile
(
std::string
fname );
85
86
87
toolbox::match_enzdes_util::MatchConstraintFileInfoListCOP
88
mcfi_list
(
core::Size
block )
const
;
89
90
core::Size
91
num_mcfi_lists
()
const
{
92
return
mcfi_lists_
.size(); }
93
94
void
95
add_constraints_to_pose
(
96
core::pose::Pose
& pose,
97
core::scoring::ScoreFunctionCOP
scofx,
98
bool
accept_blocks_missing_header
99
);
100
101
102
/// @brief BE CAREFUL when using this function, it generates constraints
103
/// @brief without clearing the internal data structures and reading in
104
/// @brief the information in the pdb REMARKs
105
/// @brief if you're unsure use the above one
106
void
107
add_constraints_to_pose_for_block_without_clearing_and_header_processing
(
108
core::pose::Pose
& pose,
109
core::scoring::ScoreFunctionCOP
scofx,
110
core::Size
cst_block
111
)
const
;
112
113
114
/// @brief convenience function that will add constraints to the pose if they have
115
/// @brief been previously generated. BE CAREFUL when using this function, it relies on the
116
/// @brief pose having the same residue types at the same constrained positions as in the pose
117
/// @brief that was originally used to generate the constraints. If in doubt, it's safer to
118
/// @brief regenerate the constraints before adding (i.e. use the above add_constraints_to_pose
119
/// @brief function.)
120
void
121
add_pregenerated_constraints_to_pose
(
122
core::pose::Pose
& pose,
123
core::scoring::ScoreFunctionCOP
scofx
124
)
const
;
125
126
void
127
remove_constraints_from_pose
(
128
core::pose::Pose
& pose,
129
bool
const
keep_covalent,
130
bool
const
fail_on_constraints_missing
131
)
const
;
132
133
134
void
135
remove_constraints_from_pose_for_block
(
136
core::pose::Pose
& pose,
137
core::Size
cst_block,
138
bool
const
fail_on_constraints_missing
139
)
const
;
140
141
142
void
143
remove_position_from_template_res_for_block
(
144
core::pose::Pose
& pose,
145
core::Size
pos,
146
core::Size
cst_block
147
)
const
;
148
149
void
150
remove_position_from_template_res
(
151
core::pose::Pose
& pose,
152
core::Size
pos
153
)
const
;
154
155
void
156
process_pdb_header
(
157
core::pose::Pose
& pose,
158
bool
accept_missing_blocks
159
);
160
161
/// @brief are constraints specified for this position?
162
bool
163
contains_position
(
core::pose::Pose
const
& pose,
core::Size
const
seqpos )
const
;
164
165
/// @brief are the constraints specified at this position
166
/// mediated through backbone interactions only?
167
bool
168
is_backbone_only_cst
(
core::pose::Pose
const
& pose,
core::Size
const
seqpos )
const
;
169
170
void
171
update_pdb_remarks_for_backbone_params
(
172
core::pose::Pose
& pose )
const
;
173
174
utility::vector1< std::string >
175
allowed_res_name3_at_position
(
core::pose::Pose
const
& pose,
core::Size
const
seqpos )
const
;
176
177
void
178
show_cst_definitions
()
const
;
179
180
/// @brief changing the constrained residues if the sequence length changes
181
void
182
remap_resid
(
core::id::SequenceMapping
const
& smap );
183
184
void
185
set_position_for_missing_res_in_parameter_block
(
186
core::pose::Pose
& pose,
187
core::Size
cst_block,
188
core::Size
respos
189
)
const
;
190
191
void
192
clear_active_pose_constraints_for_block
(
193
core::pose::Pose
& pose,
194
core::Size
cst_block
195
)
const
;
196
197
void
198
set_external_position_for_resA_in_parameter_block
(
199
core::Size
cst_block,
200
core::Size
respos
201
);
202
203
void
204
set_external_position_for_resB_in_parameter_block
(
205
core::Size
cst_block,
206
core::Size
respos
207
);
208
/*
209
void
210
setup_favor_native_constraints(
211
core::pose::Pose & pose,
212
core::pack::task::PackerTaskCOP task,
213
core::pose::Pose const & native_pose
214
);
215
216
void
217
remove_favor_native_constraints(
218
core::pose::Pose & pose
219
);
220
*/
221
EnzConstraintParametersCOP
222
enz_cst_params
(
core::Size
block)
const
;
223
224
utility::vector1< EnzConstraintParametersCOP >
225
enz_cst_params_missing_in_pose
(
core::pose::Pose
const
& pose )
const
;
226
227
utility::vector1< core::Size >
228
ordered_constrained_positions
(
core::pose::Pose
const
& pose)
const
;
229
230
core::Size
231
mcfi_lists_size
()
const
;
232
233
//MatchConstraintFileInfoListCOP
234
//mcfi_list( Size index ) const;
235
236
core::Size
237
enz_cst_params_size
() {
return
cst_pairs_
.size(); }
238
239
utility::vector1< std::pair< core::Size, core::Size>
>
const
&
240
target_downstream_res
()
const
{
241
return
target_downstream_res_
; }
242
243
protected
:
244
245
utility::vector1< EnzConstraintParametersOP >
cst_pairs_
;
// contains information about the residue pair constraints
246
247
private
:
248
249
//void
250
//clear_pose_specific_data();
251
252
//void
253
//clear_pose_specific_data_for_block( core::Size cst_block );
254
255
void
256
generate_pose_specific_data
(
257
core::pose::Pose
& pose,
258
core::scoring::ScoreFunctionCOP
scofx
259
)
const
;
260
261
void
262
generate_pose_specific_data_for_block
(
263
core::pose::Pose
& pose,
264
core::scoring::ScoreFunctionCOP
scofx,
265
core::Size
cst_block
266
)
const
;
267
268
void
269
determine_target_downstream_res
();
270
271
utility::vector1< toolbox::match_enzdes_util::MatchConstraintFileInfoListOP >
mcfi_lists_
;
272
273
//convenience data structure that contains info about upstream / upstream interactions
274
utility::vector1< std::pair< core::Size, core::Size>
>
target_downstream_res_
;
275
276
core::chemical::ResidueTypeSetCAP
restype_set_
;
277
//bool cst_pair_data_consistent_;
278
279
//utility::vector1< core::scoring::constraints::ConstraintCOP > favor_native_constraints_;
280
281
//a static version for generic access
282
static
EnzConstraintIOOP
generic_instance_
;
283
284
};
// class EnzConstraintIO
285
286
287
}
288
}
//toolbox
289
}
//protocols
290
291
#endif
Generated on Sat Jun 1 2013 12:21:02 for Rosetta 3.5 by
1.8.4