Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ReturnSidechainMover.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/simple_moves/ReturnSidechainMover.hh
11 /// @brief protocols::moves::Mover to "return" proper sidechains to a pose that was temporarily in centroid mode (can be used for any sidechain copying)
12 /// @author Steven Lewis
13 
14 #ifndef INCLUDED_protocols_simple_moves_ReturnSidechainMover_hh
15 #define INCLUDED_protocols_simple_moves_ReturnSidechainMover_hh
16 
17 // Unit Headers
19 
20 // Project Headers
21 #include <core/pose/Pose.hh> //we're going to contain a pose
22 #include <protocols/moves/Mover.hh>
23 
24 // Utility Headers
25 #include <core/types.hh>
26 #include <utility/vector1.fwd.hh>
27 
28 #include <utility/vector1.hh>
29 
30 
31 namespace protocols {
32 namespace simple_moves {
33 
34 ///@details This class takes two poses, one at instantiation and one at apply. It copies the residue type set and chi information from its kept pose to the apply pose. The intended purpose is for "returning" known sidechains to a pose that was temporarily in centroid mode, although it may work with other residue type sets.
36 
37 public:
38 
39  ///@brief default constructor
41 
42  ///@brief constructor with pose
44  core::pose::Pose const & pose_in,
45  core::Size start_res = 0,
46  core::Size end_res = 0 );
47 
48  ///@brief constructor with pose and copiable residue array
50  core::pose::Pose const & pose_in,
51  utility::vector1<bool> allow_chi_in,
52  core::Size start_res = 0,
53  core::Size end_res = 0 );
54 
55  virtual ~ReturnSidechainMover();
56 
57  virtual void apply( core::pose::Pose & pose );
58  virtual std::string get_name() const;
59 
62 
63  core::Size get_start_res() const;
64  core::Size get_end_res() const;
65 
66 private:
67  ///@brief remembered old pose
69 
70  ///@brief residue numbers for which residues to loop over for recovery
72 
73 };//end ReturnSidechainMover
74 
75 std::ostream &operator<< (std::ostream &os, ReturnSidechainMover const &mover);
76 
77 }//namespace moves
78 }//namespace protocols
79 
80 #endif // INCLUDED_protocols_simple_moves_ReturnSidechainMover_HH