Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
EnzdesBaseProtocol.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/EnzdesBaseProtocol.hh
11 ///
12 /// @brief
13 /// @author Florian Richter
14 
15 
16 
17 
18 #ifndef INCLUDED_protocols_enzdes_EnzdesBaseProtocol_hh
19 #define INCLUDED_protocols_enzdes_EnzdesBaseProtocol_hh
20 
21 
23 // AUTO-REMOVED #include <protocols/toolbox/match_enzdes_util/EnzConstraintIO.hh>
24 
29 #include <core/pose/Pose.fwd.hh>
32 
33 #include <utility/vector1.hh>
34 
35 
36 
37 namespace protocols {
38 namespace enzdes {
39 
40 
42 {
43 
44 public:
45 
47  virtual std::string get_name() const;
48 
49  //virtual void apply( core::pose::Pose & pose) const = 0;
50 
51  //toolbox::match_enzdes_util::EnzConstraintIOOP cst_io(){ return cst_io_; }
52 
53  //catalytic res INCLUDING all ligands in pose numbering in a particular order
55 
56  std::set< Size > const & design_targets( core::pose::Pose const & pose ) const;
57 
58  bool
59  is_catalytic_position( core::pose::Pose const & pose, core::Size const seqpos ) const;
60 
61  static void register_options();
62 
64  restype_set() const {
65  return restype_set_; }
66 
67  void
69  core::pose::Pose const & orig_pose,
72  );
73 
75  reduced_scorefxn() const;
76 
79 
82  core::pose::Pose const & pose
83  ) const;
84 
85 
86  virtual
87  void
89  core::pose::Pose const & pose,
90  core::id::SequenceMapping const & smap
91  );
92 
93  void
95  core::pose::Pose & pose,
96  bool keep_covalent
97  ) const;
98 
99  void
101  core::pose::Pose & pose
102  ) const;
103 
104  void
105  cst_minimize(
106  core::pose::Pose & pose,
108  bool cst_opt = false
109  ) const;
110 
113  core::pose::Pose & pose,
114  bool design = true
115  ); //the task
116 
117  void
119  core::pose::Pose & pose,
120  core::pack::task::PackerTask const & task
121  ) const;
122 
123  void
124  set_all_jumps_minimizable( bool const & setting ){ min_all_jumps_ = setting; }
125 
126  void
128  bool const & min_sc,
129  bool const & min_bb,
130  bool const & min_rb,
131  bool const & min_lig,
132  bool backrub = false){
133  chi_min_ = min_sc; bb_min_= min_bb; rb_min_=min_rb; minimize_ligand_torsions_=min_lig; bb_backrub_ =backrub;
134  }
135 
136  void
138  bool const & setting){ fix_catalytic_aa_ = setting;}
139 
142  core::pose::Pose & pose,
144  bool min_all_jumps= false
145  ) const;
146 
147  void
148  enzdes_pack(
149  core::pose::Pose & pose,
152  core::Size cycles,
153  bool minimize_after_packing,
154  bool pack_unconstrained,
155  bool favor_native
156  ) const;
157 
159 
160  void
162  core::pose::Pose & pose,
163  utility::vector1< bool > allow_move_bb,
164  core::Size jump_id
165  ) const;
166 protected:
167  void
169  core::pose::Pose & pose,
170  bool allow_missing_remark_blocks
171  ) const;
172 
174 
175  /// @brief function to disable constraint scoring terms:
176  /// @NOTE: this will leave eventual covalent connections set up by EnzConstraintIO untouched.
178 
179  bool
181  core::pose::Pose & pose,
182  bool check_bb_clashes,
184  );
185 
187 
188  mutable std::set< core::Size > design_targets_;
189 
191 
192 private:
193 
194  void
196 
197  //data
198 
199  //toolbox::match_enzdes_util::EnzConstraintIOOP cst_io_;
200 
203 
206 
207  //stuff for optional ligand superposition
209  std::pair< std::string, std::string > res_to_superimpose_;
212  bool min_all_jumps_; // minimize protein jumps too?
215 
217 
218 }; //class EnzdesBaseProtocol
219 
220 
221 } //namespace enzdes
222 } //namespace protocols
223 
224 
225 
226 
227 #endif // INCLUDED_protocols_enzdes_EnzdesBaseProtocol_HH