Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DesignTask.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/flxbb/DesignTask.hh
11 /// @brief
12 /// @author Nobuyasu Koga ( nobuyasu@uw.edu )
13 ///
14 
15 #ifndef INCLUDED_protocols_flxbb_DesignTask_hh
16 #define INCLUDED_protocols_flxbb_DesignTask_hh
17 
18 // Unit header
20 
21 // Package headers
23 
24 // Project headers
25 #include <core/chemical/AA.hh>
26 #include <core/pose/Pose.fwd.hh>
29 #ifdef __clang__
31 #endif
34 
35 #include <utility/pointer/ReferenceCount.hh>
36 #include <utility/vector1.hh>
37 #include <core/types.hh>
38 
39 
40 namespace protocols {
41 namespace flxbb{
42 
43 ///////////////////////////////////////////////////////////////////////////////////////////////////////
45 public:
46 
48  typedef core::Size Size;
56 
57 public:
58 
59 
60  /// @brief default constructor
61  DesignTask();
62 
63  /// @brief value constructor
64  DesignTask(
65  Size const ncycle,
66  ScoreFunctionOP const sfxn,
67  MoverOP const mover,
69  PackerTaskOP const taskf=0,
70  String const & resfile=""
71  );
72 
73  /// @brief copy constructor
74  DesignTask( DesignTask const & rval );
75 
76  /// @brief destructor
77  virtual ~DesignTask();
78 
79  /// @brief setup packer task
80  virtual void setup( Pose const &, PackerTaskOP const ) = 0;
81 
82 
83 public: // accessors
84 
85 
86  /// @brief the number of cycles of fixbb design and mover
87  Size ncycle() const;
88 
89  /// @brief scorefxn for fixbb design
90  ScoreFunctionOP scorefxn() const;
91 
92  /// @brief mover after fixbb design
93  MoverOP mover() const;
94 
95  /// @brief filter during fixbb design
97 
98  /// @brief packer task for fixbb design
99  PackerTaskOP packertask() const;
100 
101  /// @brief resfile
102  String resfile() const;
103 
104 
105 public: // mutators
106 
107 
108  /// @brief the number of cycles of design and mover
109  void set_ncycle( Size const & ncycle );
110 
111  /// @brief scorefxn for fixbb design
112  void set_scorefxn( ScoreFunctionOP const sfxn );
113 
114  /// @brief mover after fixbb design
115  void set_mover( MoverOP const value );
116 
117  /// @brief filter during fixbb design
118  void set_filter_structs( FilterStructsOP const value );
119 
120  /// @brief packer task
121  void set_packertask( PackerTaskOP const taskf );
122 
123  /// @brief set resfile
124  void set_resfile( String const & resfile );
125 
126  /// @brief add task operations
128 
129  /// @brief add task operation
130  void add_task_operation( TaskOperationOP const top );
131 
132 
133 public:
134 
135 
136  /// @brief output packertask
137  void dump_packertask( std::ostream & os );
138 
139 
140 protected:
141 
142 
143  /// @brief task operations
145 
146 
147 private:
148 
149 
150  /// @brief the number of cycles of design and mover
152 
153  /// @brief scorefxn for fixbb design
155 
156  /// @brief mover after fixbb design
158 
159  /// @brief filter during fixbb design
161 
162  /// @brief packertask used for fixbb design
164 
165  /// @brief resfile name
167 
168 
169 };
170 
171 
172 
173 ///////////////////////////////////////////////////////////////////////////////////////////////////////
175 public:
176 
181 
182 public:
185  Size ncycle,
186  ScoreFunctionOP sfxn,
187  MoverOP mover,
189 
190  virtual ~DesignTask_Normal();
191 
192  virtual void setup( Pose const & pose, PackerTaskOP const task );
193 
194 };
195 
196 ///////////////////////////////////////////////////////////////////////////////////////////////////////
198 public:
199 
204 
205 public:
207 
209  bool dsgn_core,
210  bool dsgn_boundary,
211  bool dsgn_surface,
212  bool use_original_seq,
213  Size ncycle,
214  ScoreFunctionOP sfxn,
215  MoverOP mover,
217 
218  virtual ~DesignTask_Layer();
219 
220  virtual void setup( Pose const & pose, PackerTaskOP const task );
221 
222 private:
223 
226 
227 };
228 
229 
230 }
231 }
232 
233 #endif