Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StepWiseRNA_ResidueSampler.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 res 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_ResidueSampler.hh
11 /// @brief
12 /// @detailed
13 ///
14 /// @author Parin Sripakdeevong
15 /// @author Rhiju Das
16 
17 
18 #ifndef INCLUDED_protocols_swa_rna_StepWiseRNA_ResidueSampler_HH
19 #define INCLUDED_protocols_swa_rna_StepWiseRNA_ResidueSampler_HH
20 
21 //#include <numeric/xyzMatrix.hh>
22 //#include <numeric/xyzVector.hh>
29 #include <protocols/swa/rna/StepWiseRNA_VDW_Bin_Screener.hh> //Feb 02, 2012: Need this to pass rosetta_tools/python_cc_reader/test_all_headers_compile.py
34 #include <core/pose/Pose.fwd.hh>
35 #include <core/types.hh>
38 #include <utility/vector1.hh>
39 #include <protocols/moves/Mover.hh>
40 #include <string>
41 #include <map>
42 
43 
44 namespace protocols {
45 namespace swa {
46 namespace rna {
47 
48  // typedef std::map< std::string, core::pose::PoseOP > PoseList;
49 
50  /////////////////////////////////////////////////////////////////////////////////////////////////
51  /////////////////////////////////////////////////////////////////////////////////////////////////
53  public:
54 
55  //constructor!
57 
58  //destructor -- necessary?
60 
61  /// @brief Apply the minimizer to one pose
62  virtual void apply( core::pose::Pose & pose_to_visualize );
63 
64  virtual std::string get_name() const;
65 
66  void
67  set_centroid_screen( bool const setting){ centroid_screen_=setting;}
68 
69  void
71 
72  void
73  set_VDW_atr_rep_screen( bool const setting){ VDW_atr_rep_screen_=setting;}
74 
75  void
76  set_silent_file( std::string const & setting );
77 
78  void
79  set_output_filename( std::string const & output_filename);
80 
81  void
82  set_scorefxn( core::scoring::ScoreFunctionOP const & scorefxn );
83 
84  void
85  set_fast( bool const & setting );
86 
87  void
88  set_medium_fast( bool const & setting);
89 
90  void
91  set_native_rmsd_screen( bool const & setting );
92 
93  void
94  set_native_screen_rmsd_cutoff( core::Real const & setting);
95 
96  void
97  set_integration_test_mode( bool const & setting);
98 
99  void
100  set_verbose( bool const & setting );
101 
102  void
103  set_perform_o2star_pack( bool const & setting );
104 
105  void
106  set_cluster_rmsd( core::Real const & setting );
107 
108  void
109  set_allow_bulge_at_chainbreak( bool const & setting );
110 
113 
115 
116  void output_pose_data_list( std::string const final_sampler_output_silent_file ) const;
117 
118  void set_num_pose_kept( core::Size const & num_pose_kept );
119 
120  void
122 
123  void
124  set_parin_favorite_output( bool const & setting){ parin_favorite_output_=setting ; }
125 
126  void
127  set_floating_base( bool const & setting){ floating_base_=setting ; }
128 
129  void
130  set_include_syn_chi( bool const & setting){ include_syn_chi_=setting ; }
131 
132  void
133  set_allow_syn_pyrimidine( bool const & setting){ allow_syn_pyrimidine_ =setting; }
134 
135  void
136  set_distinguish_pucker( bool const & setting){ distinguish_pucker_=setting ; }
137 
138  void
140 
141  void
143 
144  void
145  set_reinitialize_CCD_torsions( bool const & setting){ reinitialize_CCD_torsions_ =setting; }
146 
147  void
148  set_user_input_VDW_bin_screener(StepWiseRNA_VDW_Bin_ScreenerOP const & user_input_VDW_bin_screener){ user_input_VDW_bin_screener_= user_input_VDW_bin_screener; }
149 
150  void
151  set_extra_epsilon_rotamer( bool const & setting){ extra_epsilon_rotamer_ = setting; }
152 
153  void
154  set_extra_beta_rotamer( bool const & setting){ extra_beta_rotamer_ = setting; }
155 
156  void
157  set_extra_anti_chi_rotamer( bool const & setting){ extra_anti_chi_rotamer_ = setting; }
158 
159  void
160  set_extra_syn_chi_rotamer( bool const & setting){ extra_syn_chi_rotamer_ = setting; }
161 
162  void
164 
165  void
167 
168  void
169  set_rebuild_bulge_mode( bool const & setting){ rebuild_bulge_mode_ = setting; }
170 
171  void
173 
174  void
176 
177  void
178  set_combine_long_loop_mode( bool const & setting){ combine_long_loop_mode_ = setting; }
179 
180  void
182 
183  void
185 
186  void
188 
189  void
190  set_output_pdb( bool const setting){ output_pdb_=setting;}
191 
192 
193  private:
194 
195  void
197 
198  void
199  Copy_CCD_torsions(core::pose::Pose & pose, core::pose::Pose const & template_pose) const;
200 
201  void
202  Copy_CCD_torsions_general(core::pose::Pose & pose, core::pose::Pose const & template_pose, core::Size const five_prime_res, core::Size const three_prime_res) const;
203 
204  bool
205  Chain_break_screening(core::pose::Pose & chain_break_screening_pose, core::scoring::ScoreFunctionOP const & constraint_scorefxn );
206 
207  bool
208  Chain_break_screening_general( core::pose::Pose & chain_break_screening_pose, core::scoring::ScoreFunctionOP const & chainbreak_scorefxn, core::Size const five_prime_res);
209 
210  void
212  FloatingBaseChainClosureJobParameter const & prev_sugar_FB_JP,
213  FloatingBaseChainClosureJobParameter const & curr_sugar_FB_JP,
214  FloatingBaseChainClosureJobParameter const & five_prime_CB_sugar_FB_JP,
215  FloatingBaseChainClosureJobParameter const & three_prime_CB_sugar_FB_JP);
216 
217  void
218  standard_sampling(core::pose::Pose & pose, utility::vector1< pose_data_struct2 > & pose_data_list, std::string const sugar_tag );
219 
220 
221  void
223 
224  void
225  get_base_atr_rep_score(core::pose::Pose const & pose, core::Real & base_atr_score, core::Real & base_rep_score);
226 
227  bool
229  core::pose::Pose & current_pose_screen,
230  core::Real const & base_rep_score,
231  core::Real const & base_atr_score,
232  core::Real & delta_rep_score,
233  core::Real & delta_atr_score,
234  core::Size const & gap_size,
235  bool const & Is_internal);
236 
237 
238  bool
240  core::pose::Pose & current_pose_screen,
241  core::Real const & base_rep_score,
242  core::Real const & base_atr_score,
243  core::Real & delta_rep_score,
244  core::Real & delta_atr_score,
245  core::Size const & gap_size,
246  bool const & Is_internal);
247 
248  void
250 
251  void
253 
254  void
255  sample_o2star_hydrogen( core::pose::Pose & pose , core::pose::Pose & pose_with_original_HO2star_torsion );
256 
257  core::Real
259 
260  bool
261  apply_bulge_variant( core::pose::Pose & pose, core::Real const & delta_atr_score );
262 
263  void
264  Update_pose_data_list(std::string const & tag, utility::vector1< pose_data_struct2 > & pose_data_list, core::pose::Pose const & current_pose, core::Real const & current_score) const;
265 
266  void
268 
270  create_tag(std::string const prestring, StepWiseRNA_RotamerGenerator_WrapperOP const & rotamer_generator) const;
271 
273  get_reference_stub(core::Size const reference_res, core::pose::Pose const & pose) const;
274 
275 
276  std::string //silly function to convert to real to string
277  create_torsion_value_string(core::Real const & torsion_value) const;
278 
280  create_rotamer_string( core::pose::Pose const & pose) const;
281 
282  /////////////////////////////////////function related to sampling/setup virtual sugar /////////////////////////////////////////////////////////////////
283  bool
284  Is_previous_sugar_virtual( core::pose::Pose const & pose ) const;
285 
286  bool
287  Is_current_sugar_virtual( core::pose::Pose const & pose ) const;
288 
289  bool
291 
292  bool
294 
297 
298  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
299 
300 
301  private:
302 
303  StepWiseRNA_JobParametersCOP job_parameters_; //need to use the full_to_sub map...should convert to const style.. Parin Feb 28, 2010
304 
307 
313 
315 
319  core::Real const bin_size_; /*ALWAYS 20!!!*/
324  bool verbose_;
327 
331  bool const use_green_packer_;
333  bool fast_;
337 
339 
366 
368 
369 
370  };
371 
372 }
373 } //swa
374 } // protocols
375 
376 #endif