Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
P_AA.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 core/scoring/P_AA.hh
11 /// @brief Amino acid probability arrays and functions
12 /// @author Stuart G. Mentzer (Stuart_Mentzer@objexx.com)
13 /// @author Andrew Leaver-Fay -- porting Stuart's code
14 
15 #ifndef INCLUDED_core_scoring_P_AA_hh
16 #define INCLUDED_core_scoring_P_AA_hh
17 
18 // Unit Headers
19 #include <core/scoring/P_AA.fwd.hh>
20 
21 // Package headers
22 #include <core/scoring/types.hh>
23 
24 // Project headers
25 #include <core/types.hh>
26 #include <core/chemical/AA.hh>
28 #include <core/id/TorsionID.fwd.hh>
29 
30 // Utility headers
31 #include <utility/pointer/ReferenceCount.hh>
32 #include <utility/vector1.hh>
33 
34 // Numeric headers
35 #include <numeric/interpolation/spline/Bicubic_spline.hh>
36 
37 namespace core {
38 namespace scoring {
39 
41 {
42 
43 private:
44 
45  /// @brief Amino acid probability array: P(aa)
46  //typedef utility::keys::SmallKeyVector< conformation::amino::AminoAcidKey, Probability > Probability_AA;
47  //extern Probability_AA P_AA;
50 
51  /// @brief Amino acid conditional probability wrt number of neighbors array: P(aa|neighbors)
52  //typedef utility::keys::SmallKeyVector< conformation::amino::AminoAcidKey, FArray1D_Probability > Probability_AA_n;
53  //extern Probability_AA_n P_AA_n;
56 
57  /// @brief Amino acid conditional probability wrt (phi,psi) array: P(aa|phi,psi)
58  //typedef utility::keys::SmallKeyVector< conformation::amino::AminoAcidKey, FArray2D_Probability > Probability_AA_pp;
59  //extern Probability_AA_pp P_AA_pp;
62 
64 
65 public:
66  P_AA();
67 
68  virtual ~P_AA();
69 private:
70 
71 
72  /// @brief Initialize the amino acid probability data structures
73  void
75 
76 
77  /// @brief Read the amino acid probability file into P_AA
78  void
79  read_P_AA();
80 
81 
82  /// @brief Read the amino acid conditional probability wrt (neighbors) file into P_AA_n
83  void
84  read_P_AA_n();
85 
86 
87  /// @brief Read the amino acid conditional probability wrt (phi,psi) file into P_AA_pp
88  void
89  read_P_AA_pp();
90 
91 public:
92  /// @brief Probability energies from P(aa|phi,psi)
93  //Energy
94  //P_AA_pp_energy( conformation::amino::AminoAcid const & aa );
95  Energy
96  P_AA_pp_energy( conformation::Residue const & ) const;
97 
98  /// @brief Low-level probability energies from P(aa|phi,psi)
99  /// @brief Probability energies from P(aa|phi,psi): Low level calculation for non-terminus position
100  //Energy
101  //P_AA_pp_energy( conformation::amino::AminoAcidKey const & key, Angle const phi, Angle const psi );
102  Energy
103  P_AA_pp_energy( chemical::AA aa, Angle const phi, Angle const psi ) const;
104 
107  conformation::Residue const & res,
108  id::TorsionID const & tor_id
109  ) const;
110 
111  /// @brief Probability energies for P(aa)
112  Energy
113  P_AA_energy( conformation::Residue const & ) const;
114 
115 
116 };
117 
118 } // namespace scoring
119 } // namespace core
120 
121 
122 #endif // INCLUDED_core_scoring_P_AA_HH