Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DockingHighRes.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 docking_initialization_protocols
11 /// @brief initialization protocols for docking
12 /// @detailed
13 /// This contains the functions that create initial positions for docking
14 /// You can either randomize partner 1 or partner 2, spin partner 2, or
15 /// perform a simple perturbation.
16 /// @author Monica Berrondo
17 /// @author Modified by Sergey Lyskov
18 
19 
20 #ifndef INCLUDED_protocols_docking_DockingHighRes_hh
21 #define INCLUDED_protocols_docking_DockingHighRes_hh
22 
24 
25 // Package headers
28 
29 // Project Headers
30 #include <core/pose/Pose.fwd.hh>
31 
33 
34 #include <protocols/moves/Mover.hh>
38 
39 
40 #include <utility/vector1.hh>
41 
42 
43 // option key includes
44 
45 namespace protocols {
46 namespace docking {
47 
49 {
50 typedef core::Real Real;
51 public:
52 
53  /// @brief Default constructor
55 
56  /// @brief Constructor with one argument - the jump number to dock over.
58  core::Size const rb_jump
59  );
60 
61  /// @brief Constructor with two arguments. The first is thejump number, the second is a scorefunction that will be
62  /// used for docking and packing.
64  core::Size const rb_jump,
66  );
67 
68  /// @brief Constructor with three arguments. The first is the jump number, the second is a scorefunction that will
69  /// be used for docking and the third is a scorefunction that will be used for packing.
71  core::Size const rb_jump,
74  );
75 
76  /// @brief Constructor with three arguments. The first is the DockJumps, the second is a scorefunction that will
77  /// be used for docking and the third is a scorefunction that will be used for packing.
82  );
83 
84  //Copy constructor
85  DockingHighRes( DockingHighRes const & old_instance );
86 
87  virtual ~DockingHighRes();
88 
89  //clone
90  //protocols::moves::MoverOP clone() const = 0;
91 
93  //allows one to ignore the DockTaskFactoryOP and allow use of whatever is given in set_task_factory()
94  //only works for DockMCMProtocol at the moment
96  bool ignore_default_task();
99 
101  DockJumps const & movable_jumps() const { return movable_jumps_; }
103 
104  // protocol functions
105  virtual void apply( core::pose::Pose & pose ) = 0;
106  virtual std::string get_name() const = 0;
107 
108  void set_sc_min( bool sc_min ){ sc_min_ = sc_min; }
109  void set_rt_min( bool rt_min ){ rt_min_ = rt_min; }
115 
116 
117  bool sc_min() { return sc_min_; }
118  bool rt_min() { return rt_min_; }
120 
123 
124 protected:
125  protocols::docking::DockTaskFactoryOP tf2(); //JQX: change COP to OP
126 
127 private:
128  bool sc_min_;
129  bool rt_min_;
131 
134 
135  // docking
137 
138  // the task factory that will be used for all parts of docking
140  protocols::docking::DockTaskFactoryOP tf2_; // tf2 = task factory factory - we use this to create our task factories
141  bool ignore_default_task_; //will ignore the DockTaskFactoryOP and allow use of whatever is given in set_task_factory()
142  void init( DockJumps const movable_jumps );
143 };
144 
145 } // docking
146 } // protocols
147 
148 #endif