Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RRReporterHuman.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 src/protocols/rotamer_recovery/RRReporterHuman.hh
11 /// @author Matthew O'Meara (mattjomeara@gmail.com)
12 ///
13 ///
14 ///
15 ///The rotamer recovery will be output to the screen. Output looks like:
16 /// # native_structure_tag1
17 /// # total = 30
18 /// resi_idx nat_bb_bin pct_bb nat_rot1 pct_rot1 nat_rot2 pct_rot2 nat_rot3 pct_rot3 nat_rot4 pct_rot4
19 /// 1 E 1.0000 1 1.0000 2 1.0000 1 1.0000 999 0.0000
20 /// 2 B 1.0000 2 1.0000 1 1.0000 999 0.0000 999 0.0000
21 /// ...
22 ///
23 /// # native_structure_tag2
24 /// # total = 30
25 /// resi_idx nat_bb_bin pct_bb nat_rot1 pct_rot1 nat_rot2 pct_rot2 nat_rot3 pct_rot3 nat_rot4 pct_rot4
26 /// 1 E 1.0000 1 1.0000 2 1.0000 1 1.0000 999 0.0000
27 /// 2 B 1.0000 2 1.0000 1 1.0000 999 0.0000 999 0.0000
28 /// ...
29 
30 /// Where the # total is how many proteins compared.
31 /// resi_idx = residue index
32 /// nat_bb_bin = dssp naming for bb
33 /// pct_bb = fraction matching backbone bins
34 /// nat_rot1 = chi 1
35 /// pct_rot1 = fraction matching chi bins
36 /// If 999 appears, that means that the amino acid does not have that chi angle
37 ///
38 
39 
40 
41 #ifndef INCLUDED_protocols_rotamer_recovery_RRReporterHuman_HH
42 #define INCLUDED_protocols_rotamer_recovery_RRReporterHuman_HH
43 
44 // Unit Headers
47 
48 // Project Headers
49 #include <core/types.hh>
50 #include <core/pose/Pose.fwd.hh>
53 
54 // Utility headers
55 #include <utility/pointer/ReferenceCount.hh>
56 #include <utility/vector1.hh>
57 
58 // C++ Headers
59 #include <map>
60 
61 //Auto Headers
62 #include <string>
63 
64 
65 
66 namespace protocols {
67 namespace rotamer_recovery {
68 
70 
71 public: // public constructors / destructors
72 
74 
76  core::pose::Pose const & native_pose
77  );
78 
79  virtual ~PerNativeRRReporterHuman();
80 
82 
83 private: // private helper functions
84 
85  ///@brief return one character code for region of Ramachandran plot
86  char
88  core::Real const phi,
89  core::Real const psi,
90  core::Real const omega);
91 
92 public: // public interface
93 
94  void
95  set_native(
96  core::pose::Pose const & native_pose);
97 
98  void
100  core::pose::Pose const & /*decoy_pose*/,
101  core::conformation::Residue const & res,
102  core::Real score,
103  bool recovered);
104 
105  bool
106  initialized() const;
107 
108  void
109  show(
110  std::ostream & out,
111  core::Size column_width = 12,
113  ) const;
114 
115 private: // private member data
116 
122 
125 
126 };
127 
128 
129 ///@brief The reporting functionality for the rotamer recovery test in
130 ///a human readable format.
131 class RRReporterHuman : public RRReporter {
132 
133 public: // constructors destructors
134 
135  RRReporterHuman();
136 
137  RRReporterHuman( RRReporterHuman const & src );
138 
140 
141 private: // private helper functions
142 
143 
144  void
145  write_header(
146  std::ostream & out
147  ) const;
148 
149 public: // public interface
150 
151  void
153  std::string const & comparer_name,
154  std::string const & comparer_params);
155 
156  void
158  std::string const & protocol_name,
159  std::string const & protocol_params);
160 
161  virtual
162  void
163  reset_recovery();
164 
165  virtual
166  void
168  core::pose::Pose const & pose1,
169  core::pose::Pose const & pose2,
170  core::conformation::Residue const & res1,
171  core::conformation::Residue const & res2,
172  core::Real score,
173  bool recovered
174  );
175 
176  virtual
177  core::Real
178  recovery_rate() const;
179 
180  virtual
181  void
182  show(std::ostream & out ) const;
183 
184  virtual
185  void
186  show() const;
187 
188 private:
189 
196  std::map< std::string, PerNativeRRReporterHuman > per_native_recovery_;
201 };
202 
203 
204 } // namespace rotamer_recovery
205 } // namespace protocols
206 
207 
208 #endif // include guard