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
loops
loops_main.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
11
/// @brief
12
/// @author Chu Wang
13
14
#ifndef INCLUDED_protocols_loops_loops_main_hh
15
#define INCLUDED_protocols_loops_loops_main_hh
16
17
// fwd declaration
18
#include <
core/types.hh
>
19
#include <
core/kinematics/FoldTree.fwd.hh
>
20
#include <
core/kinematics/MoveMap.fwd.hh
>
21
#include <
core/pose/Pose.fwd.hh
>
22
// AUTO-REMOVED #include <core/scoring/ScoreFunction.fwd.hh>
23
// AUTO-REMOVED #include <protocols/frags/TorsionFragment.fwd.hh>
24
#include <
protocols/loops/Loop.fwd.hh
>
25
#include <
protocols/loops/Loops.fwd.hh
>
26
#include <
core/id/SequenceMapping.fwd.hh
>
27
#include <
core/fragment/FragSet.fwd.hh
>
28
// AUTO-REMOVED #include <core/fragment/ConstantLengthFragSet.fwd.hh>
29
30
#include <utility/vector1.fwd.hh>
31
32
// AUTO-REMOVED #include <map>
33
#include <vector>
34
35
#include <utility/vector1.hh>
36
37
38
namespace
protocols {
39
namespace
loops {
40
41
///@brief the main function for perform loop modeling
42
////voi/d
43
///loops_main( core::pose::Pose & pose );
44
45
///@brief construct a fold tree from loop definition
46
void
47
fold_tree_from_loops
(
48
core::pose::Pose
const
& pose,
49
Loops
const
& loops,
50
core::kinematics::FoldTree
& f,
51
bool
terminal_cutpoint =
false
// should terminal loops respect the given cutpoint
52
);
53
54
//////////////////////////////////////////////////////////////////////////////////
55
/// @details Set the fold tree to contain a single chain break at the loops' position
56
void
set_single_loop_fold_tree
(
57
core::pose::Pose
& pose,
58
Loop
const
& loop
59
);
60
61
/// @details Remove cutpoint variants
62
void
remove_cutpoint_variants
(
63
core::pose::Pose
& pose,
64
bool
force =
false
65
);
66
67
//////////////////////////////////////////////////////////////////////////////////
68
/// @details Add cutpoint variants to all the cutpoints
69
void
add_cutpoint_variants
(
70
core::pose::Pose
& pose
71
);
72
73
//////////////////////////////////////////////////////////////////////////////////
74
/// @details Add cutpoint variant around a sinlge cutpoint (defined by loop)
75
void
add_single_cutpoint_variant
(
76
core::pose::Pose
& pose,
77
const
Loop &loop
78
);
79
80
81
///@brief create a MoveMap for use of minimization based on loop definition (wrapper)
82
void
83
loops_set_move_map
(
84
core::pose::Pose
& pose,
85
Loops
const
& loops,
86
bool
const
fix_template_sc,
87
core::kinematics::MoveMap
& mm,
88
core::Real
neighbor_dist = 10.0
89
);
90
91
///@brief create a MoveMap for use of minimization based on loop definition
92
void
93
loops_set_move_map
(
94
Loops
const
& loops,
95
utility::vector1<bool>
const
& allow_sc_move,
96
core::kinematics::MoveMap
& mm
97
);
98
99
void
100
set_move_map_for_centroid_loop
(
101
Loop
const
& loop,
102
core::kinematics::MoveMap
& mm
103
);
104
105
///@brief add flank stem residues to the loop movemap
106
void
//made by JQX
107
add_loop_flank_residues_bb_to_movemap
(
108
Loops
const
& loops,
109
core::kinematics::MoveMap
& mm,
110
core::Size
flank_size=2
111
);
112
113
///@brief close loops by the CCD mechanism
114
void
115
ccd_close_loops
(
116
core::pose::Pose
& pose,
117
Loops
const
& loops,
118
core::kinematics::MoveMap
const
& mm
119
);
120
121
/// @brief get neighbor residues within 10 A CB distance cutoff
122
void
get_tenA_neighbor_residues
(
123
core::pose::Pose
const
& pose,
124
utility::vector1<bool>
& residue_positions
125
);
126
127
/// @brief mark loop residues and its neighbors as necessary in a sequence map.
128
void
select_loop_residues
(
129
core::pose::Pose
const
& pose,
130
Loops
const
& loops,
131
bool
const
include_neighbors,
132
utility::vector1<bool>
& map,
133
core::Real
neighbor_dist = 10.0
134
);
135
136
// @brief mark loop residues and its neighbors as necessary for one loop.
137
void
select_loop_residues
(
138
core::pose::Pose
const
& pose,
139
Loop
const
& loop,
140
bool
const
include_neighbors,
141
utility::vector1<bool>
& map,
142
core::Real
neighbor_dist = 10.0
143
);
144
145
/// @brief filter set of loop neighbors to a certain CB distance
146
void
filter_loop_neighbors_by_distance
(
147
core::pose::Pose
const
& pose,
148
utility::vector1<bool>
& map,
149
Loops
const
& loops,
150
core::Real
& dist_cutoff
151
);
152
153
/// @brief helper function to set secondary structure of a Pose from an external
154
/// file.
155
bool
156
set_secstruct_from_psipred_ss2
(
157
core::pose::Pose
& pose
158
);
159
160
/// @brief another helper function to set secondary structure of a Pose from an external file.
161
bool
162
set_secstruct_from_dssp
(
163
core::pose::Pose
& pose,
164
std::string
const
&
filename
165
);
166
167
168
169
/// @details set ideal BB geometry; this must occur so that loops with missing density work.
170
void
idealize_loop
(
171
core::pose::Pose
& pose,
172
Loop
const
& loop
173
);
174
175
/// @details Set a loop to extended torsion angles.
176
void
set_extended_torsions
(
177
core::pose::Pose
& pose,
178
Loop
const
& loop
179
);
180
181
182
void
read_loop_fragments
(
183
std::vector< core::fragment::FragSetOP > &frag_libs
184
);
185
186
void
read_loop_fragments
(
187
utility::vector1< core::fragment::FragSetOP >
&frag_libs
188
);
189
190
191
//////////////////////////////////////////////////////////////////////////////////
192
/// @details Rebuild a loop via fragment insertion + ccd closure + minimization
193
void
remove_missing_density
(
194
core::pose::Pose
& pose,
195
Loop
const
& loop
196
);
197
198
core::Real
native_loop_core_CA_rmsd
(
199
const
core::pose::Pose
& native_pose,
200
const
core::pose::Pose
& pose,
201
loops::Loops
loops,
202
int
&corelength
203
);
204
205
/// @brief calculate rmsd of loop residues with repect to native (template aligned)
206
core::Real
207
loop_rmsd
(
208
core::pose::Pose
const
& pose1,
209
core::pose::Pose
const
& pose2,
210
Loops
const
& loops,
211
bool
CA_only =
false
,
212
bool
bb_only =
true
213
);
214
215
/// @brief As above but actuall superimposes the non-loop part
216
core::Real
217
loop_rmsd_with_superimpose
(
218
core::pose::Pose
const
& pose1,
219
core::pose::Pose
const
& pose2,
220
Loops
const
& loops,
221
bool
CA_only =
false
,
222
bool
bb_only =
true
223
);
224
225
/// @brief As above but actually superimposes only the core part (in case there are multiple loops...)
226
core::Real
227
loop_rmsd_with_superimpose_core
(
228
core::pose::Pose
const
& pose1,
229
core::pose::Pose
const
& pose2,
230
Loops
const
& loops,
231
Loops
const
& core,
232
bool
CA_only =
false
,
233
bool
bb_only =
true
234
);
235
236
237
/// @brief calculate rmsd of loop residues with repect to native (loop fit)
238
core::Real
239
loop_local_rmsd
(
240
core::pose::Pose
const
& pose1,
241
core::pose::Pose
const
& pose2,
242
Loops
const
& loops
243
);
244
245
/// @brief Given a sequence mapping which may have simple indels, trim back around those indels so that the loops can plausibly be closed.
246
247
void
248
trim_back_sequence_mapping
(
249
core::id::SequenceMapping
& mapping,
250
std::string
const
& source_seq,
251
std::string
const
& target_seq,
252
core::Size
const
min_loop_size
253
);
254
255
256
void
257
extend_sequence_mapping
(
258
core::pose::Pose
const
& pose,
259
core::id::SequenceMapping
& mapping,
260
std::string
& source_seq,
261
std::string
& target_seq
262
);
263
264
void
265
set_loop_cutpoint_in_pose_fold_tree
(
266
core::Size
const
new_cutpoint,
267
core::pose::Pose
& pose,
268
core::Size
const
loop_begin,
269
core::Size
const
loop_end
270
);
271
272
void
273
apply_sequence_mapping
(
274
core::pose::Pose
& pose,
275
std::string
const
& target_seq,
276
core::id::SequenceMapping
const
& start_mapping
277
);
278
279
}
//namespace loops
280
}
//namespace protocols
281
282
#endif
Generated on Sat Jun 1 2013 11:59:13 for Rosetta 3.5 by
1.8.4