Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FlexPepDockingLowRes.hh
Go to the documentation of this file.
1 // (c) Copyright Rosetta Commons Member Institutions.
2 // (c) This file is part of the Rosetta software suite and is made available under license.
3 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
4 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
5 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
6 
7 // -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
8 // vi: set ts=2 noet;
9 //
10 // (C) 199x-2008 Hebrew University, Jerusalem
11 //
12 /// @file FlexPepDockingLowRes.hh
13 ///
14 /// @brief low-resolution part of docking protocol
15 /// @date August 5, 2008
16 /// @author Barak Raveh
17 
18 #ifndef INCLUDED_protocols_flexpep_docking_FlexPepDockingLowRes_hh
19 #define INCLUDED_protocols_flexpep_docking_FlexPepDockingLowRes_hh
20 
21 
27 #include <protocols/moves/Mover.hh>
30 // AUTO-REMOVED #include <utility/options/keys/BooleanOptionKey.hh>
31 #include <string>
32 
33 #include <utility/vector1.hh>
34 
35 
36 namespace protocols {
37 namespace flexpep_docking {
38 
40 {
41 public:
42 
43  /// @brief
44  /// constructor for low resolution flexpible peptide docking
45  //
46  // @param[in] scorefxn_in
47  // The scoring function used for optimization
48  // @param[in] rb_jump
49  // The FoldTree rigid body jump over
50  // which rigid-body pertrubations are made
52  FlexPepDockingFlags flags_in,
54  core::kinematics::MoveMapOP movemap_in,
55  Size const rb_jump_in = 1
56  );
57 
58  // empty destructor - for good inclusion of OP clasesses
60 
61  virtual void apply( core::pose::Pose & pose );
62 
63  virtual std::string get_name() const;
64 
65  private:
66 
67  /// @brief initial setup for apply
69 
70  // switch pose to centroid mode, if in full-atom
71  void to_centroid ( core::pose::Pose & pose ) const;
72 
73  // switch pose to full-atom mode, if referncePose is full-atom
74  // (using side-chains of referencePose)
75  void to_allatom ( core::pose::Pose & pose, core::pose::Pose& referencePose ) const;
76 
77  // pose - the pose to perturb
78  // cycles - # of MC cycles
79  // acceptance_rate [Output] - the acceptance rate in the MC cycles
81  core::pose::Pose & pose,
82  const int cycles,
83  double& acceptance_rate
84  );
85 
86  // pose - the pose to loop close, containing the peptide
88  core::pose::Pose & pose
89  );
90 
91  // pose - the pose to perturb
92  // cycles - # of MC cycles
93  // trans_magnitude = random translation magnitude
94  // rot_magnitude = random rotation magnitude
95  // acceptance_rate [Output] - the acceptance rate in the MC cycles
97  core::pose::Pose & pose,
98  const int cycles,
99  const float trans_magnitude,
100  const float rot_magnitude,
101  double& acceptance_rate
102  );
103 
104 
105 private:
106  FlexPepDockingFlags flags_; // all flags loaded from cmd-line options
107 
108  // energy scoring function for centroid optimization
110 
111  // the flexpepdock protocol movemap // may change throughout the run
113 
114  /// the jump number across which to do rigid_body transformations
116 
117  /// whether or not to initialize the viewer (for opengl)
118  bool view_;
119 
121 
123 
124  // loop mover for modeling loop closure // TODO: this is a wrapper, use the loop modeller directly
126 
127 };
128 
129 } // flexPepDocking
130 } // protocols
131 
132 #endif
133