Rosetta
 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 /// @details
13 ///
14 /// @author Rhiju Das, Parin Sripakdeevong
15 
16 
17 #ifndef INCLUDED_protocols_stepwise_rna_StepWiseRNA_Clusterer_HH
18 #define INCLUDED_protocols_stepwise_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 stepwise {
40 namespace legacy {
41 namespace modeler {
42 namespace rna {
43 
44 class SlicedPoseWorkingParameters: public utility::pointer::ReferenceCount{
45 
46 public:
47 
49  is_setup_( false )
50  {
51  }
52 
53  virtual ~SlicedPoseWorkingParameters(); // auto-removing definition from header{};
54 
55  void
57 
59  create_sliced_pose( core::pose::Pose const & working_pose );
60 
61 public:
62  utility::vector1< core::Size > sliced_pose_best_alignment; //check
63  utility::vector1 < core::Size > sliced_pose_calc_rms_res;
64  std::map< core::Size, core::Size > sliced_pose_full_to_sub;
65  std::map< core::Size, bool > sliced_pose_is_prepend_map;
66 
67 private:
68  utility::vector1< bool > is_sliced_res_;
69  utility::vector1 < core::Size > working_to_sliced_res_map_;
70  utility::vector1 < core::Size > sliced_to_working_res_map_;
71  utility::vector1< std::pair < core::Size, core::Size > > delete_res_range_list_;
72  bool is_setup_;
73 
74 };
75 
76 /////////////////////////////////////////////////////////////////////////////////////////////////
77 /////////////////////////////////////////////////////////////////////////////////////////////////
79 
80 public:
81 
83  ID( 0 ),
84  RMSD( 0.0 ),
85  score( 9999.99 )
86  {
87  }
88 
90 
91 public:
92 
93  core::Size ID;
96 
97 };
98 
99 
100 /////////////////////////////////////////////////////////////////////////////////////////////////
101 
102 class StepWiseRNA_Clusterer: public utility::pointer::ReferenceCount {
103 public:
104 
105  //constructor!
106  StepWiseRNA_Clusterer( utility::vector1< std::string > const & silent_files_in );
107 
108  StepWiseRNA_Clusterer( std::string const & silent_file_in );
109 
111 
112  //destructor -- necessary?
113  virtual ~StepWiseRNA_Clusterer();
114 
115  /// @brief Filter a list of poses by score.
116 
117 
118  void set_max_decoys( core::Size const & setting ){ max_decoys_ = setting; }
119 
120  void set_score_diff_cut( core::Real const & setting ){ score_diff_cut_ = setting; }
121 
122  void set_perform_score_diff_cut( bool const & setting ){ perform_score_diff_cut_ = setting; }
123 
124  void set_cluster_radius( core::Real const & setting ){ whole_struct_cluster_radius_ = setting; }
125 
126  void set_suite_cluster_radius( core::Real const & setting ){ suite_cluster_radius_ = setting; }
127 
128  void set_loop_cluster_radius( core::Real const & setting ){ loop_cluster_radius_ = setting; }
129 
130  void set_rename_tags( core::Real const & setting ){ rename_tags_ = setting; }
131 
132  void set_distinguish_pucker( core::Real const & setting ){ distinguish_pucker_ = setting; }
133 
134  void set_add_lead_zero_to_tag( core::Real const & setting ){ add_lead_zero_to_tag_ = setting; }
135 
137 
138  void set_working_parameters_exist( bool const working_parameters_exist );
139 
140  void set_quick_alignment( bool const & setting ){ quick_alignment_ = setting; }
141 
142  void set_align_only_over_base_atoms( bool const & setting ){ align_only_over_base_atoms_ = setting; }
143 
144  void set_optimize_memory_usage( bool const & setting ){ optimize_memory_usage_ = setting; }
145 
146  void set_keep_pose_in_memory( bool const & setting ){ keep_pose_in_memory_ = setting; }
147 
148  void set_two_stage_clustering( bool const & setting ){ two_stage_clustering_ = setting; }
149 
150  void set_verbose( bool const & setting ){ verbose_ = setting; }
151 
152 
153  void cluster();
154 
155  void
156  output_silent_file( std::string const & silent_file );
157 
158  void
161  bool const write_score_only );
162 
163  void
165 
166  void
168 
169  void
170  set_skip_clustering( bool const & setting ){ skip_clustering_ = setting; }
171 
172  void
173  set_filter_virtual_res_list( utility::vector1 < core::Size > const & setting ){ filter_virtual_res_list_ = setting; }
174 
175  void
176  set_perform_VDW_rep_screen( bool const & setting ){ perform_VDW_rep_screen_ = setting; }
177 
178  void
179  set_perform_filters( bool const & setting ){ perform_filters_ = setting; }
180 
181  void
183 
184  void
185  set_VDW_rep_screen_info( utility::vector1< std::string > const & setting ){ VDW_rep_screen_info_ = setting; }
186 
187  void
189 
190  void
192 
193  void
195 
196  void
198 
199  void
201 
202  void
203  set_output_pdb( bool const setting ){ output_pdb_ = setting; }
204 
205 private:
206 
207  void
209 
210  void
212 
213  void
215 
216  void
218 
219  void
221 
222 
223  bool
225  core::pose::Pose const & cluster_center_pose,
226  utility::vector1 < core::Size > const & calc_rms_res,
227  std::map< core::Size, core::Size > const & full_to_sub,
228  std::map< core::Size, bool > const & is_prepend_map,
229  core::Real const & cluster_radius ) const;
230 
231 
233  get_poseOP( Size const n );
234 
235  void
236  setup_fail_triangle_inequailty_list( core::pose::Pose & current_pose, std::string const & tag, utility::vector1< bool > & fail_triangle_inequality_list );
237 
238 
239  bool
241 
242  bool
244 
245 
246  bool
247  check_for_closeness( core::pose::PoseOP const & pose_op, std::string const & tag );
248 
249  utility::vector1< core::Size > const &
250  get_act_alignment_res() const;
251 
252  utility::vector1 < core::Size > const &
253  get_act_calc_rms_res() const;
254 
255  std::map< core::Size, core::Size > const &
256  get_act_full_to_sub() const;
257 
258  std::map< core::Size, bool > const &
259  get_act_is_prepend_map() const;
260 
261  void
263 
264  void
266 
267  void
268  align_to_quick_alignment_pose( core::pose::Pose & pose, std::string const & tag ) const;
269 
270  void
272 
273  void
274  create_tags_map();
275 
276  bool
278 
279 
280 private:
281 
282  utility::vector1< std::string > silent_files_;
284 
285  utility::vector1< core::pose::PoseOP > pose_output_list_;
286  utility::vector1< std::string > tag_output_list_;
287  utility::vector1< core::io::silent::SilentStructOP > silent_struct_output_list_;
288 
292 
296 
306 
307  bool verbose_;
311 
315  utility::vector1< utility::vector1< Cluster_Member > > cluster_centers_neighbor_list_;
316  utility::vector1< core::pose::PoseOP > large_cluster_pose_list_;
317  utility::vector1< core::Size > all_pose_to_output_pose_ID_map_;
319 
324 
329  utility::vector1< std::string > VDW_rep_screen_info_;
331 
332  utility::vector1 < core::Size > filter_virtual_res_list_;
333 
334  std::map< std::string, bool > current_tags_map_;
335  std::map< std::string, bool > parent_tags_map_;
336 
342 
343 };
344 
345 } //rna
346 } //modeler
347 } //legacy
348 } //stepwise
349 } //protocols
350 
351 #endif
void align_to_quick_alignment_pose(core::pose::Pose &pose, std::string const &tag) const
utility::vector1< core::Size > const & get_act_alignment_res() const
core::pose::Pose create_sliced_pose(core::pose::Pose const &working_pose)
void setup_fail_triangle_inequailty_list(core::pose::Pose &current_pose, std::string const &tag, utility::vector1< bool > &fail_triangle_inequality_list)
Pose forward declarations header.
void set_working_parameters_exist(bool const working_parameters_exist)
A molecular system including residues, kinematics, and energies.
Definition: Pose.hh:151
utility::vector1< core::Size > const & get_act_calc_rms_res() const
core::import_pose::pose_stream::SilentFilePoseInputStreamOP input_
protocols::stepwise::modeler::rna::checker::RNA_VDW_BinCheckerOP user_input_VDW_bin_checker_
utility::vector1< std::pair< core::Size, core::Size > > delete_res_range_list_
utility::pointer::shared_ptr< StepWiseRNA_PoseSetup > StepWiseRNA_PoseSetupOP
void setup(protocols::stepwise::modeler::working_parameters::StepWiseWorkingParametersCOP &working_parameters)
platform::Size Size
Definition: types.hh:30
StepWiseRNA_Clusterer(utility::vector1< std::string > const &silent_files_in)
utility::pointer::weak_ptr< ResidueTypeSet const > ResidueTypeSetCAP
utility::pointer::shared_ptr< RNA_VDW_BinChecker > RNA_VDW_BinCheckerOP
void set_working_parameters(protocols::stepwise::modeler::working_parameters::StepWiseWorkingParametersCOP &working_parameters)
std::map< core::Size, bool > const & get_act_is_prepend_map() const
rosetta project type declarations
bool is_old_individual_suite_cluster(core::pose::Pose const &current_pose, core::pose::Pose const &cluster_center_pose, utility::vector1< core::Size > const &calc_rms_res, std::map< core::Size, core::Size > const &full_to_sub, std::map< core::Size, bool > const &is_prepend_map, core::Real const &cluster_radius) const
void set_user_input_VDW_bin_checker(protocols::stepwise::modeler::rna::checker::RNA_VDW_BinCheckerOP const &user_input_VDW_bin_checker)
void recalculate_rmsd_and_output_silent_file(std::string const &silent_file, protocols::stepwise::legacy::modeler::rna::StepWiseRNA_PoseSetupOP &stepwise_rna_pose_setup, bool const write_score_only)
void set_filter_virtual_res_list(utility::vector1< core::Size > const &setting)
core::scoring::ScoreFunction forward declarations
utility::pointer::shared_ptr< Pose > PoseOP
Definition: Pose.fwd.hh:25
bool pass_FARFAR_no_auto_bulge_filter(core::io::silent::SilentStructOP const &silent_struct) const
platform::Real Real
Definition: types.hh:35
utility::pointer::shared_ptr< SilentFileData > SilentFileDataOP
std::map< core::Size, core::Size > const & get_act_full_to_sub() const
utility::vector1< utility::vector1< Cluster_Member > > cluster_centers_neighbor_list_
utility::pointer::shared_ptr< StepWiseWorkingParameters const > StepWiseWorkingParametersCOP
void get_best_neighboring_shift_RMSD_and_output_silent_file(std::string const &silent_file)
protocols::stepwise::modeler::working_parameters::StepWiseWorkingParametersCOP working_parameters_
utility::pointer::shared_ptr< SilentFilePoseInputStream > SilentFilePoseInputStreamOP
void set_VDW_rep_screen_info(utility::vector1< std::string > const &setting)
bool is_new_cluster_center_with_working_parameters(core::pose::PoseOP const &pose_op, std::string const &tag)
utility::pointer::shared_ptr< SilentStruct > SilentStructOP
Definition: silent.fwd.hh:50
void set_max_decoys(core::Size const &setting)
Filter a list of poses by score.
bool check_for_closeness(core::pose::PoseOP const &pose_op, std::string const &tag)
core::Size full_to_sub(core::Size const i, core::pose::Pose const &pose)
Definition: util.cc:557
bool check_for_closeness_without_working_parameters(core::pose::PoseOP const &pose_op)
Pose class.
utility::vector1< core::io::silent::SilentStructOP > silent_struct_output_list_