Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
KinematicControl.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 KinematicControl
11 /// @brief this class will be handled to a SampleProtocol as a control instance
12 /// @detailed responsibilities:
13 /// know which chainbreaks to penalize and close
14 /// know which jumps to use during sampling, which (if any) to keep after loop-closing
15 /// supply a JumpMover if jumps should be moved
16 /// supply a MoveMap
17 /// supply a "StrictMoveMap": the protocol should not move anything that is dissallowed in strict_movemap(),
18 /// it should try to move just stuff in movemap()
19 /// should this class also know how to ramp score terms ?
20 /// handle the titration of constraints ?
21 /// @author Oliver Lange
22 
23 
24 #ifndef INCLUDED_protocols_abinitio_KinematicControl_hh
25 #define INCLUDED_protocols_abinitio_KinematicControl_hh
26 
27 // Unit Headers
29 
30 // Package Headers
31 // AUTO-REMOVED #include <protocols/jumping/PairingLibrary.hh>
32 // AUTO-REMOVED #include <core/scoring/dssp/PairingsList.hh>
33 // AUTO-REMOVED #include <core/fragment/SecondaryStructure.hh>
34 
35 // Project Headers
36 #include <core/types.hh>
40 
41 #include <core/pose/Pose.fwd.hh>
43 
44 // AUTO-REMOVED #include <core/fragment/FrameList.fwd.hh>
45 
47 
48 // ObjexxFCL Headers
49 #include <ObjexxFCL/FArray1D.hh>
50 #include <ObjexxFCL/FArray2D.hh>
51 
52 // Utility headers
53 // AUTO-REMOVED #include <utility/vector1.hh>
54 #include <utility/pointer/ReferenceCount.hh>
55 
56 //// C++ headers
57 // AUTO-REMOVED #include <cstdlib>
58 #include <string>
59 
60 #include <utility/vector1.hh>
61 
62 
63 
64 namespace protocols {
65 namespace abinitio {
66 
67 // enum JumpType {
68 // BETA = 1,
69 // HELIX,
70 // LOOPRLX //never sample orientation on these guys
71 // };
72 
73 // class AnnotatedJump {
74 // public:
75 // core::Size start_;
76 // core::Size end_;
77 // bool bPermanent_;
78 // JumpType type_; // does this makes sense ?
79 // };
80 
81 
83 public:
85  virtual ~KinematicControl();
86 
87  //@brief setup things in pose: e.g., set correct fold-tree, set jump-geometries to initial values...
88  bool prepare_pose_for_sampling( core::pose::Pose& pose ) const;
89 
90  void add_chainbreak_variants( core::pose::Pose& pose ) const;
91 
92  //@brief switch on chainbreaks-scores only if the separation in the foldtree is smaller than the threshold <max_dist>
93  void
95 
96  //void remove_chainbreak_variants( core::pose::Pose& pose ) const;
97 
99  return sampling_fold_tree_;
100  }
101 
103  return final_fold_tree_;
104  }
105 
108  }
109  // void set_sample_cuts();//???
110  //void set_sample_jumps(); //???
111 
113  final_fold_tree_ = f;
114  }
115  //void set_final_cuts();//???
116  //void set_final_jumps(); //???
117 
119 
121 
123 
124  core::kinematics::MoveMap const& movemap() const;
125 
126  //return a jump-Mover for jumps that you want to be sampled
128 
129  //return a jump-Mover for jumps that you want to be sampled
131 
132  virtual void add_score_weights( core::scoring::ScoreFunction&, core::Real /*progress*/ ) const {};
133 
134 // loops::Loops const& rigid_zones() const {
135 // return rigid_;
136 // }
137 
138 // void rigid_zones( loops::Loops const& rigid ) {
139 // rigid_ = rigid;
140 // }
141 
142 private:
145 
148 
150 
151 // loops::Loops rigid_;
152 };
153 
155 public:
156  CoordinateConstraintKC( bool ramp, core::Real final_weight ) :
157  ramp_ ( ramp ),
158  final_weight_( final_weight )
159  {}
160 
161  virtual void add_score_weights( core::scoring::ScoreFunction&, core::Real progress ) const;
162 
163 private:
164  bool ramp_;
166 };
167 
168 }
169 }
170 #endif