Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ResLvlTaskOperations.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 core/pack/task/operation/ResLvlTaskOperations.hh
11 /// @brief core-level (very general) derived classes that wrap widely-used methods of the ResidueLevelTask interface. These are used by higher-level TaskOperations that allow the user to configure the behavior of PackerTasks that are created by TaskFactory.
12 /// @author ashworth
13 
14 #ifndef INCLUDED_core_pack_task_operation_ResLvlTaskOperations_hh
15 #define INCLUDED_core_pack_task_operation_ResLvlTaskOperations_hh
16 
17 // Unit Headers
19 
21 
22 // Project Headers
24 
25 // AUTO-REMOVED #include <utility/vector1.hh>
26 
27 #include <utility/vector1.hh>
28 #include <string>
29 
30 
31 namespace core {
32 namespace pack {
33 namespace task {
34 namespace operation {
35 
37 {
38 public:
40 public:
41  virtual ~RestrictToRepackingRLT();
42  virtual ResLvlTaskOperationOP clone() const;
43  virtual void apply( ResidueLevelTask & ) const;
44 };
45 
47 {
48 public:
50 public:
53  virtual ResLvlTaskOperationOP clone() const;
54  virtual void apply( ResidueLevelTask & ) const;
55 // if an amino acid is not present (false) in the boolean vector, then do not allow it at this position. The boolean vector is a 20-length vector in alphabetical order by one-letter code.
56  void aas_to_keep( utility::vector1< bool > const & );
57  void aas_to_keep( std::string const & );
58  virtual void parse_tag( TagPtr );
59 private:
61 };
62 
64 {
65 public:
67 public:
70  virtual ~DisallowIfNonnativeRLT();
71  virtual ResLvlTaskOperationOP clone() const;
72  virtual void apply( ResidueLevelTask & rlt ) const;
73  //helper functions to define desired AAs
74  void clear();
75  //define as true which residues are NOT allowed
76  void disallow_aas( utility::vector1< bool > const & cannonical_disallowed );
77  void disallow_aas( std::string const & aa_string );
78  virtual void parse_tag( TagPtr );
79 
80 private:
84 };
85 
87 {
88 public:
90 public:
91  virtual ~PreventRepackingRLT();
92  virtual ResLvlTaskOperationOP clone() const;
93  virtual void apply( ResidueLevelTask & ) const;
94 };
95 
97 {
98 public:
100 public:
101  AddBehaviorRLT();
102  AddBehaviorRLT( std::string const & behavior );
103  virtual ~AddBehaviorRLT();
104  virtual ResLvlTaskOperationOP clone() const;
105  virtual void apply( ResidueLevelTask & ) const;
106  virtual void parse_tag( TagPtr );
107 private:
109 };
110 
111 } //namespace operation
112 } //namespace task
113 } //namespace pack
114 } //namespace core
115 
116 #endif