Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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>
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 
48 symmetry_info( pose::Pose const & pose );
49 
50 void
52  pose::Pose & pose,
54 );
55 
56 void
58  pose::Pose & pose,
59  conformation::symmetry::SymmData & symmdata
60 );
61 
62 void
64  pose::Pose & pose,
65  std::string symmdef_file=""
66 );
67 
68 void
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 
80  pose::Pose const & pose
81 );
82 
83 // @details make symmetric PDBIinfo
84 void
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
94  pose::Pose const & pose,
95  pose::PDBInfoCOP pdb_info_src,
96  pose::PDBInfoOP pdb_info_target
97 );
98 
99 void
101  pose::Pose const & pose,
102  kinematics::MoveMap & movemap
103 );
104 
105 int
107 
108 int
110 
111 void
113 
114 void
116 
117 // find symm axis
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
132  utility::vector1< int > jump_numbers,
133  core::kinematics::FoldTree const & ft,
135  ObjexxFCL::FArray1D_bool &partner1 );
136 
137 
138 // make a residue mask (like that used to restrict residues to repack) symmetric
139 void
141 
144 
145 int
146 get_sym_aware_jump_num( core::pose::Pose const & pose, int jump_num );
147 
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 
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);
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);
165 
166 } // symmetry
167 } // pose
168 } // core
169 
170 
171 
172 #endif