Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
InvrotTarget.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 // :noTabs=false:tabSize=4:indentSize=4:
4 //
5 // (c) Copyright Rosetta Commons Member Institutions.
6 // (c) This file is part of the Rosetta software suite and is made available under license.
7 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
8 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
9 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
10 
11 /// @file protocols/toolbox/match_enzdes_util/InvrotTarget.hh
12 /// @brief .hh file for inverse rotamer target
13 /// @author Florian Richter, flosopher@gmail.com, mar 2012
14 
15 #ifndef INCLUDED_protocols_toolbox_match_enzdes_util_InvrotTarget_hh
16 #define INCLUDED_protocols_toolbox_match_enzdes_util_InvrotTarget_hh
17 
18 
19 //unit headers
21 
22 //package headers
25 
26 #ifdef PYROSETTA
28 #endif
29 
30 #ifdef WIN32
32 #else
34 #endif
35 
36 // Utility headers
37 //#include <util
38 
39 namespace protocols {
40 namespace toolbox {
41 namespace match_enzdes_util {
42 
43 
44 /// @brief the 'root' target against which the inverse rotamers are built
45 /// abstract base class to allow for invrots being built against
46 /// any sort of entity
48 
49 public:
50 
51  InvrotTarget();
52 
53  ~InvrotTarget();
54 
56  target_res_for_geom_cst( core::Size geom_cst ) const;
57 
58  std::list< core::conformation::ResidueCOP >
59  all_target_res() const;
60 
61  /// @brief generate constraints against a certain pose
64  core::pose::Pose const & pose,
65  AllowedSeqposForGeomCstCOP geomcst_seqpos
66  ) const;
67 
68  /// @brief
69  /// can initialize tree nodes according to
70  /// an enzcst io
71  /// note that this function presumes that
72  /// representative_target_res_for_geom_cst_ and
73  /// all_target_res_ have been set through calling the
74  /// generate_representative_target_res_for_geom_cst()
75  /// function as implemented by the child class
76  bool
78  EnzConstraintIOCOP enzcst_io );
79 
81  all_target_residues( InvrotTreeNodeBaseCAP child_node ) const;
82 
83  virtual
84  void
86  utility::vector1< InvrotCollectorOP > & invrot_collector
87  ) const;
88 
89 protected:
90 
91  /// @brief this function figures out the coordinates
92  /// (in Residue format) of the target residue for
93  /// each geomcst.
94  /// for a ligand, it's simply that ligand
95  virtual
96  void
97  generate_representative_target_res_for_geom_cst( Size const num_geom_cst ) = 0;
98 
99  void
100  set_all_target_res( std::list< core::conformation::ResidueCOP > const & all_target_res );
101 
102  void
104  utility::vector1< core::conformation::ResidueCOP > const & representative_res );
105 
106 private:
107 
109  std::list< core::conformation::ResidueCOP > all_target_res_;
110 
112 
113 };
114 
115 
117 
118 public:
119 
122  );
123 
125 
126 private:
127 
128  void
130 
131 
132 };
133 
134 
135 }
136 }
137 }
138 
139 #endif