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
rna
RNA_StructureParameters.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
// CVS information:
4
// $Revision: 1.1.2.1 $
5
// $Date: 2005/11/07 21:05:35 $
6
// $Author: rhiju $
7
// (c) Copyright Rosetta Commons Member Institutions.
8
// (c) This file is part of the Rosetta software suite and is made available under license.
9
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
10
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
11
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
12
/// @author Rhiju Das
13
14
#ifndef INCLUDED_protocols_rna_RNA_StructureParameters_HH
15
#define INCLUDED_protocols_rna_RNA_StructureParameters_HH
16
17
#include <
core/pose/Pose.fwd.hh
>
18
#include <
core/kinematics/FoldTree.fwd.hh
>
19
#include <
protocols/rna/RNA_JumpLibrary.fwd.hh
>
20
#include <
protocols/toolbox/AllowInsert.fwd.hh
>
21
#include <
core/kinematics/Jump.hh
>
22
#include <
core/types.hh
>
23
#include <utility/pointer/ReferenceCount.hh>
24
// ObjexxFCL Headers
25
// AUTO-REMOVED #include <ObjexxFCL/FArray1D.hh>
26
27
// C++ Headers
28
#include <string>
29
#include <map>
30
#include <iostream>
31
#include <list>
32
33
#include <utility/vector1.hh>
34
35
36
37
namespace
protocols {
38
namespace
rna {
39
40
////////////////////////////////////////////////////////////////////////////////////////////
41
class
RNA_Pairing
{
42
public
:
43
core::Size
pos1
;
44
core::Size
pos2
;
45
char
edge1
;
//W,H,S
46
char
edge2
;
//W,H,S
47
char
orientation
;
//A,P
48
};
49
50
typedef
utility::vector1< RNA_Pairing >
RNA_PairingList
;
51
52
//////////////////////////////////////////////////////////////////////////////////////////////
53
class
RNA_StructureParameters
:
public
utility::pointer::ReferenceCount
{
54
public
:
55
56
//constructor
57
RNA_StructureParameters
();
58
virtual
~RNA_StructureParameters
();
59
void
60
initialize
(
61
core::pose::Pose
& pose,
62
std::string
const
rna_params_file,
63
std::string
const
jump_library_file,
64
bool
const
ignore_secstruct );
65
66
void
67
setup_fold_tree_and_jumps_and_variants
(
core::pose::Pose
& pose );
68
69
bool
70
random_jump_change
(
core::pose::Pose
& pose )
const
;
71
72
toolbox::AllowInsertOP
73
allow_insert
();
74
75
void
76
set_allow_insert
(
toolbox::AllowInsertOP
allow_insert );
77
78
void
79
set_root_at_first_rigid_body
(
bool
const
setting ){
root_at_first_rigid_body_
= setting; }
80
81
void
82
set_suppress_bp_constraint
(
bool
const
setting ){
suppress_bp_constraint_
= setting; }
83
84
bool
85
check_base_pairs
(
core::pose::Pose
& pose )
const
;
86
87
std::map< Size, Size >
88
connections
()
const
;
89
90
std::list< Size >
91
get_stem_residues
(
core::pose::Pose
const
& pose )
const
;
92
93
void
94
setup_base_pair_constraints
(
core::pose::Pose
& pose );
95
96
private
:
97
98
void
99
initialize_secstruct
(
core::pose::Pose
& pose );
100
101
void
102
override_secstruct
(
core::pose::Pose
& pose );
103
104
void
105
append_virtual_anchor
(
core::pose::Pose
& pose );
106
107
void
108
initialize_allow_insert
(
core::pose::Pose
& pose );
109
110
void
111
get_pairings_from_line
(
112
std::istringstream & line_stream,
113
bool
const
in_stem );
114
115
void
116
read_chain_connection
( std::istringstream & line_stream );
117
118
void
119
read_parameters_from_file
(
std::string
const
& pairing_file );
120
121
122
void
123
setup_jumps
(
core::pose::Pose
& pose );
124
125
void
126
setup_chainbreak_variants
(
core::pose::Pose
& pose );
127
128
void
129
setup_virtual_phosphate_variants
(
core::pose::Pose
& pose );
130
131
void
132
setup_virtual_phosphate_variants_OLD
(
core::pose::Pose
& pose );
//remove this by end of 2012
133
134
void
135
set_jump_library
(
RNA_JumpLibraryOP
rna_jump_library );
136
137
std::string
const
138
read_secstruct_from_file
(
std::string
const
& rna_secstruct_file );
139
140
core::Size
141
check_in_chain_connections
(
core::Size
const
& pos1,
core::Size
const
& pos2 )
const
;
142
143
bool
144
check_forward_backward
(
145
core::pose::Pose
& pose,
146
core::Size
const
jump_pos )
const
;
147
148
void
149
add_new_RNA_jump
(
150
core::pose::Pose
& pose,
151
core::Size
const
& which_jump,
152
bool
& success )
const
;
153
154
void
155
sample_alternative_chain_connection
(
core::pose::Pose
& pose,
core::Size
const
& which_jump )
const
;
156
157
void
158
insert_base_pair_jumps
(
core::pose::Pose
& pose,
bool
& success )
const
;
159
160
void
161
fill_in_default_jump_atoms
(
core::kinematics::FoldTree
& f,
core::pose::Pose
const
& pose )
const
;
162
163
private
:
164
RNA_JumpLibraryOP
rna_jump_library_
;
165
RNA_PairingList
rna_pairing_list_
;
166
167
utility::vector1 < utility::vector1 <core::Size >
>
obligate_pairing_sets_
;
168
utility::vector1 < utility::vector1 <core::Size >
>
possible_pairing_sets_
;
169
170
utility::vector1 < std::pair< utility::vector1 <core::Size >
,
utility::vector1 <core::Size >
> >
chain_connections_
;
171
172
// int force_stems_;// deprecated.
173
174
utility::vector1 <core::Size >
cutpoints_open_
;
175
utility::vector1 <core::Size >
cutpoints_closed_
;
176
utility::vector1 <core::Size >
virtual_anchor_attachment_points_
;
177
178
bool
secstruct_defined_
;
179
std::string
rna_secstruct_
;
180
bool
assume_non_stem_is_loop
;
181
182
bool
add_virtual_anchor_
;
183
bool
root_at_first_rigid_body_
;
184
bool
suppress_bp_constraint_
;
185
186
utility::vector1 < core::Size >
allow_insert_res_
;
187
toolbox::AllowInsertOP
allow_insert_
;
188
189
};
190
191
typedef
utility::pointer::owning_ptr< RNA_StructureParameters >
RNA_StructureParametersOP
;
192
193
}
//rna
194
}
//protocols
195
196
#endif
Generated on Sat Jun 1 2013 12:10:09 for Rosetta 3.5 by
1.8.4