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
coarse_rna
CoarseRNA_LoopCloser.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 loopRNA_minimizer.hh
11
/// @brief
12
/// @detailed
13
///
14
/// @author Rhiju Das
15
16
17
#ifndef INCLUDED_protocols_coarse_rna_CoarseRNA_LoopCloser_HH
18
#define INCLUDED_protocols_coarse_rna_CoarseRNA_LoopCloser_HH
19
20
#include <
protocols/moves/Mover.hh
>
21
#include <
protocols/toolbox/AllowInsert.hh
>
22
#include <
core/id/NamedAtomID.hh
>
23
#include <
core/id/DOF_ID.hh
>
24
#include <
core/pose/Pose.fwd.hh
>
25
#include <
core/scoring/ScoreFunction.hh
>
26
#include <
core/kinematics/tree/Atom.fwd.hh
>
27
#include <utility/vector1.hh>
28
#include <
core/types.hh
>
29
#include <ObjexxFCL/FArray1D.hh>
30
31
//// C++ headers
32
// AUTO-REMOVED #include <cstdlib>
33
#include <string>
34
35
36
namespace
protocols {
37
namespace
coarse_rna {
38
39
/// @brief The RNA de novo structure modeling protocol
40
class
CoarseRNA_LoopCloser
:
public
protocols::moves::Mover
{
41
public
:
42
/// @brief Construct the protocol object
43
CoarseRNA_LoopCloser
();
44
45
/// @brief Clone this object
46
virtual
protocols::moves::MoverOP
clone
()
const
{
47
return
new
CoarseRNA_LoopCloser
(*
this
);
48
}
49
50
/// @brief Apply the loop-rebuild protocol to the input pose
51
using
protocols::moves::Mover::apply
;
52
virtual
53
void
apply
(
core::pose::Pose
& pose );
54
55
/// @brief Apply the loop-rebuild protocol to the input pose
56
bool
57
apply
(
core::pose::Pose
& pose,
Size
const
& seqpos_moved );
58
59
bool
60
apply_after_jump_change
(
core::pose::Pose
& pose,
Size
const
& jumpno );
61
62
virtual
std::string
get_name
()
const
;
63
64
void
65
choose_best_solution_based_on_score_function
(
core::scoring::ScoreFunctionOP
scorefxn );
66
67
void
68
choose_least_perturb_solution
();
69
70
// Undefined, commenting out to fix PyRosetta build void choose_random_solution();
71
72
void
73
get_all_solutions
(
core::pose::Pose
& pose,
74
utility::vector1< core::pose::PoseOP >
& pose_list );
75
76
void
77
set_allow_insert
(
protocols::toolbox::AllowInsertOP
allow_insert
);
78
79
protocols::toolbox::AllowInsertOP
allow_insert
();
80
81
Size
nsol
(){
return
nsol_
; }
82
83
utility::vector1< core::Size >
const
&
cutpos_list
(){
return
cutpos_list_
; }
84
85
ObjexxFCL::FArray1D< bool >
const
&
partition_definition
(){
return
partition_definition_
; }
86
87
private
:
88
89
bool
90
close_at_all_cutpoints
(
core::pose::Pose
& pose );
91
92
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
93
void
94
figure_out_which_cutpoints_were_affected
(
core::pose::Pose
const
& pose );
95
96
////////////////////////////////////////////////////////////////////////////////////////
97
bool
98
figure_out_pivots
(
core::pose::Pose
const
& pose );
99
100
////////////////////////////////////////////////////////////////////////////////////////
101
void
102
remove_res
(
utility::vector1< core::Size >
& res_vector,
103
Size
const
& res );
104
105
void
106
backtrack
(
core::kinematics::tree::AtomCOP
current_atom,
107
utility::vector1< core::Size >
& upstream_res,
108
utility::vector1< bool >
& is_upstream_res,
109
core::pose::Pose
const
& pose );
110
111
void
112
figure_out_forward_backward_res_by_backtracking
(
core::pose::Pose
const
& pose );
113
114
void
115
output_forward_backward_res
();
116
117
void
118
filter_path
(
utility::vector1< core::Size >
& upstream_res,
119
utility::vector1< bool >
const
& is_filter_res,
120
core::pose::Pose
const
& pose );
121
122
void
123
figure_out_pivot_res_and_scratch_res
();
124
125
void
126
close_the_loop
(
core::pose::Pose
& pose );
127
128
void
129
figure_out_dof_ids_and_offsets
(
core::pose::Pose
const
& pose,
130
utility::vector1<core::Real>
const
& dt_ang );
131
132
133
void
134
figure_out_offset
(
135
core::pose::Pose
const
& pose,
136
core::Size
const
& pivot,
137
core::id::DOF_ID
const
& dof_id,
138
core::Real
const
& original_torsion_value,
139
utility::vector1< core::Real >
& offset_save );
140
141
void
142
apply_solutions
(
core::pose::Pose
& pose );
143
144
void
145
fill_solution
(
core::pose::Pose
& pose,
146
Size
const
n )
const
;
147
148
void
149
output_chainTORS
(
utility::vector1< core::Real >
const
& dt_ang,
150
utility::vector1< core::Real >
const
& db_ang,
151
utility::vector1< core::Real >
const
& db_len )
const
;
152
153
void
154
fill_chainTORS
(
155
core::pose::Pose
const
& pose,
156
utility::vector1< core::id::NamedAtomID>
const
& atom_ids,
157
utility::vector1
<
utility::vector1<core::Real>
> & atoms,
158
utility::vector1<core::Real>
& dt_ang,
159
utility::vector1<core::Real>
& db_ang,
160
utility::vector1<core::Real>
& db_len)
const
;
161
162
private
:
163
164
bool
const
a_little_verbose_
;
165
bool
const
verbose_
;
166
core::Size
seqpos_moved_
;
167
core::Size
cutpos_
;
168
utility::vector1< core::Size >
cutpos_list_
;
169
int
nsol_
;
170
171
protocols::toolbox::AllowInsertOP
allow_insert_
;
172
utility::vector1< core::Size >
backward_res_
,
forward_res_
,
pivot_res_
,
scratch_res_
,
pivot_to_scratch_res_
;
173
utility::vector1< bool >
is_backward_res_
,
is_forward_res_
,
is_pivot_res_
,
is_scratch_res_
;
174
core::Size
which_scratch_res_is_cut_
;
175
176
core::scoring::ScoreFunctionOP
scorefxn_
;
177
178
utility::vector1< core::id::NamedAtomID >
atom_ids_
;
179
utility::vector1< core::Real >
offset_save1_
,
offset_save2_
;
180
utility::vector1< core::id::DOF_ID >
dof_ids1_
,
dof_ids2_
;
181
182
utility::vector1<utility::vector1<core::Real>
>
t_ang_
,
b_ang_
,
b_len_
;
183
184
bool
choose_least_perturb_solution_
;
185
bool
choose_best_solution_
;
186
bool
choose_random_solution_
;
187
bool
save_all_solutions_
;
188
189
ObjexxFCL::FArray1D< bool >
partition_definition_
;
190
191
};
// class CoarseRNA_LoopCloser
192
193
194
195
}
//rna
196
}
// protocols
197
198
#endif
Generated on Sat Jun 1 2013 11:45:17 for Rosetta 3.5 by
1.8.4