Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
EnzdesCacheableObserver.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 .hh file for enzdes cacheable observer
11 /// @brief
12 /// @author Florian Richter, floric@u.washington.edu
13 
14 #ifndef INCLUDED_protocols_toolbox_match_enzdes_util_EnzdesCacheableObserver_hh
15 #define INCLUDED_protocols_toolbox_match_enzdes_util_EnzdesCacheableObserver_hh
16 
17 //unit headers
20 
21 //package headers
25 
26 //project headers
29 #include <core/pose/Pose.fwd.hh>
30 #include <core/types.hh>
32 
33 //utility headers
34 #include <utility/signals/Link.hh>
35 
36 #include <map>
37 
39 #include <utility/vector1.hh>
40 
41 #ifdef WIN32
43 #endif
44 
45 
46 namespace protocols {
47 namespace toolbox {
48 namespace match_enzdes_util {
49 
50 
51 /// @brief convenience function to get a cacheable observer from a pose
54  core::pose::Pose & pose );
55 
58  core::pose::Pose const & pose );
59 
61 
62 public: //typedefs
63 
64  //typedef utility::signals::Link Link;
65 
66 public: //constructor/destructor/
67 
69 
71 
73 
74  virtual
76  clone();
77 
78  virtual
80  create();
81 
82 public: //observer interface
83 
84  virtual
85  bool is_attached() const;
86 
87 protected: //observer interface
88 
89  virtual
90  void attach_impl( core::pose::Pose & pose );
91 
92  virtual
93  void detach_impl();
94 
95  void
97 
98 public: //enzdes specific stuff
99 
100  void
103  );
104 
106  cst_cache();
107 
109  cst_cache() const;
110 
111  std::map< core::Size, utility::vector1< core::conformation::ResidueCOP > > const &
112  lig_rigid_body_confs() const;
113 
114  void
116  core::Size seqpos,
118  );
119 
120  void
122  core::Size seqpos );
123 
124  void set_seq_recovery_cache( EnzdesSeqRecoveryCacheOP seq_recovery_cache);
125 
128 
129  void
131  EnzdesLoopsFileCOP loopfile_in
132  );
133 
135  enzdes_loops_file() const;
136 
137  void
139  core::pose::Pose & pose,
141  core::pose::Pose const & native_pose
142  );
143 
144  void
146  core::pose::Pose & pose
147  );
148 
149 
150 private:
151 
152  //enzdes constraint storage
154  //contains wt seq and keeps track of the designed residues
156 
157  //favor native constraints
159 
160  //evtl loops file
162 
163  // storage for different rigid body conformations for ligands
164  //e.g. from matching or docking
165  std::map< core::Size, utility::vector1< core::conformation::ResidueCOP > > lig_rigid_body_confs_;
166 
167  utility::signals::Link length_event_link_;
168 
169 };
170 
171 
172 } //match_enzdes_util
173 } //toolbox
174 } //protocols
175 
176 
177 #endif