Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StepWiseRNA_Clusterer.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 StepWiseRNA_Clusterer.hh
11 /// @brief
12 /// @detailed
13 ///
14 /// @author Rhiju Das, Parin Sripakdeevong
15 
16 
17 #ifndef INCLUDED_protocols_swa_rna_StepWiseRNA_Clusterer_HH
18 #define INCLUDED_protocols_swa_rna_StepWiseRNA_Clusterer_HH
19 
20 #include <core/pose/Pose.fwd.hh>
21 #include <core/pose/Pose.hh>
27 #include <utility/pointer/ReferenceCount.hh>
28 #include <utility/vector1.hh>
29 #include <core/types.hh>
31 
35 
36 #include <map>
37 
38 namespace protocols {
39 namespace swa {
40 namespace rna {
41 
43 
44  public:
45 
47  verbose_(true),
48  Is_setup_(false)
49  {
50  }
51 
52  virtual ~SlicedPoseJobParameters(); // auto-removing definition from header{};
53 
54  void
56 
58  create_sliced_pose(core::pose::Pose const & working_pose);
59 
60  public:
63  std::map< core::Size, core::Size > sliced_pose_full_to_sub;
64  std::map< core::Size, bool > sliced_pose_Is_prepend_map;
65 
66 
67 
68 
69  private:
74  bool verbose_;
75  bool Is_setup_;
76 
77  };
78 
79  /////////////////////////////////////////////////////////////////////////////////////////////////
80  /////////////////////////////////////////////////////////////////////////////////////////////////
82 
83  public:
84 
86  ID( 0 ),
87  RMSD( 0.0 ),
88  score(9999.99)
89  {
90  }
91 
93 
94  public:
95 
96  core::Size ID;
99 
100  };
101 
102 
103  /////////////////////////////////////////////////////////////////////////////////////////////////
104 
106  public:
107 
108  //constructor!
109  StepWiseRNA_Clusterer( utility::vector1< std::string > const & silent_files_in );
110 
111  StepWiseRNA_Clusterer( std::string const & silent_file_in );
112 
114 
115  //destructor -- necessary?
116  virtual ~StepWiseRNA_Clusterer();
117 
118  /// @brief Filter a list of poses by score.
119 
120 
121  void set_max_decoys( core::Size const & setting ){ max_decoys_ = setting; }
122 
123  void set_score_diff_cut( core::Real const & setting ){ score_diff_cut_ = setting; }
124 
125  void set_perform_score_diff_cut( bool const & setting ){ perform_score_diff_cut_ = setting; }
126 
127  void set_cluster_radius( core::Real const & setting ){ whole_struct_cluster_radius_ = setting; }
128 
129  void set_suite_cluster_radius( core::Real const & setting ){ suite_cluster_radius_ = setting; }
130 
131  void set_loop_cluster_radius( core::Real const & setting ){ loop_cluster_radius_ = setting; }
132 
133  void set_rename_tags( core::Real const & setting ){ rename_tags_ = setting; }
134 
135  void set_distinguish_pucker( core::Real const & setting ){ distinguish_pucker_ = setting; }
136 
137  void set_add_lead_zero_to_tag( core::Real const & setting ){ add_lead_zero_to_tag_ = setting; }
138 
140 
141  void set_job_parameters_exist( bool const job_parameters_exist);
142 
143  void set_quick_alignment( bool const & setting){ quick_alignment_ = setting;}
144 
145  void set_align_only_over_base_atoms( bool const & setting){ align_only_over_base_atoms_ = setting; }
146 
147  void set_optimize_memory_usage( bool const & setting){ optimize_memory_usage_ = setting;}
148 
149  void set_keep_pose_in_memory( bool const & setting){ keep_pose_in_memory_ = setting;}
150 
151  void set_two_stage_clustering( bool const & setting){ two_stage_clustering_ = setting;}
152 
153  void set_verbose( bool const & setting){ verbose_ = setting;}
154 
155 
156  void cluster();
157 
158  void
159  output_silent_file( std::string const & silent_file );
160 
161  void
163  protocols::swa::rna::StepWiseRNA_PoseSetupOP & stepwise_rna_pose_setup,
164  bool const write_score_only);
165 
166  void
168 
169  void
171 
172  void
173  set_skip_clustering( bool const & setting){skip_clustering_= setting; }
174 
175  void
177 
178  void
179  set_perform_VDW_rep_screen( bool const & setting){perform_VDW_rep_screen_= setting; }
180 
181  void
182  set_perform_filters( bool const & setting){perform_filters_= setting; }
183 
184  void
186 
187  void
189 
190  void
192 
193  void
195 
196  void
198 
199  void
201 
202  void
204 
205  void
206  set_output_pdb( bool const setting){ output_pdb_=setting;}
207 
208  private:
209 
210  void
212 
213  void
215 
216  void
218 
219  void
221 
222  void
224 
225 
226  bool
228  core::pose::Pose const & cluster_center_pose,
229  utility::vector1 < core::Size > const & rmsd_res_list,
230  std::map< core::Size, core::Size > const & full_to_sub,
231  std::map< core::Size, bool > const & Is_prepend_map,
232  core::Real const & cluster_radius) const;
233 
234 
236  get_poseOP(Size const n);
237 
238  void
239  setup_fail_triangle_inequailty_list(core::pose::Pose & current_pose, std::string const & tag, utility::vector1< bool > & fail_triangle_inequality_list);
240 
241 
242  bool
244 
245  bool
247 
248 
249  bool
250  check_for_closeness( core::pose::PoseOP const & pose_op , std::string const & tag );
251 
253  get_act_alignment_res() const;
254 
256  get_act_rmsd_res_list() const;
257 
258  std::map< core::Size, core::Size > const &
259  get_act_full_to_sub() const;
260 
261  std::map< core::Size, bool > const &
262  get_act_Is_prepend_map() const;
263 
264  void
266 
267  void
269 
270  void
272 
273  void
275 
276  void
277  create_tags_map();
278 
279  bool
281 
282 
283  private:
284 
287 
291 
295 
299 
309 
310  bool verbose_;
314 
322 
327 
334 
336 
337  std::map< std::string, bool > current_tags_map_;
338  std::map< std::string, bool > parent_tags_map_;
339 
345 
346  };
347 
348 } //rna
349 } //swa
350 } // protocols
351 
352 #endif