Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
KinematicAbinitio.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
11 /// @brief Abinitio - Type sampling controlled by KinematicControl object
12 /// @detailed
13 /// @author Oliver Lange
14 ///
15 
16 
17 #ifndef INCLUDED_protocols_abinitio_KinematicAbinitio_hh
18 #define INCLUDED_protocols_abinitio_KinematicAbinitio_hh
19 
20 
21 // Unit Headers
23 
24 #ifdef PYROSETTA
25 //#include <core/fragment/Frame.hh>
27 #endif
28 
29 
30 // Package Headers
34 
36 
37 // Project Headers
38 #include <core/pose/Pose.fwd.hh>
42 
43 
44 
46 
48 
49 #include <core/types.hh>
50 
52 
53 #include <utility/vector1.hh>
54 
55 
56 // ObjexxFCL Headers
57 
58 // Utility headers
59 
60 //// C++ headers
61 
62 
63 
64 namespace protocols {
65 namespace abinitio {
66 
69 public:
74  int dummy /* otherwise the two constructors are ambigous */
75  );
76 
78  core::fragment::FragSetCOP fragset3mer,
79  core::fragment::FragSetCOP fragset9mer,
81  );
82 
84 
85  virtual moves::MoverOP clone() const {
86  return new KinematicAbinitio(*this);
87  }
88 
89  static void register_options();
90 
91  virtual void apply( core::pose::Pose & pose );
92  virtual std::string get_name() const;
93  virtual void set_max_seq_sep( core::pose::Pose& pose, Size setting );
94 
95  // @brief overload to do start extra-round of jump_cycles()
96  virtual bool prepare_stage1( core::pose::Pose &pose );
97  virtual bool prepare_stage2( core::pose::Pose &pose );
98  virtual bool prepare_stage3( core::pose::Pose &pose );
99 
100  //@brief called in each iteration of inner loop in stage3 before stage3_cycles_ of trials commence
101  virtual bool prepare_loop_in_stage3(
103  Size, /* loop_iteration*/
104  Size /* total_iterations */
105  );
106 
107  //@brief called in each iteration of the loop in stage4 before the stage4_cycles_ of trials commence
108  virtual bool prepare_loop_in_stage4(
110  Size, /* loop_iteration*/
111  Size /* total_iterations */
112  );
113 
114  //@brief returns the Mover that is applied inside the stage3 double loop
115  //overload from ClassicAbinitio to perform also some wobble-type random moves
116  virtual moves::TrialMoverOP
118 
119 
120  //@brief returns the Mover that is applied inside the stage3 double loop
121  //overload from ClassicAbinitio to perform also some wobble-type random moves
122  virtual moves::TrialMoverOP
124 
125  //@brief returns the Mover that is applied inside the stage3 double loop
126  //overload from ClassicAbinitio to perform also some wobble-type random moves
127  virtual moves::TrialMoverOP
128  stage3_mover( core::pose::Pose &pose, int lct1, int lct2, moves::TrialMoverOP trials_in );
129 
130  //@brief returns the Mover that is applied inside the stage3 double loop
131  //overload from ClassicAbinitio to perform also some wobble-type random moves
132  virtual moves::TrialMoverOP
133  stage4_mover( core::pose::Pose &pose, int kk, moves::TrialMoverOP trials_in );
134 
135  ///@brief set the closure_protocol... if not set no closure...
136  void
139  }
140 
141 protected:
142  //@brief assigns default score-functions to the 4 stages--> score0 / score1 / (score2/score5) / score3
143  virtual void set_default_scores();
144 
145  //@brief read out cmd-line options
146  virtual void set_default_options();
147 
148  //@brief overload to set the kinematic control score-terms
149  virtual void replace_scorefxn( core::pose::Pose& pose, StageID, core::Real intra_stage_progress );
150 
151 private:
152  //@brief helper method to create_bb_moves for the stage3_- and stage4_mover methods.
155  core::pose::Pose &pose,
156  moves::MoverOP std_moves,
157  bool bLargeWobble,
158  core::Real crank_up_angle
159  );
160 
161  //@brief dump the "jump.log" files
162  void dump_jump_log( core::pose::Pose& pose, std::string const& file_name );
163 
164  //@brief combines the jump_mover() with stdmove and returns the new Combimover
167 
168  //@brief chainbreak weight is ramped up during stage3 and stage4
170 
171  //@brief overlap chainbreak will be ramped in in stage4
173 
174  //@brief if set we attempt loop-closing
176 
178 
179 };
180 
181 
182 
185 public:
190  jumping::BaseJumpSetupOP jump_def,
191  int dummy /* otherwise the two constructors are ambigous */
192  );
193 
195  core::fragment::FragSetCOP fragset3mer,
196  core::fragment::FragSetCOP fragset9mer,
198  jumping::BaseJumpSetupOP jump_def
199  );
200 
201  virtual moves::MoverOP clone() const {
202  return new JumpingFoldConstraintsWrapper(*this);
203  }
204 
205  //static void register_options();
206 
207  virtual void apply( core::pose::Pose & pose );
208  virtual std::string get_name() const;
209 
210 protected:
211 
212 private:
213  //@brief The generally possible jumps, --> used to generate JumpSamples for each run
215  //loops::SlidingWindowLoopClosureOP closure_protocol_;
216 };
217 
218 
219 
220 } //abinitio
221 } // protocols
222 
223 #endif
224