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
core
io
silent
BinaryProteinSilentStruct.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
// :noTabs=false:tabSize=4:indentSize=4:
4
//
5
// (c) Copyright Rosetta Commons Member Institutions.
6
// (c) This file is part of the Rosetta software suite and is made available under license.
7
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
8
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
9
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
10
11
/// @file core/io/silent/BinaryProteinSilentStruct.hh
12
///
13
/// @brief
14
/// @author Frank DiMaio
15
/// @author Mike Tyka
16
17
#ifndef INCLUDED_core_io_silent_BinaryProteinSilentStruct_hh
18
#define INCLUDED_core_io_silent_BinaryProteinSilentStruct_hh
19
20
// mini headers
21
#include <
core/types.hh
>
22
#include <
core/pose/Pose.fwd.hh
>
23
24
// AUTO-REMOVED #include <core/conformation/Residue.fwd.hh>
25
#include <
core/io/silent/SilentStruct.hh
>
26
// AUTO-REMOVED #include <core/io/silent/ProteinSilentStruct.hh>
27
#include <
core/kinematics/FoldTree.hh
>
28
#include <
core/kinematics/Jump.hh
>
29
30
// AUTO-REMOVED #include <utility/vector1.hh>
31
32
// C++ Headers
33
#include <iostream>
34
#include <string>
35
36
#include <
core/conformation/symmetry/SymDof.hh
>
37
#include <
core/conformation/symmetry/SymmetryInfo.hh
>
38
#include <utility/vector1.hh>
39
40
41
namespace
core {
42
namespace
io {
43
namespace
silent {
44
45
/// why this inheritance pathway? this makes no sense!
46
//class BinaryProteinSilentStruct : public ProteinSilentStruct {
47
class
BinaryProteinSilentStruct
:
public
SilentStruct
{
48
49
public
:
50
51
/// @brief Constructors.
52
BinaryProteinSilentStruct
(
Size
const
nres_in );
53
54
BinaryProteinSilentStruct
();
55
56
BinaryProteinSilentStruct
(
57
core::pose::Pose
const
& pose,
58
std::string
tag =
"empty_tag"
59
);
60
61
virtual
SilentStructOP
clone
()
const
{
62
return
new
BinaryProteinSilentStruct
( *
this
);
63
}
64
65
/// @brief Re-dimension the storage capacity of this BinaryProteinSilentStruct to the given number of residues.
66
void
resize
(
67
Size
const
nres_in
68
);
69
70
// destructor
71
~BinaryProteinSilentStruct
() {}
72
73
/// @brief Test if this BinaryProteinSilentStruct is equal to the given
74
/// BinaryProteinSilentStruct in terms of conformation. Doesn't check
75
/// energies.
76
BinaryProteinSilentStruct
&
operator=
(
77
BinaryProteinSilentStruct
const
& src
78
);
79
80
/// @brief Initialize object from a set of lines
81
virtual
bool
init_from_lines
(
82
utility::vector1< std::string >
const
& lines,
83
SilentFileData
& container
84
);
85
86
/// @brief Configure the conformation of the given Pose with the
87
/// conformational data within this BinaryProteinSilentStruct. Calls
88
/// pose.clear() and rebuilds Pose from scratch using FA_STANDARD residue
89
/// types.
90
virtual
void
fill_pose
(
91
core::pose::Pose
& pose
92
)
const
;
93
94
/// @brief Configure the conformation of the given Pose with the
95
/// conformational data within this BinaryProteinSilentStruct. Calls
96
/// pose.clear() and rebuilds Pose from scratch using the user-specified
97
/// residue types.
98
virtual
void
fill_pose
(
99
core::pose::Pose
& pose,
100
core::chemical::ResidueTypeSet
const
& residue_set
101
)
const
;
102
103
/// @brief opposite of fill_pose
104
virtual
void
fill_struct
(
core::pose::Pose
const
& pose,
std::string
tag );
105
106
/// @brief print header information
107
virtual
void
print_header
( std::ostream & out )
const
;
108
109
/// @brief Prints the conformation information within this
110
/// BinaryProteinSilentStruct to the given std::ostream.
111
virtual
void
print_conformation
( std::ostream & output )
const
;
112
113
/// @brief returns the positions of the CA atoms
114
virtual
ObjexxFCL::FArray2D< Real >
get_CA_xyz
()
const
;
115
116
// model quality-related methods.
117
virtual
Real
CA_rmsd
(
BinaryProteinSilentStruct
other_pss );
118
119
/// @brief calculates the RMSD between the C-alpha atoms of a Pose built from
120
/// the torsions in this ProteinSilentStruct and the C-alpha atoms from this
121
/// ProteinSilentStruct.
122
virtual
Real
get_debug_rmsd
();
123
124
125
void
add_jump
(
kinematics::Jump
jump
) {
126
jumps_
.push_back( jump.
rt
() );
127
}
128
129
kinematics::RT
const
&
jump
(
Size
jump_num )
const
{
130
return
jumps_
[ jump_num ];
131
}
132
133
void
fold_tree
(
kinematics::FoldTree
f ) {
134
fold_tree_
= f;
135
}
136
137
kinematics::FoldTree
const
&
fold_tree
( )
const
{
138
return
fold_tree_
;
139
}
140
141
bool
fullatom
()
const
{
142
return
fullatom_
;
143
}
144
145
virtual
void
fullatom
(
bool
fullatom
) {
146
fullatom_
=
fullatom
;
147
}
148
149
char
secstruct
(
unsigned
int
seqpos )
const
{
150
return
secstruct_
[seqpos];
151
}
152
153
void
secstruct
(
unsigned
int
seqpos,
char
ss ) {
154
secstruct_
[seqpos] = ss;
155
}
156
157
void
symmetry_info
(
core::conformation::symmetry::SymmetryInfo
& s ) {
158
symminfo_
=
new
core::conformation::symmetry::SymmetryInfo
( s );
159
}
160
161
core::conformation::symmetry::SymmetryInfoCOP
symmetry_info
( )
const
{
162
return
symminfo_
;
163
}
164
165
bool
is_symmetric
()
const
{
166
return
symminfo_
->get_use_symmetry();
167
}
168
169
void
parse_chain_endings
( std::istream & stream );
170
void
chain_endings
(
utility::vector1< Size >
const
& endings );
171
std::string
chain_endings_str
()
const
;
172
utility::vector1< Size >
const
&
chain_endings
()
const
{
173
return
chain_endings_
;
174
}
175
void
add_chain_ending
(
Size
const
seqpos );
176
177
private
:
178
bool
fullatom_
;
179
180
utility::vector1< char >
secstruct_
;
181
182
utility::vector1< kinematics::RT >
jumps_
;
183
bool
bJumps_use_IntraResStub_
;
184
kinematics::FoldTree
fold_tree_
;
185
core::conformation::symmetry::SymmetryInfoOP
symminfo_
;
186
utility::vector1< Size >
chain_endings_
;
187
utility::vector1< utility::vector1< numeric::xyzVector<float>
> >
atm_coords_
;
188
};
// class BinaryProteinSilentStruct
189
190
}
// namespace silent
191
}
// namespace io
192
}
// namespace core
193
194
#endif
Generated on Sat Jun 1 2013 11:33:01 for Rosetta 3.5 by
1.8.4