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
pose
symmetry
util.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
// This file is part of the Rosetta software suite and is made available under license.
5
// The Rosetta software is developed by the contributing members of the Rosetta Commons consortium.
6
// (C) 199x-2009 Rosetta Commons participating institutions and developers.
7
// For more information, see http://www.rosettacommons.org/.
8
9
/// @file core/pose/symmetry/util.hh
10
/// @brief utility functions for handling with symmetric conformations
11
/// @author Ingemar Andre
12
13
#ifndef INCLUDED_core_pose_symmetry_util_hh
14
#define INCLUDED_core_pose_symmetry_util_hh
15
16
17
// Unit headers
18
// AUTO-REMOVED #include <core/conformation/symmetry/SymmetricConformation.fwd.hh>
19
// AUTO-REMOVED #include <core/conformation/Conformation.fwd.hh>
20
#include <
core/scoring/Energies.fwd.hh
>
21
#include <
core/scoring/ScoreFunction.fwd.hh
>
22
#include <
core/conformation/symmetry/SymmData.fwd.hh
>
23
#include <
core/conformation/symmetry/SymmetryInfo.fwd.hh
>
24
#include <
core/kinematics/MoveMap.fwd.hh
>
25
#include <
core/kinematics/FoldTree.fwd.hh
>
26
#include <
core/pose/Pose.fwd.hh
>
27
#include <
core/pose/PDBInfo.fwd.hh
>
28
#include <
core/types.hh
>
29
#include <ObjexxFCL/FArray1D.hh>
30
31
#include <utility/vector1.hh>
32
#include <string>
33
34
namespace
core {
35
namespace
pose {
36
namespace
symmetry {
37
38
bool
39
is_symmetric
(
pose::Pose
const
& pose );
40
41
bool
42
is_symmetric
( scoring::ScoreFunction
const
& scorefxn );
43
44
bool
45
is_symmetric
( scoring::Energies
const
& energies );
46
47
conformation::symmetry::SymmetryInfoCOP
48
symmetry_info
(
pose::Pose
const
& pose );
49
50
void
51
make_symmetric_pose
(
52
pose::Pose
& pose,
53
conformation::symmetry::SymmetryInfo
symmetry_info
54
);
55
56
void
57
make_symmetric_pose
(
58
pose::Pose
& pose,
59
conformation::symmetry::SymmData & symmdata
60
);
61
62
void
63
make_symmetric_pose
(
64
pose::Pose
& pose,
65
std::string
symmdef_file=
""
66
);
67
68
void
69
make_asymmetric_pose
(
70
pose::Pose
& pose
71
);
72
73
///@brief extract the asu from a pose... unlike previous function symmetric clones are thrown out
74
void
75
extract_asymmetric_unit
(
core::pose::Pose
const
& pose_in,
core::pose::Pose
& pose_out,
bool
with_virtual_atoms=
true
);
76
77
78
core::pose::Pose
79
get_asymmetric_pose_copy_from_symmetric_pose
(
80
pose::Pose
const
& pose
81
);
82
83
// @details make symmetric PDBIinfo
84
void
85
make_symmetric_pdb_info
(
86
pose::Pose
const
& pose,
87
pose::PDBInfoOP
pdb_info_src,
88
pose::PDBInfoOP
pdb_info_target
89
);
90
91
// @details extract the pdbInfo from the asymmetric unit
92
void
93
extract_asymmetric_unit_pdb_info
(
94
pose::Pose
const
& pose,
95
pose::PDBInfoCOP
pdb_info_src,
96
pose::PDBInfoOP
pdb_info_target
97
);
98
99
void
100
make_symmetric_movemap
(
101
pose::Pose
const
& pose,
102
kinematics::MoveMap & movemap
103
);
104
105
int
106
find_symmetric_basejump_anchor
(
pose::Pose
& pose );
107
108
int
109
find_symmetric_basejump_anchor
(
pose::Pose
& pose );
110
111
void
112
find_new_symmetric_jump_residues
(
core::pose::Pose
& pose );
113
114
void
115
rotate_anchor_to_x_axis
(
core::pose::Pose
& pose );
116
117
// find symm axis
118
numeric::xyzVector< core::Real >
119
get_symm_axis
(
core::pose::Pose
& pose );
120
121
// a couple functions to transform between symmetric and asymmetric foldtrees
122
// these do not require the symm data
123
void
124
symmetrize_fold_tree
(
core::pose::Pose
const
&p, kinematics::FoldTree &f );
125
126
void
127
set_asymm_unit_fold_tree
(
core::pose::Pose
&p, kinematics::FoldTree
const
&f);
128
129
// symmetry-aware version of FoldTree::partition_by_jump(). Accepts multiple jumps.
130
void
131
partition_by_symm_jumps
(
132
utility::vector1< int >
jump_numbers,
133
core::kinematics::FoldTree
const
& ft,
134
conformation::symmetry::SymmetryInfoCOP
symm_info,
135
ObjexxFCL::FArray1D_bool &partner1 );
136
137
138
// make a residue mask (like that used to restrict residues to repack) symmetric
139
void
140
make_residue_mask_symmetric
(
core::pose::Pose
const
&p,
utility::vector1< bool >
& msk );
141
142
core::kinematics::FoldTree
143
sealed_symmetric_fold_tree
(
core::pose::Pose
& pose );
144
145
int
146
get_sym_aware_jump_num
(
core::pose::Pose
const
& pose,
int
jump_num );
147
148
utility::vector1<std::string>
149
sym_dof_names
(
core::pose::Pose
const
& pose);
150
151
int
152
sym_dof_jump_num
(
core::pose::Pose
const
& pose,
std::string
const
& jname);
153
154
utility::vector1<Size>
155
get_symdof_subunits
(
core::pose::Pose
const
& pose,
std::string
const
& jname);
156
157
bool
is_multicomponent
(
core::pose::Pose
const
& pose);
158
bool
is_singlecomponent
(
core::pose::Pose
const
& pose);
159
Size
get_component_lower_bound
(
core::pose::Pose
const
& pose,
char
c
);
160
Size
get_component_upper_bound
(
core::pose::Pose
const
& pose,
char
c
);
161
char
get_component_of_residue
(
core::pose::Pose
const
& pose,
Size
ir);
162
char
get_subunit_name_to_component
(
core::pose::Pose
const
& pose,
std::string
const
& vname);
163
utility::vector1<char>
const
&
get_jump_name_to_components
(
core::pose::Pose
const
& pose,
std::string
const
& jname);
164
utility::vector1<Size>
const
&
get_jump_name_to_subunits
(
core::pose::Pose
const
& pose,
std::string
const
& jname);
165
166
}
// symmetry
167
}
// pose
168
}
// core
169
170
171
172
#endif
Generated on Sat Jun 1 2013 11:32:17 for Rosetta 3.5 by
1.8.4