Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SymDockProtocol.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 // This file is part of the Rosetta software suite and is made available under license.
5 // The Rosetta software is developed by the contributing members of the Rosetta Commons consortium.
6 // (C) 199x-2009 Rosetta Commons participating institutions and developers.
7 // For more information, see http://www.rosettacommons.org/.
8 
9 /// @file protocols/symmetric_docking/SymDockProtocol.hh
10 ///
11 /// @brief
12 /// @author Ingemar Andre
13 
14 
15 #ifndef INCLUDED_protocols_symmetric_docking_SymDockProtocol_hh
16 #define INCLUDED_protocols_symmetric_docking_SymDockProtocol_hh
17 
18 #include <protocols/moves/Mover.hh>
20 // AUTO-REMOVED #include <protocols/symmetric_docking/SymDockBaseProtocol.hh>
21 
22 #include <core/types.hh>
23 
25 
31 
35 #include <utility/vector1.hh>
36 
37 
38 namespace protocols {
39 namespace symmetric_docking {
40 
41 void SymDock_main();
42 
44 {
45 public:
46 
49 
50 public:
51 
53 
55  bool const fullatom,
56  bool const local_refine,
57  bool const view=false
58  );
59 
61  bool const fullatom,
62  bool const local_refine,
63  bool const view,
64  core::scoring::ScoreFunctionOP docking_score_low,
65  core::scoring::ScoreFunctionOP docking_score_high
66  );
67 
68  virtual ~SymDockProtocol();
69 
70  /// @brief setup that is called from constructor
71  void set_default();
72 
73  void register_options();
74 
75  /// @brief setter
76 
77  void set_dock_rtmin( bool dock_rtmin_in );
78 
79  void set_sc_min( bool sc_min_in );
80  void set_max_repeats( Size const max_repeats_in );
81  void set_dock_ppk( bool dock_ppk_in );
82 
83  void set_fullatom( bool const fullatom_in );
84 
85  void set_local_refine( bool const local_refine_in );
86 
87  void set_view( bool view_in );
88 
89  void set_lowres_scorefxn( core::scoring::ScoreFunctionOP docking_score_low_in );
90 
91  void set_highres_scorefxn( core::scoring::ScoreFunctionOP docking_score_high_in );
92 
94  core::scoring::ScoreFunctionOP docking_score_high_in,
95  core::scoring::ScoreFunctionOP docking_score_pack_in );
96 
99 
100  core::Real
102 
103  core::Real
104  calc_rms( core::pose::Pose & pose );
105 
106  /// @brief recovers the side-chains from the native-pose
107  void recover_sidechains( core::pose::Pose & pose, const core::pose::Pose & native_pose );
108 
110 
111  // turn on design of partner2 during docking. Not thoroughly tested!
112  void design( bool const des );
113  bool design() const;
114 
115  // skip population of the score map
116  void hurry( bool const hurry );
117 
120 
121  void score_only( core::pose::Pose & pose );
122 
123  virtual void apply( core::pose::Pose & pose );
124  virtual std::string get_name() const;
125  virtual protocols::moves::MoverOP clone() const;
126 
127 private:
128 
129  void
131  core::pose::Pose & pose,
134  core::Size num_cycles,
135  core::Size repack_every_Nth
136  ) const;
137 
140  core::pose::Pose const & pose,
141  protocols::moves::MoverOP repack_mover,
142  protocols::moves::MoverOP rigbod_mover,
143  core::kinematics::MoveMapOP movemap, //< would be COP but MinMover wants OP
146  ) const;
147 
148 private:
149 
150 /// information about the mode
151  bool fullatom_;
153  bool rtmin_;
154  bool sc_min_;
156  bool dock_ppk_;
157 
158  /// the jump number across which to do rigid_body transformations
160  //core::Size rb_jump_;
161  /// should docking change the foldtree?
163  /// whether or not to initialize the viewer (for opengl)
164  bool view_;
165  bool design_;
168  bool hurry_; // skip populating the score map
169  // for outputting scorefiles
170  std::map < std::string, core::Real > score_map_;
171 
172  // for scoring
177 
179 
180  //protocols
183  core::pack::task::TaskFactoryOP init_task_factory_; // use this to restrict the packer task for docking protocol
184 
185 };
186 
187 } // symmetric_docking
188 } // protocols
189 #endif //INCLUDED_protocols_symmetric_docking_SymDockProtocol_HH