Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GraftMover.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
6 // (c) under license. The Rosetta software is developed by the contributing
7 // (c) members of the Rosetta Commons. For more information, see
8 // (c) http://www.rosettacommons.org. Questions about this can be addressed to
9 // (c) University of Washington UW TechTransfer,email:license@u.washington.edu.
10 
11 /// @file protocols/antibody/GraftMover.hh
12 /// @brief
13 /// @author Aroop Sircar (aroopsircar@yahoo.com)
14 
15 
16 #ifndef INCLUDED_protocols_antibody_GraftMover_hh
17 #define INCLUDED_protocols_antibody_GraftMover_hh
18 
19 
20 // Rosetta headers
21 #include <core/pose/Pose.hh>
22 #include <protocols/moves/Mover.hh>
23 
26 #include <utility/vector1.hh>
27 
28 
29 // ObjexxFCL Headers
30 
31 // C++ Headers
32 
33 // Utility Headers
34 
35 namespace protocols {
36 namespace antibody {
37 
38 class GraftMover;
41 
42 //////////////////////////////////////////////////////////////////////////
43 /// @brief Grafts a series of CDR onto a framework
44 /// @details
45 class GraftMover : public moves::Mover {
46 public:
47  // default constructor
48  GraftMover();
49 
50  // default destructor
51  ~GraftMover();
52 
53  inline void enable_graft_l1( bool setting ) {
54  graft_l1_ = setting;
55  }
56  inline void enable_graft_l2( bool setting ) {
57  graft_l2_ = setting;
58  }
59  inline void enable_graft_l3( bool setting ) {
60  graft_l3_ = setting;
61  }
62  inline void enable_graft_h1( bool setting ) {
63  graft_h1_ = setting;
64  }
65  inline void enable_graft_h2( bool setting ) {
66  graft_h2_ = setting;
67  }
68  inline void enable_graft_h3( bool setting ) {
69  graft_h3_ = setting;
70  }
71  inline void set_camelid( bool setting ) {
72  camelid_ = setting;
73  }
74 
75  /// @brief enable benchmark mode
76  inline void enable_benchmark_mode( bool setting ) {
77  benchmark_ = setting;
78  }
79 
80  /// @brief relax optimized CDR grafted regions
82 
83  void set_default();
84  virtual void apply( core::pose::Pose & pose_in );
85  virtual std::string get_name() const;
86 
87 private:
88  // Grafting options
89  bool graft_l1_;
90  bool graft_l2_;
91  bool graft_l3_;
92  bool graft_h1_;
93  bool graft_h2_;
94  bool graft_h3_;
95  /// @brief benchmark flag
96  bool benchmark_;
97  bool camelid_;
98 
99  // Packer
101 
102  void set_packer_default(
103  core::pose::Pose & pose_in,
105  bool include_current
106  );
107 }; // class GraftMover
108 
112 
113 //////////////////////////////////////////////////////////////////////////
114 /// @brief Grafts only one CDR onto a framework
115 /// @details
116 class GraftOneMover : public moves::Mover {
117 public:
118  // default constructor
119  //GraftOneMover();
120  // constructor with arguments
122  core::Size query_start,
123  core::Size query_end,
124  std::string template_name
125  );
126 
127  void set_default();
128  virtual void apply( core::pose::Pose & pose_in );
129  virtual std::string get_name() const;
130 
131  /// @brief enable benchmark mode
132  inline void enable_benchmark_mode( bool setting ) {
133  benchmark_ = setting;
134  }
135 
136 private:
137  // Limits of query loop
140  // Limits of template loop
145  /// @brief benchmark flag
147 
148 }; // class GraftOneMover
149 
153 
154 /// @brief Closes only one CDR onto a framework
155 class CloseOneMover : public moves::Mover {
156 public:
157  // default constructor
158  // CloseOneMover();
159  // constructor with arguments
161  core::Size query_start,
162  core::Size query_end );
163 
164  void set_default();
165  virtual void apply( core::pose::Pose & pose_in );
166  virtual std::string get_name() const;
167 
168  void close_one_loop_stem (
169  core::pose::Pose & pose_in,
170  core::Size cutpoint_in,
171  bool nter );
172 
173  void close_one_loop_stem (
174  core::pose::Pose & pose_in,
175  core::Size loop_begin,
176  core::Size loop_end,
177  core::Size cutpoint );
178 
179  /// @brief enable benchmark mode
180  inline void enable_benchmark_mode( bool setting ) {
181  benchmark_ = setting;
182  }
183 
184 private:
185  // Limits of query loop
190  /// @brief benchmark flag
192 
193 }; // class CloseOneMover
194 
198 
199 /// @brief Closes only one CDR onto a framework
200 class LoopRlxMover : public moves::Mover {
201 public:
202  // default constructor
203  // LoopRlxMover();
204  // constructor with arguments
205  LoopRlxMover(
206  core::Size query_start,
207  core::Size query_end );
208 
209  void set_default();
210 
211  virtual void apply( core::pose::Pose & pose_in );
212  virtual std::string get_name() const;
213 
214  void setup_packer_task( core::pose::Pose & pose_in );
215 
216  /// @brief enable benchmark mode
217  inline void enable_benchmark_mode( bool setting ) {
218  benchmark_ = setting;
219  }
220 
221 private:
222  // Limits of query loop
225  /// @brief benchmark flag
227 
228  // score functions
230 
231  //packer task
234 
235 }; // class LoopRlxMover
236 
237 } // antibody
238 } // protocols
239 
240 
241 #endif