Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LoopJumpFoldCst.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 KinematicTaskCenter
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_LoopJumpFoldCst_hh
25 #define INCLUDED_protocols_abinitio_LoopJumpFoldCst_hh
26 
27 // Unit Headers
30 
31 // Package Headers
36 
37 // Project Headers
38 #include <core/types.hh>
39 #include <core/pose/Pose.fwd.hh>
40 // AUTO-REMOVED #include <core/kinematics/MoveMap.hh>
41 
42 #include <protocols/loops/Loops.hh>
44 
45 // ObjexxFCL Headers
46 //#include <ObjexxFCL/FArray1D.hh>
47 //#include <ObjexxFCL/FArray2D.hh>
48 
49 // Utility headers
50 // AUTO-REMOVED #include <utility/vector1.hh>
51 #include <utility/pointer/ReferenceCount.hh>
52 
53 //// C++ headers
54 #include <cstdlib>
55 #include <string>
56 
57 #include <utility/vector1.hh>
58 
59 
60 
61 namespace protocols {
62 namespace abinitio {
63 
64 
66 public:
68  jumping::BaseJumpSetupOP jump_def,
69  loops::Loops loops,
70  ProtocolOP sampler,
72  core::Real coord_cst_weight,
73  bool bCstAllAtom = false //false = CA atoms only
74  ) :
75  KinematicTaskControl( sampler ),
76  jump_def_ ( jump_def ),
77  loops_( loops ),
78  ss_def_( ss_def ),
79  coordinate_constraint_weight_( coord_cst_weight ),
80  bCstAllAtom_( bCstAllAtom )
81  {
82  dump_weights_file_ = "NO_DUMP";
83  };
84 
86  //@brief make a new KinematicControl...
88 
91  }
92 
95  }
96 
97  virtual std::string get_name() const;
98 
99 protected:
100  ///@brief heuristic to select subset of loops from loops_
101  virtual void select_loops( loops::Loops& loops_select ) const;
102 
103  //@brief change fold-tree such that only loop regions move. keep jumps if they are not within the same rigid-region
105 
106 
107  virtual bool add_coord_cst( loops::Loops const& loops, core::pose::Pose &pose );
108  // virtual bool apply( core::pose::Pose &pose );
109 
111 
112 
113 
114 private:
116  loops::Loops loops_; //if empty rebuild whole structure
118 
119 protected:
120  // a global weight
122 
123  // a weight for each residue: if empty weight will be computed by heuristic
125 
126 private:
127  // dump_weights to this file
129 
131 
132 
133 };
134 
135 }
136 }
137 #endif