Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DisulfideMatchingPotential.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 sw=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/disulfides/DisulfideMatchingPotential.hh
11 /// @brief Centroid Disulfide Energy Potentials
12 /// @author rvernon@u.washington.edu
13 /// @date 02/10/10
14 
15 #ifndef INCLUDED_core_scoring_disulfides_DisulfideMatchingPotential_hh
16 #define INCLUDED_core_scoring_disulfides_DisulfideMatchingPotential_hh
17 
18 //Unit headers
21 #include <utility/pointer/ReferenceCount.hh>
22 
23 //Project headers
24 #include <core/types.hh>
25 // AUTO-REMOVED #include <core/pose/Pose.fwd.hh>
26 // AUTO-REMOVED #include <core/pose/Pose.hh>
28 // AUTO-REMOVED #include <core/scoring/constraints/Func.hh>
29 
30 //Utility Headers
31 // AUTO-REMOVED #include <numeric/interpolation/Histogram.hh>
32 // AUTO-REMOVED #include <utility/vector1.hh>
33 
34 #include <core/pose/Pose.fwd.hh>
35 #include <utility/vector1.hh>
36 #include <numeric/xyzMatrix.fwd.hh>
37 #include <ObjexxFCL/FArray2A.fwd.hh>
38 
39 namespace core {
40 namespace scoring {
41 namespace disulfides {
42 
43 /**
44  * @details This class scores centroid disulfide bonds
45  * It is intended to be a singleton with a single instance held by ScoringManager.
46  *
47  * The energy functions are derived from those present in Rosetta++
48  */
50 public:
53 
54  /**
55  * @brief Calculates scoring terms for the disulfide bond specified
56  */
57  void
59  core::conformation::Residue const & res2,
60  core::Energy & match_t,
61  core::Energy & match_r,
62  core::Energy & match_rt
63 
64  ) const;
65 
66  // Not used by scoring machinery, exists so that other apps can compute the score directly
67  Energy compute_matching_energy( pose::Pose const & pose ) const;
68 
69 
70 private:
71 
72  /**
73  * @brief calculates RT object for residue pair
74  */
77  core::conformation::Residue const& res1,
78  core::conformation::Residue const& res2) const;
79 
80 private:
81 
83 
84 }; // DisulfideMatchingPotential
85 
86 
87 // RT Helper makes an RT object out of two Epos arrays
88 // I should probably move this somewhere more appropriate...
89 // -rvernon@u.washington.edu
90 class RT_helper {
91 public:
92 
93 static
95 RT_from_epos( ObjexxFCL::FArray2A_float Epos1, ObjexxFCL::FArray2A_float Epos2);
96 
97 private:
98 
99 static
100 numeric::xyzMatrix_double
101 get_ncac ( ObjexxFCL::FArray2A_float pos );
102 
103 static
104 void
105 get_ncac(
106  ObjexxFCL::FArray2A_float pos,
107  numeric::xyzMatrix_double & p
108  );
109 
110 static
111 void
113  numeric::xyzMatrix_double const & p, //FArray2A_double p, // input
114  numeric::xyzMatrix_double & m //FArray2A_double m // output
115  );
116 
117 }; // RT_helper
118 
119 } // disulfides
120 } // scoring
121 } // core
122 
123 #endif