Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SnugDockProtocol.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
6 // (c) under license. The Rosetta software is developed by the contributing
7 // (c) members of the Rosetta Commons. For more information, see
8 // (c) http://www.rosettacommons.org. Questions about this can be addressed to
9 // (c) University of Washington UW TechTransfer, email:license@u.washington.edu
10 
11 /// @file protocols/antibody2/SnugDockProtocol.hh
12 /// @brief Dock and antigen to an antibody while optimizing the rigid body orientation of the VH and VL chains and performing CDR loop minimization.
13 /// @detailed
14 ///
15 ///
16 /// @author Jianqing Xu ( xubest@gmail.com )
17 /// @author Brian D. Weitzner ( brian.weitzner@gmail.com )
18 
19 
20 #ifndef INCLUDED_protocols_antibody2_SnugDockProtocol_HH
21 #define INCLUDED_protocols_antibody2_SnugDockProtocol_HH
22 
23 // Unit headers
25 #include <protocols/moves/Mover.hh>
26 
27 // Package headers
30 
31 // Project headers
33 
34 // C++ headers
35 #include <iostream>
36 
37 using namespace core;
38 namespace protocols {
39 namespace antibody2 {
40 
42 public: // boiler plate / virtuals
43  // default constructor
45 
46  // copy constructor
47  SnugDockProtocol( SnugDockProtocol const & rhs );
48 
49  // assignment operator
50  SnugDockProtocol & operator=( SnugDockProtocol const & rhs );
51 
52  // destructor
53  virtual ~SnugDockProtocol();
54 
55  virtual void apply( Pose & );
56  virtual std::string get_name() const;
57 
58  virtual protocols::moves::MoverOP clone() const;
59  virtual protocols::moves::MoverOP fresh_instance() const;
60 
61  ///@brief This mover retains state such that a fresh version is needed if the input Pose is about to change
62  virtual bool reinitialize_for_new_input() const;
63 
64  /// @brief Associates relevant options with the SnugDockProtocol class
65  static void register_options();
66 
67 public:
68  void show( std::ostream & out=std::cout );
69  friend std::ostream & operator<<(std::ostream& out, SnugDockProtocol const & snugdockprotocol );
70 
71 private: // methods
72  void setup_objects( Pose const & pose );
73  void setup_loop_refinement_movers();
74  void init();
75  void init_for_equal_operator_and_copy_constructor( SnugDockProtocol & lhs, SnugDockProtocol const & rhs);
76  void init_options();
77 
79 
80 private: // data
82 
83  // Movers
87 
89 
90 }; // class SnugDockProtocol
91 
92 } // namespace antibody2
93 } // namespace protocols
94 
95 #endif // INCLUDED_protocols_antibody2_SnugDockProtocol_HH