Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LoopMover_KIC.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
12 /// @author Mike Tyka
13 /// @author Daniel J. Mandell
14 
15 #ifndef INCLUDED_protocols_loops_loop_mover_refine_LoopMover_KIC_hh
16 #define INCLUDED_protocols_loops_loop_mover_refine_LoopMover_KIC_hh
17 
20 #include <protocols/moves/Mover.hh>
21 
22 #include <core/types.hh>
23 // AUTO-REMOVED #include <basic/Tracer.fwd.hh>
28 // AUTO-REMOVED #include <core/kinematics/FoldTree.hh>
29 #include <core/pose/Pose.fwd.hh>
30 
31 #include <utility/vector1.hh>
32 
33 
34 // C++ Headers
35 
36 
37 ///////////////////////////////////////////////////////////////////////////////
38 namespace protocols {
39 namespace loops {
40 namespace loop_mover {
41 namespace refine {
42 
44 public:
45  //constructors
47 
50  );
51 
53  protocols::loops::LoopsOP const loops_in,
55  );
56 
57  //destructor
59 
60  void init( core::scoring::ScoreFunctionCOP scorefxn );
61  void set_default_settings();
62 
63  void set_redesign_loop( bool value = true ){ redesign_loop_ = value; }
65  void set_flank_residue_min(bool value) {flank_residue_min_ = value;} // by JQX
66 
68  bool get_task_factory();
69 
70  /// @brief Clone this object
71  virtual protocols::moves::MoverOP clone() const;
72 
73  void apply( core::pose::Pose & pose );
74  virtual std::string get_name() const;
75 
76  ///@brief update the vector of movemaps, one for each loop in loops_
77  void
79  core::pose::Pose & pose,
81 
82  ///@brief update the vector of vectors of moveable side-chain positions, one for each loop in loops_
83  void
85  core::pose::Pose & pose,
86  utility::vector1< utility::vector1< bool > > & allow_sc_vectors );
87 
88  void
90  core::pose::Pose & pose,
91  core::pack::task::PackerTaskOP & rottrials_packer_task,
92  Size kic_start,
93  Size kic_end );
94 
95  void
97  core::pose::Pose & pose,
99  Size kic_start,
100  Size kic_end );
101 
102 protected:
103 
106  virtual basic::Tracer & tr() const;
107 
108 private:
109 
110  core::Real neighbor_dist_; // CB distance to loop to consider scaffold side-chain for rot trials, repack, dfpmin
111  core::Size max_seglen_; // maximum KIC segment length
112  bool recover_low_; // flag to recover the lowest energy MC conformation rather than the last conformation
113  bool min_after_repack_; // should inner cycle repacking steps be followed by minimization
114  bool fix_natsc_; // should side-chains neighboring the loop be fixed
115  bool optimize_only_kic_region_sidechains_after_move_; // Should we perform rotamer trials and minimization after every
116  // KIC move but only within the neighbor_dist of the KIC segment
117  bool flank_residue_min_; //JQX
118 };
119 
120 } //namespace refine
121 } //namespace loop_mover
122 } //namespace loops
123 } //namespace protocols
124 
125 #endif //INCLUDED_protocols_loops_loop_mover_refne_LoopMover_KIC_HH