Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CoarseRNA_LoopCloser.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 loopRNA_minimizer.hh
11 /// @brief
12 /// @detailed
13 ///
14 /// @author Rhiju Das
15 
16 
17 #ifndef INCLUDED_protocols_coarse_rna_CoarseRNA_LoopCloser_HH
18 #define INCLUDED_protocols_coarse_rna_CoarseRNA_LoopCloser_HH
19 
20 #include <protocols/moves/Mover.hh>
22 #include <core/id/NamedAtomID.hh>
23 #include <core/id/DOF_ID.hh>
24 #include <core/pose/Pose.fwd.hh>
27 #include <utility/vector1.hh>
28 #include <core/types.hh>
29 #include <ObjexxFCL/FArray1D.hh>
30 
31 //// C++ headers
32 // AUTO-REMOVED #include <cstdlib>
33 #include <string>
34 
35 
36 namespace protocols {
37 namespace coarse_rna {
38 
39 /// @brief The RNA de novo structure modeling protocol
41 public:
42  /// @brief Construct the protocol object
44 
45  /// @brief Clone this object
46  virtual protocols::moves::MoverOP clone() const {
47  return new CoarseRNA_LoopCloser(*this);
48  }
49 
50  /// @brief Apply the loop-rebuild protocol to the input pose
52  virtual
53  void apply( core::pose::Pose & pose );
54 
55  /// @brief Apply the loop-rebuild protocol to the input pose
56  bool
57  apply( core::pose::Pose & pose, Size const & seqpos_moved );
58 
59  bool
60  apply_after_jump_change( core::pose::Pose & pose, Size const & jumpno );
61 
62  virtual std::string get_name() const;
63 
64  void
66 
67  void
69 
70  // Undefined, commenting out to fix PyRosetta build void choose_random_solution();
71 
72  void
75 
76  void
78 
80 
81  Size nsol(){ return nsol_; }
82 
84 
85  ObjexxFCL::FArray1D< bool > const & partition_definition(){ return partition_definition_; }
86 
87 private:
88 
89  bool
91 
92  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
93  void
95 
96  ////////////////////////////////////////////////////////////////////////////////////////
97  bool
98  figure_out_pivots( core::pose::Pose const & pose );
99 
100  ////////////////////////////////////////////////////////////////////////////////////////
101  void
103  Size const & res );
104 
105  void
107  utility::vector1< core::Size > & upstream_res,
108  utility::vector1< bool > & is_upstream_res,
109  core::pose::Pose const & pose );
110 
111  void
113 
114  void
116 
117  void
119  utility::vector1< bool > const & is_filter_res,
120  core::pose::Pose const & pose );
121 
122  void
124 
125  void
127 
128  void
130  utility::vector1<core::Real> const & dt_ang );
131 
132 
133  void
135  core::pose::Pose const & pose,
136  core::Size const & pivot,
137  core::id::DOF_ID const & dof_id,
138  core::Real const & original_torsion_value,
139  utility::vector1< core::Real > & offset_save );
140 
141  void
143 
144  void
146  Size const n ) const;
147 
148  void
150  utility::vector1< core::Real > const & db_ang,
151  utility::vector1< core::Real > const & db_len ) const;
152 
153  void
155  core::pose::Pose const & pose,
160  utility::vector1<core::Real> & db_len) const;
161 
162 private:
163 
164  bool const a_little_verbose_;
165  bool const verbose_;
169  int nsol_;
170 
175 
177 
181 
183 
188 
189  ObjexxFCL::FArray1D< bool > partition_definition_;
190 
191 }; // class CoarseRNA_LoopCloser
192 
193 
194 
195 } //rna
196 } // protocols
197 
198 #endif