Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ConsensusDesignMover.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 src/protocols/simple_moves/ConsensusDesignMover.hh
11 /// @brief header file for ConsensusDesignMover
12 /// @author Florian Richter (floric@u.washington.edu), april 2011
13 
14 #ifndef INCLUDED_protocols_simple_moves_ConsensusDesignMover_hh
15 #define INCLUDED_protocols_simple_moves_ConsensusDesignMover_hh
16 
17 // Unit header
19 
20 // Project headers
23 #include <core/pose/Pose.fwd.hh>
27 #include <core/types.hh>
28 
29 #include <protocols/moves/Mover.hh>
30 
31 #include <utility/vector1.hh>
32 
33 
34 
35 namespace protocols {
36 namespace simple_moves {
37 
38 /// @brief This mover will modify a given task according to a sequence profile
39 /// and then call the PackRotamersMover.
40 /// At every position that is designable in the task, AAs that have a probability > min_aa_probability_
41 /// and higher than the native in the sequence profile will be allowed
43 
44 public:
45 
46  typedef core::Size Size;
49 
50 
51 public:
52 
53  // default constructor
55 
59  );
60 
62 
65 
66  // @brief main operation
67  virtual void apply( core::pose::Pose & pose );
68 
69  void
71  core::Real cutoff ) {
72  sasa_cutoff_ = cutoff; }
73 
74  void
75  set_invert_task( bool setting ){
76  invert_task_ = setting; }
77 
78  void
79  set_use_seqprof_constraints( bool setting ){
80  use_seqprof_constraints_ = setting; }
81 
84  core::pose::Pose const & pose
85  );
86 
89  core::pose::Pose const & pose,
90  core::pack::task::PackerTask const & task
91  ) const;
92 
93 
94  virtual std::string get_name() const;
95 
97 
98 private:
99 
103 
104  bool invert_task_; //if a task has been specified externally and this variable is true, all non-packable positions in the task will become design positions
105  bool use_seqprof_constraints_; // add a sequence profile constraint during the packing step
106  core::Real sasa_cutoff_; //only residues that have sasa above the cutoff will be touched
109 };
110 
111 
112 } // moves
113 } // protocols
114 
115 
116 #endif