Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LimitAromaChi2Operation.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/toolbox/task_operations/LimitAromaChi2Operation.hh
11 /// @brief eliminate aromatic rotamers, of which chi2 are around 0, 180 degree.
12 /// @detail Chi2=0, 180 rotamers of aromatic residues ( PHE, TYR, HIS ) are not observed in nature very much,
13 /// however Rosetta really like them. This is really pathology. For design purpose, we don't need them actually.
14 /// @author Nobuyasu Koga ( nobuyasu@uw.edu )
15 
16 
17 #ifndef INCLUDED_protocols_toolbox_task_operations_LimitAromaChi2Operation_hh
18 #define INCLUDED_protocols_toolbox_task_operations_LimitAromaChi2Operation_hh
19 
20 
21 // Unit Headers
24 
27 
28 // Package Headers
30 #include <core/graph/Graph.fwd.hh>
31 #include <core/pose/Pose.fwd.hh>
34 
35 // Utility Headers
36 #include <utility/pointer/ReferenceCount.hh>
37 #include <utility/tag/Tag.fwd.hh>
38 #include <utility/vector1.hh>
39 
40 namespace protocols {
41 namespace toolbox {
42 namespace task_operations {
43 
45 {
46 public:
47 
48 
49  typedef core::Real Real;
58 
59 
60 public:
61 
62 
64 
66 
68 
69  virtual
71  clone() const;
72 
73  virtual
74  void
76  Pose const &,
77  ScoreFunction const &,
78  PackerTask const & ptask,
79  GraphCOP,
80  RotamerSet & rotamer_set
81  );
82 
83 public:
84 
85 
86  /// @brief max chi2 for picking rotamers of YFH
87  void chi2max( Real const r )
88  {
89  chi2max_ = r;
90  }
91 
92  /// @brief min chi2 for picking rotamers of YFH
93  void chi2min( Real const r )
94  {
95  chi2min_ = r;
96  }
97 
98  /// @brief include TRP ?
99  void include_trp( bool const b )
100  {
101  include_trp_ = b;
102  }
103 
104 private: // data
105 
106  /// @brief max chi2 for picking rotamers of YFH
108 
109  /// @brief min chi2 for picking rotamers of YFH
111 #ifdef USEBOOSTSERIALIZE
112  friend class boost::serialization::access;
113 
114  template<class Archive>
115  void serialize(Archive & ar, const unsigned int version) {
116  ar & boost::serialization::base_object<core::pack::rotamer_set::RotamerSetOperation>(*this);
117  ar & chi2max_;
118  ar & chi2min_;
119  }
120 #endif
121 
122  /// @brief include TRP ? ( default false )
124 
125 };
126 
127 
128 //////////////////////////////////////////////////////////////////////////////////////////////
130 public:
131 
132 
133  typedef core::Real Real;
140 
141 
142 public:
143 
144 
145  /// @brief default constructor
147 
148  /// @brief destructor
149  virtual ~LimitAromaChi2Operation();
150 
151  /// @brief make clone
152  virtual TaskOperationOP clone() const;
153 
154 public:
155 
156 
157  /// @brief max chi2 for picking rotamers of YFH
158  Real chi2max() const
159  {
160  return chi2max_;
161  }
162 
163  /// @brief min chi2 for picking rotamers of YFH
164  Real chi2min() const
165  {
166  return chi2min_;
167  }
168 
169  /// @brief include TRP ?
170  bool include_trp() const
171  {
172  return include_trp_;
173  }
174 
175 
176 public:
177 
178 
179  /// @brief max chi2 for picking rotamers of YFH
180  void chi2max( Real const r )
181  {
182  chi2max_ = r;
183  }
184 
185  /// @brief min chi2 for picking rotamers of YFH
186  void chi2min( Real const r )
187  {
188  chi2min_ = r;
189  }
190 
191  /// @brief include TRP ?
192  void include_trp( bool const b )
193  {
194  include_trp_ = b;
195  }
196 
197 
198 
199 public:
200 
201 
202  /// @brief apply
203  virtual void apply( Pose const & pose, PackerTask & task ) const;
204 
205 
206 public:
207 
208 
209  void parse_tag( TagPtr tag );
210  void parse_def( utility::lua::LuaObject const & def );
211 
212 
213 private: // data
214 
215 
216  /// @brief max chi2 for picking rotamers of YFH
218 
219  /// @brief min chi2 for picking rotamers of YFH
221 
222  /// @brief include TRP ? ( default false )
224 
225 };
226 
227 
228 } // TaskOperations
229 } // toolbox
230 } // protocols
231 
232 
233 #endif