Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SnugDock.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/SnugDock.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_SnugDock_HH
21 #define INCLUDED_protocols_antibody2_SnugDock_HH
22 
23 // Unit headers
26 
27 // Package headers
31 
32 
33 // Project headers
38 
39 // C++ headers
40 #include <iostream>
41 
42 using namespace core;
43 namespace protocols {
44 namespace antibody2 {
45 
47 public: // boiler plate / virtuals
48  // default constructor
49  SnugDock();
50 
51  // copy constructor
52  SnugDock( SnugDock const & rhs );
53 
54  // assignment operator
55  SnugDock & operator=( SnugDock const & rhs );
56 
57  // destructor
58  virtual ~SnugDock();
59 
60  virtual void apply( Pose & );
61  virtual std::string get_name() const;
62 
63  virtual protocols::moves::MoverOP clone() const;
64  virtual protocols::moves::MoverOP fresh_instance() const;
65 
66  ///@brief This mover retains state such that a fresh version is needed if the input Pose is about to change
67  virtual bool reinitialize_for_new_input() const;
68 
69  /// @brief Associates relevant options with the SnugDock class
70  static void register_options();
71 
72 public:
73  Size number_of_high_resolution_cycles() const;
74  void number_of_high_resolution_cycles( Size const number_of_high_resolution_cycles );
75  void set_antibody_info( AntibodyInfoOP antibody_info );
76 
77  void show( std::ostream & out=std::cout );
78  friend std::ostream & operator<<(std::ostream& out, SnugDock const & snugdock );
79 
80 private: // methods
81  void setup_objects( Pose const & pose );
82  void init();
83  void init_for_equal_operator_and_copy_constructor( SnugDock & lhs, SnugDock const & rhs);
84  void init_options();
85 
86 private: // data
89 
90  // Movers
94 
95 private:
97 
98 }; // class SnugDock
99 
100 } // namespace antibody2
101 } // namespace protocols
102 
103 #endif // INCLUDED_protocols_antibody2_SnugDock_HH