Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StepWiseProteinScreener.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 SWA_Screener.hh
11 /// @brief
12 /// @detailed
13 ///
14 /// @author Rhiju Das
15 
16 
17 #ifndef INCLUDED_protocols_swa_protein_StepWiseProteinScreener_HH
18 #define INCLUDED_protocols_swa_protein_StepWiseProteinScreener_HH
19 
20 #include <core/pose/Pose.fwd.hh>
21 // AUTO-REMOVED #include <core/pose/Pose.hh>
22 #include <core/types.hh>
24 #include <utility/vector1.hh>
28 #include <protocols/moves/Mover.hh>
30 #include <string>
31 #include <map>
32 
33 //Auto Headers
34 #include <core/id/TorsionID.fwd.hh>
35 namespace protocols {
36 namespace swa {
37 namespace protein {
38 
39  typedef std::map< core::Size, core::Size > ResMap;
40  /////////////////////////////////////////////////////////////////////////////////////////////////
41  /////////////////////////////////////////////////////////////////////////////////////////////////
43  public:
44 
45  //constructor!
47 
48  //destructor -- necessary?
50 
51  /// @brief Apply the minimizer to one pose
52  virtual void apply( core::pose::Pose & pose_to_visualize );
53 
54  virtual std::string get_name() const;
55 
56 
57  void
58  set_silent_file( std::string const & setting );
59 
60  void
61  set_rmsd_cutoff( core::Real const & setting );
62 
63  void
64  set_n_sample( core::Size const & setting );
65 
66  void
67  set_nstruct_centroid( core::Size const & setting );
68 
69  void
70  set_filter_native_big_bins( bool const & setting );
71 
72  void
73  set_centroid_screen( bool const & setting );
74 
75  void
76  set_ghost_loops( bool const & setting );
77 
78  void
79  set_apply_vdw_cut( bool const & setting );
80 
81  void
83 
84  void
85  set_centroid_score_diff_cut( core::Real const & setting );
86 
88 
91 
93 
94 
95  void
96  setup_centroid_screen(core::Real const & centroid_score_diff_cut,
97  std::string const & centroid_weights,
98  core::Size const nstruct_centroid,
99  bool const ghost_loops);
100 
101  core::Size
102  get_big_bin( core::Real const phi, core::Real const psi ) const;
103 
104  void
106 
107  void
109 
110  private:
111 
112  void
114 
115  void
117 
118  void
119  prepare_ghost_pose( core::pose::Pose const & pose );
120 
121  void
123  core::pose::PoseOP & ghost_pose,
124  std::string const & desired_sequence,
125  core::pose::Pose const & template_pose,
126  ResMap const & ghost_map,
128 
129  void
130  copy_coords( core::pose::Pose & pose, core::pose::Pose const & template_pose, ResMap const & ghost_map ) const;
131 
133  figure_out_fold_tree( ResMap const & ghost_map ) const;
134 
135  void
137  Size const which_res,
138  Size & count,
139  core::pose::Pose & pose );
140 
141  void
143  std::string const & tag );
144 
145  void
147  core::Size const & n,
148  core::pose::Pose const & pose,
149  MainChainTorsionSetList & main_chain_torsion_set_list );
150 
151  void
153  core::Size const & n,
154  core::pose::Pose const & pose,
155  MainChainTorsionSetList & main_chain_torsion_set_list );
156 
157  void
158  get_main_chain_torsion_set_list_full( core::Size const & n, core::pose::Pose const & pose, core::Real const & best_energy_cutoff,
159  MainChainTorsionSetList & main_chain_torsion_set_list );
160 
161 
162  void
163  get_main_chain_torsion_set_list_n_terminus( core::Size const & n, core::pose::Pose const & pose, core::Real const & best_energy_cutoff,
164  MainChainTorsionSetList & main_chain_torsion_set_list );
165 
166 
167  void
168  get_main_chain_torsion_set_list_c_terminus( core::Size const & n, core::pose::Pose const & pose, core::Real const & best_energy_cutoff,
169  MainChainTorsionSetList & main_chain_torsion_set_list );
170 
171 
172  void
173  get_main_chain_torsion_set_list_sample_phi_only( core::Size const & n, core::pose::Pose const & pose, core::Real const best_energy_cutoff,
174  MainChainTorsionSetList & main_chain_torsion_set_list );
175 
176 
177  void
178  get_main_chain_torsion_set_list_sample_psi_only( core::Size const & n, core::pose::Pose const & pose, core::Real const best_energy_cutoff,
179  MainChainTorsionSetList & main_chain_torsion_set_list );
180 
181  void
183  core::Size const & n,
184  MainChainTorsionSetList & main_chain_torsion_set_list );
185 
186  void
188  char const & secstruct,
189  MainChainTorsionSetList & main_chain_torsion_set_list );
190 
191  void
192  filter_big_bin( Size const big_bin,
193  MainChainTorsionSetList & main_chain_torsion_set_list );
194 
195 
196 
197  private:
198 
199  void
201  core::pose::Pose const & pose, core::pose::PoseCOP const & native_pose_op,
202  std::string const silent_file, std::string const & tag );
203 
204  void
206 
207  void
208  sample_cis_omega( MainChainTorsionSetList & main_chain_torsion_set_list );
209 
210  void
212 
213  private:
214 
216 
220 
227 
230 
232 
234 
237 
239 
243 
246 
247  };
248 
249 } //swa
250 } // protocols
251 
252 }
253 #endif