Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BackrubSidechainMover.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 /protocols/backrub/BackrubSidechainMover.hh
11 /// @brief
12 /// @author
13 
14 #ifndef INCLUDED_protocols_backrub_BackrubSidechainMover_hh
15 #define INCLUDED_protocols_backrub_BackrubSidechainMover_hh
16 
17 // Unit Headers
19 
20 // Project Headers
22 // AUTO-REMOVED #include <protocols/backrub/BackrubMover.hh>
23 // AUTO-REMOVED #include <protocols/simple_moves/sidechain_moves/SidechainMover.hh>
24 #include <core/pose/Pose.fwd.hh>
25 
26 // Numeric Headers
27 // AUTO-REMOVED #include <numeric/MultiDimensionalHistogram.hh>
28 
29 // Utility Headers
30 #include <core/types.hh>
31 #include <utility/vector1.hh>
32 
36 #include <utility/vector0.hh>
37 #include <numeric/MultiDimensionalHistogram.fwd.hh>
38 
39 
40 namespace protocols {
41 namespace backrub {
42 
43 ///@details
45 
46 public:
47 
48  ///@brief
50 
51  ///@brief
53  BackrubSidechainMover const & mover
54  );
55 
56  virtual
58 
59  virtual
61  clone() const;
62 
63  virtual
65  fresh_instance() const;
66 
67  virtual
69  get_name() const;
70 
71  virtual
72  void
74  utility::tag::TagPtr const tag,
76  protocols::filters::Filters_map const & filters,
77  protocols::moves::Movers_map const & movers,
78  core::pose::Pose const & pose
79  );
80 
81  void
83  core::pose::Pose const & pose
84  );
85 
86  virtual
87  void
89  core::pose::Pose & pose,
91  core::Size cycle //non-zero if trajectory is restarted
92  );
93 
94  virtual
95  void
96  apply(
97  core::pose::Pose & pose
98  );
99 
100  /// @brief callback after the Metropolis criterion is evaluated
101  virtual
102  void
104  protocols::canonical_sampling::MetropolisHastingsMover const & metropolis_hastings_mover
105  );
106 
107  virtual
108  void
110  core::pose::Pose & pose,
111  protocols::canonical_sampling::MetropolisHastingsMover const & metropolis_hastings_mover
112  );
113 
115  pivot_residues() const;
116 
117  void
119  utility::vector1<core::Size> const & pivot_residues
120  );
121 
123  task_factory() const;
124 
125  void
128  );
129 
130  /// @brief get the probability of uniformly sampling chi angles
131  core::Real
132  prob_uniform() const;
133 
134  /// @brief set the probability of uniformly sampling chi angles
135  void
137  core::Real prob_uniform
138  );
139 
140  /// @brief get the probability of sampling within the same rotamer
141  core::Real
142  prob_withinrot() const;
143 
144  /// @brief set the probability of sampling within the same rotamer
145  void
147  core::Real prob_withinrot
148  );
149 
150  core::Real
151  prob_random_pert_current() const;
152 
153  void
155  core::Real prob_pert
156  );
157 
158  /// @brief get whether detailed balance is preserved
159  virtual
160  bool
162 
163  /// @brief set whether detailed balance is preserved
164  virtual
165  void
167  bool preserve_detailed_balance
168  );
169 
170  /// @brief get whether to exit during initialize_simulation if the mm_bend term isn't turned on
171  bool
172  require_mm_bend() const;
173 
174  /// @brief set whether to exit during initialize_simulation if the mm_bend term isn't turned on
175  void
177  bool require_mm_bend
178  );
179 
180  /// @brief get the TorsionIDs perturbed by the mover during moves, along with their ranges
181  virtual
184  core::pose::Pose & pose
185  );
186 
187  /// @brief get whether to record mover statistics or not
188  bool
189  record_statistics() const;
190 
191  /// @brief set whether to record mover statistics or not
192  void
194  bool record_statistics
195  );
196 
197  /// @brief get filename for statistics output
198  std::string const &
199  statistics_filename() const;
200 
201  /// @brief set filename for statistics output
202  void
204  std::string const & statistics_filename
205  );
206 
207  void
209 
210  void
212  std::ostream & out
213  );
214 
215 private:
216 
217  void
219 
220  void
222  bool accept
223  );
224 
225  void
226  update_type();
227 
238 
239 }; //end BackrubSidechainMover
240 
241 } //namespace backrub
242 } //namespace protocols
243 
244 #endif // INCLUDED_protocols_backrub_BackrubSidechainMover_HH