Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RemodelDesignMover.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/forge/remodel/RemodelDesignMover.hh
11 /// @brief
12 /// @author Possu Huang ( possu@uw.edu )
13 ///
14 
15 #ifndef INCLUDED_protocols_forge_remodel_RemodelDesignMover_hh
16 #define INCLUDED_protocols_forge_remodel_RemodelDesignMover_hh
17 
18 //project headers
20 #include <core/pose/Pose.fwd.hh>
22 #include <utility/vector1.hh>
23 #include <protocols/moves/Mover.hh>
26 
27 namespace protocols {
28 namespace forge {
29 namespace remodel {
30 
32 
33 private: // typedefs
34 
36 
37 public: // typedefs
38 
39  typedef core::Real Real;
40  typedef core::Size Size;
41 
51 
52 
53 public: //constructor/destructor
54 
56 
57  RemodelDesignMover(RemodelData const & remodel_data, RemodelWorkingSet const & working_model, ScoreFunctionOP const & sfxn);
58 
59  virtual
61 
62 public: // virtual constructors
63 
64  virtual
65  MoverOP clone() const;
66 
67  virtual
68  MoverOP fresh_instance() const;
69 
70 public: // options
71 
72 public:
73 
74  void mode1_packertask(Pose & pose); // auto loop only
75  void mode2_packertask(Pose & pose); // auto loop with design neighbor
76  void mode3_packertask(Pose & pose); // auto loop with repack neighbor
77  void mode4_packertask(Pose & pose); // full manual
78  void mode5_packertask(Pose & pose); // manual with auto design neighbor
79  void mode6_packertask(Pose & pose); // manual with auto repack neighbor
80  void reduce_task(Pose & pose, PackerTaskOP & task, bool core, bool boundary, bool surface);
81 
82  bool check_state();
83 
84  void set_state( std::string state_tag );
85 
86  bool find_disulfides_in_the_neighborhood(Pose & pose, utility::vector1<std::pair<Size, Size> > & disulf_partners);
87  void make_disulfide(Pose & pose, utility::vector1<std::pair<Size, Size> > & disulf_partners, core::kinematics::MoveMapOP mm);
88 
89  virtual void apply( Pose & pose);
90  virtual std::string get_name() const;
91 
92 private: // data
93 
94  RemodelData remodel_data_; // design mode determined in here
95  RemodelWorkingSet working_model_; // data for the remodeling pose
99 // PackerTaskOP packer_task_;
101 // MoveMap move_map_;
102 
103 public: // accessors
104 
106 
107 
108  void scorefunction(ScoreFunctionOP const & sfxn);
109 
110 // MoveMap const & movemap() const;
111 
112 // PackerTask const & packertask() const;
113 
114 };
115 
116 } // remodel
117 } // forge
118 } // protocols
119 
120 #endif /* INCLUDED_protocols_forge_remodel_RemodelDesignMover_HH */
121