Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HPatchEnergy.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/methods/HPatchEnergy.hh
11 /// @brief HPatch energy method, a score based on exact SASA calculations and a new patch identification algorithm, header file
12 /// @author Ron Jacak (ronj@email.unc.edu)
13 
14 #ifndef INCLUDED_core_pack_interaction_graph_HPatchEnergy_hh
15 #define INCLUDED_core_pack_interaction_graph_HPatchEnergy_hh
16 
17 // Unit headers
19 
20 // Package headers
21 // AUTO-REMOVED #include <core/scoring/EnergyMap.hh>
24 
25 // Project headers
27 #include <core/pose/Pose.fwd.hh>
28 #include <core/id/TorsionID.fwd.hh>
29 #include <core/id/DOF_ID.fwd.hh>
30 
31 #include <utility/vector1.hh>
32 
33 
34 
35 namespace core {
36 namespace pack {
37 namespace interaction_graph {
38 
39 
40 //----------------------------------------------------------------------------//
41 //---------------------- HPatchEnergy Class -----------------------------//
42 //----------------------------------------------------------------------------//
43 
44 ///
45 /// @begin HPatchEnergy
46 ///
47 /// @brief
48 /// Defines a (pseudo) context-dependent one-body surface energy. Really, this class
49 /// is only being used as a hack for the optE protocol so that the non-PD surface
50 /// energy can be optimized together with the other PD-terms.
51 /// The difference from this energy method from the plain SurfaceEnergy method is that
52 /// it calculates the patch area using methods in sasa.cc instead of using average
53 /// values. This new method also uses a new approach for finding which residues to include
54 /// in a patch, not just all residues within 10A.
55 ///
57 public:
59 
60 public:
61  HPatchEnergy();
62 
63  virtual
65 
66  virtual
67  void
68  setup_for_scoring( pose::Pose & pose, scoring::ScoreFunction const & ) const;
69 
70  virtual
71  void
72  residue_energy( conformation::Residue const & rsd, pose::Pose const &, scoring::EnergyMap & ) const;
73 
74  virtual
75  void
77 
78  void indicate_required_context_graphs( utility::vector1< bool > & /*context_graphs_required*/ ) const {};
79 virtual
80 core::Size version() const;
81 
82 
83 private:
84 
85 };
86 
87 } // namespace interaction_graph
88 } // namespace pack
89 } // namesapce core
90 
91 
92 #endif // INCLUDED_core_pack_interaction_graph_HPatchEnergy_HH