Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RNA_TorsionMover.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) torsionressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9 
10 /// @file RNA_TorsionMover.hh
11 /// @brief
12 /// @detailed
13 ///
14 /// @author Rhiju Das
15 
16 
17 #ifndef INCLUDED_protocols_swa_monte_carlo_RNA_TorsionMover_hh
18 #define INCLUDED_protocols_swa_monte_carlo_RNA_TorsionMover_hh
19 
20 #include <core/pose/Pose.fwd.hh>
22 #include <core/types.hh>
23 #include <protocols/moves/Mover.hh>
26 
27 using namespace core;
28 
29 namespace protocols {
30 namespace swa {
31 namespace monte_carlo {
32 
33 /////////////////////////////////////////////////////////////////////////////////////////////////
34 /////////////////////////////////////////////////////////////////////////////////////////////////
36 public:
37 
38 
39  //destructor
41 
42  // Undefinded, commenting out to fix PyRosetta build void apply( core::pose::Pose & pose, Size const res_to_torsion, protocols::swa::monte_carlo::MovingResidueCase const moving_residue_case );
43 
44  /// @brief Apply the minimizer to one pose
46  virtual void apply( core::pose::Pose & pose_to_visualize );
47  virtual std::string get_name() const;
48 
49  void
50  apply( core::pose::Pose & pose, std::string & move_type, Real const & sample_range );
51 
52  void
53  random_torsion_move( pose::Pose & pose,
54  utility::vector1< Size > const & moving_res_list,
55  std::string & move_type,
56  Real const & sample_range );
57 
58  void
59  sample_near_suite_torsion(utility::vector1< Real > & torsion_list, Real const stddev);
60 
61  void
62  sample_near_nucleoside_torsion(utility::vector1< Real > & torsion_list, Real const stddev);
63 
64  void
65  apply_random_nucleoside_torsion( pose::Pose & pose,
66  Size const moving_res );
67 
68  void
69  apply_random_suite_torsion( pose::Pose & pose,
70  Size const moving_suite );
71 
72  void
73  apply_nucleoside_torsion_Aform(
74  pose::Pose & pose,
75  Size const moving_res );
76 
77  void
78  apply_suite_torsion_Aform(
79  pose::Pose & pose,
80  Size const moving_suite );
81 
82  void
83  sample_near_suite_torsion( pose::Pose & pose, Size const moving_suite, Real const sample_range);
84 
85  void
86  sample_near_nucleoside_torsion( pose::Pose & pose, Size const moving_res, Real const sample_range);
87 
88  void
89  crankshaft_alpha_gamma( pose::Pose & pose, Size const moving_suite, Real const sample_range);
90 
91 
92 private:
93 
94  void
95  apply_nucleoside_torsion( utility::vector1< Real > const & torsion_set,
96  pose::Pose & pose,
97  Size const moving_res);
98 
99 
100  void
101  apply_suite_torsion( utility::vector1< Real > const & torsion_set,
102  pose::Pose & pose,
103  Size const moving_suite );
104 
106  get_suite_torsion( pose::Pose const & pose, Size const moving_suite );
107 
109  get_nucleoside_torsion( pose::Pose const & pose, Size const moving_nucleoside );
110 
111 private:
112 
115 
116 };
117 
118 } // monte_carlo
119 } // swa
120 } // protocols
121 
122 #endif