Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SidechainMCMover.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/simple_moves/sidechain_moves/SidechainMCMover.hh
11 /// @brief definition of SidechainMCMover class and functions
12 /// @author Colin A. Smith (colin.smith@ucsf.edu)
13 
14 
15 #ifndef INCLUDED_protocols_simple_moves_sidechain_moves_SidechainMCMover_hh
16 #define INCLUDED_protocols_simple_moves_sidechain_moves_SidechainMCMover_hh
17 
18 // Unit Headers
23 
24 // Protocols Headers
25 #include <protocols/moves/Mover.hh>
28 
29 
30 // Core Headers
31 // AUTO-REMOVED #include <core/pack/task/TaskFactory.hh>
34 #include <core/pose/Pose.fwd.hh>
35 // AUTO-REMOVED #include <numeric/random/random.hh>
36 
37 
40 
41 // Utility Headers
42 #include <utility/tag/Tag.fwd.hh>
43 
44 // AUTO-REMOVED #include <utility/vector0.hh>
45 // AUTO-REMOVED #include <utility/vector1.hh>
46 // AUTO-REMOVED #include <numeric/conversions.hh>
47 
49 #include <utility/vector1.hh>
50 
51 #ifdef WIN32
53 #endif
54 
55 
56 namespace protocols {
57 namespace simple_moves {
58 namespace sidechain_moves {
59 
60 
61 /// @brief class for non-discrete side chain sampling using Dunbrack rotamer probabilities/distributions
63 
64 public:
65 //
66  /// @brief default constructor
68 
69  /// @brief constructor with user provided rotamer library
72  );
73 
75 
76  void
77  show_counters( std::ostream & out );
78 
79  void
81 
82  //parser stuff
86 
87  /// @brief apply a sidechain move to a Pose object
88  void
89  apply(
90  core::pose::Pose & pose
91  );
92 
93  virtual std::string get_name() const;
94 
95  void
97  ntrials_ = ntrial;
98  };
99 
100  core::Size
102  return ntrials_;
103  }
104 
105  void
107  temperature_ = temp;
108  }
109 
110  core::Real
112  return temperature_;
113  }
114 
115  void
117  {
119  }
120 
121  bool
123  {
125  }
126 
127  void
129  sfxn_ = sfxn;
130  }
131 
134  return sfxn_;
135  }
136 
137  virtual
138  void
140  core::pose::Pose & pose,
142  core::Size cycle //non-zero if trajectory is restarted
143  );
144 
145  virtual
146  core::Real
148  {
149  return 1;
150  }
151 
152  virtual
153  bool
155  {
156  return true;
157  }
158 
159  virtual
160  core::Real
162  {
164  }
165 
166  virtual
169  {
171  }
172 
173  virtual
174  void
177  )
178  {
180  }
181 
182 
183 private:
184 
186 
187  void
188  perturb_chi(numeric::random::RandomGenerator Rand,
189  core::Real max_deviation,
190  utility::vector1<core::Real> & current_chi,
192  );
193 
194  //ek for fast sidechain sampling and internal mc trials
210 
211 }; //SidechainMCMover
212 
213 
214 } // sidechain_moves
215 } // simple_moves
216 } // protocols
217 
218 #endif
219