Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JumpRotamerSidechainMover.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/sidechain_moves/JumpRotamerSidechainMover.hh
11 /// @brief definition of JumpRotamerSidechainMover class and functions
12 /// @author Oliver Lange (oliver.lange@tum.de) adapted from Colin A. Smith's code
13 
14 
15 #ifndef INCLUDED_protocols_simple_moves_sidechain_moves_JumpRotamerSidechainMover_hh
16 #define INCLUDED_protocols_simple_moves_sidechain_moves_JumpRotamerSidechainMover_hh
17 
18 // Unit Headers
21 
22 // Protocols Headers
25 
26 // Core Headers
30 #include <core/pose/Pose.fwd.hh>
31 
34 
37 
38 // Numeric Headers
39 #include <numeric/random/random.hh>
40 
41 // Utility headers
42 #include <utility/vector1.hh>
43 
44 namespace protocols {
45 namespace simple_moves {
46 namespace sidechain_moves {
47 
48 /// @brief class for non-discrete side chain sampling using Dunbrack rotamer probabilities/distributions
50 
51 public:
53  /// @brief default constructor
55 
56  /// @brief constructor with user provided rotamer library
59  );
60 
62  JumpRotamerSidechainMover const & mover
63  );
64 
65  virtual
67  clone() const;
68 
69  virtual
70  void
72  utility::tag::TagPtr const tag,
74  protocols::filters::Filters_map const & filters,
75  protocols::moves::Movers_map const & movers,
76  core::pose::Pose const & pose
77  );
78 
79  virtual core::Real
81  core::conformation::Residue const & new_residue,
82  core::Size const resnum,
83  core::chemical::ResidueType const & old_res_type,
84  ChiVector const & old_chi
85  ) const;
86 
87  virtual void
89  core::conformation::Residue const& residue,
90  ChiVector const& old_chi,
91  ChiVector& new_chi
92  );
93 
94  virtual std::string get_name() const;
95 
96 protected:
97  void set_defaults();
98 
100  RotamerList const&,
103  core::Real& normalize
104  ) const;
105 
106  //helper function
108  RotamerList const&,
109  ChiVector const& new_chi,
110  core::Real& rot_density
111  ) const;
112 
113 private:
115 }; //JumpRotamerSidechainMover
116 
117 
118 } // simple_moves
119 } // sidechain_moves
120 } // protocols
121 
122 #endif