Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
EnzdesFlexBBProtocol.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 protocols/enzdes/EnzdesFlexBBProtocol.hh
11 ///
12 /// @brief
13 /// @author Florian Richter
14 
15 
16 
17 
18 #ifndef INCLUDED_protocols_enzdes_EnzdesFlexBBProtocol_hh
19 #define INCLUDED_protocols_enzdes_EnzdesFlexBBProtocol_hh
20 
21 
23 // AUTO-REMOVED #include <protocols/toolbox/match_enzdes_util/EnzConstraintIO.hh>
25 
29 
30 #include <core/pose/Pose.hh> /// Replace pack_region_ala_pose_ with a PoseOP to remove this header
31 
32 #include <core/fragment/Frame.hh>
34 
35 #include <utility/vector1.hh>
36 
37 
38 namespace protocols{
39 namespace enzdes{
40 
45 
49 
51 {
52 
53 public:
54 
57 
58  void apply( core::pose::Pose & pose);
59  virtual std::string get_name() const;
60 
61  static void register_options();
62 
63  bool
64  is_flexible( core::Size seqpos ) const;
65 
66  bool
67  is_remodelable( core::Size seqpos ) const;
68 
69  void
71  core::pose::Pose const & pose,
72  utility::vector1<bool> & residue_positions
73  );
74 
77  core::pose::Pose const & pose,
78  core::pack::task::PackerTask const & orig_task
79  );
80 
81  void
83  core::pose::Pose const & pose,
85  );
86 
87  void
89  core::pose::Pose const & pose,
90  core::id::SequenceMapping const & smap
91  );
92 
95  core::Size region ) const{
96  return flex_regions_[ region ]; }
97 
99  enz_loops_file() const {
100  return enz_loops_file_; }
101 
102  void
104  core::pose::Pose & pose,
105  core::Size region
106  );
107 
108  bool
110  core::pose::Pose & pose,
111  core::Size region,
113  std::set< core::Size > const & chi_to_move,
114  bool const including_CA_angles,
115  core::Real min_tolerance
116  );
117 
118  void
120  core::pose::Pose & pose,
121  core::Size region
122  );
123 
124  void
126  core::pose::Pose & pose,
127  core::Size region
128  );
129 
130  void
132  core::pose::Pose const & pose,
134  );
135 
136 protected:
137 
138 
139  bool
141  core::pose::Pose & pose );
142 
143  bool
145  core::pose::Pose & pose
146  );
147 
148  bool
150  core::pose::Pose const & pose );
151 
152  void
154  core::pose::Pose const & pose,
155  core::Size region );
156 
158 
159 private:
160 
162 
164 
167 
170 
177 
178  //std::map< core::Size, core::conformation::ResidueCOP > initial_ligand_positions_;
179 
180  //stuff for minimizing catalytic residue chis only during loop generation
185 
186 }; //class EnzdesFlexBBProtocol
187 
188 
190 
191  typedef std::pair< core::Size, core::Real > SizeRealPair;
193 
194 public:
195 
197  core::Size index_in,
199  core::Size end,
200  core::Size nr_res,
201  core::pose::Pose const & pose,
202  EnzdesFlexBBProtocolCAP enz_prot
203  );
204 
206 
207  core::Size
209  return frag_designabilities_.size(); }
210 
211  bool
212  contains_catalytic_res() const;
213 
214  bool remodelable() const{
215  return remodelable_; }
216 
217  core::Size
219  return remodel_min_length_; }
220 
222  return remodel_max_length_; }
223 
225  enz_loop_info() const;
226 
227  core::Size
228  index() const {
229  return index_; }
230 
231  void
233  core::Size min_length,
234  core::Size max_length
235  );
236 
237  core::Real
238  deltaE_best( core::Size const frag_rank ) const;
239 
240 
243  core::pose::Pose const & pose
244  );
245 
246  static bool
247  compare_SizeRealPairs( SizeRealPair const & first, SizeRealPair const & second ){
248  if( first.second < second.second ) return true;
249  else return false;
250  }
251 
254  return positions_;
255  }
256 
257  core::Real
259  core::pose::Pose const & pose,
261  core::Real & backgroundE
262  );
263 
264  core::Real
265  get_region_mm_bend_score( core::pose::Pose const & pose ) const;
266 
267  void
269  core::pose::Pose & pose,
270  core::Size frag_rank
271  );
272 
273  void
275 
276  void
278  core::pose::Pose const & ref_pose,
281  );
282 
283  core::Real
285  core::pose::Pose const & pose,
288  ) const;
289 
290 
291  bool
293  core::pose::Pose const & pose,
294  core::pose::Pose & template_pose,
296  utility::vector1< core::Real > & rmsd_to_native
297  );
298 
299  bool
301  core::pose::Pose & pose,
303  std::set< core::Size > const & chi_to_move,
304  bool const including_CA_angles,
305  core::Real min_tolerance
306  );
307 
308  core::Real
309  get_region_total_score( core::pose::Pose const & pose ) const;
310 
311  bool remap_resid(
312  core::pose::Pose const & pose,
313  core::id::SequenceMapping const& smap
314  );
315 
316  void
319  }
320 
321  void
324  }
325 
326 
327  void
330  }
331 
332 
333 protected:
334 
335  void
337  core::pose::Pose const & pose
338  );
339 
340 private:
341 
342  //index of this region in the overall scheme of things
344 
346 
347  //conformation of the native
349 
350  //the protocol that this class belongs to
352 
353  std::set< core::Size > const & design_targets_;
354 
355  //a list that holds a designability score for each fragment
356  //(fragments accessed by their index in the base class FragData list)
358 
359  std::set< core::Size > twelve_A_neighbors_;
362 
363 
367 
368 }; //class EnzdesFlexibleRegion
369 
370 
371 } //namespace enzdes
372 } //namespace protocols
373 
374 
375 
376 
377 #endif // INCLUDED_protocols_enzdes_EnzdesFixBBProtocol_HH