Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NonlocalContactsCalculator.hh
Go to the documentation of this file.
1 // (c) Copyright Rosetta Commons Member Institutions.
2 // (c) This file is part of the Rosetta software suite and is made available under license.
3 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
4 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
5 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
6 
7 /// @file /src/protocols/toolbox/PoseMetricCalculators/NonlocalContactsCalculator.hh
8 /// @brief
9 /// @author Florian Richter
10 
11 
12 #ifndef INCLUDED_protocols_toolbox_pose_metric_calculators_NonlocalContactsCalculator_hh
13 #define INCLUDED_protocols_toolbox_pose_metric_calculators_NonlocalContactsCalculator_hh
14 
16 #include <core/pose/Pose.fwd.hh>
17 #include <core/types.hh>
18 #include <basic/MetricValue.fwd.hh>
19 #include <core/graph/Graph.fwd.hh>
20 
21 #include <basic/options/option.hh>
22 
23 #include <utility/vector1.hh>
24 
25 #include <set>
26 
27 
28 // option key includes
29 
30 #include <basic/options/keys/pose_metrics.OptionKeys.gen.hh>
31 
32 
33 namespace protocols{
34 namespace toolbox {
35 namespace pose_metric_calculators {
36 
38 
39 public:
40 
42  core::Size min_sequence_separation = basic::options::option[basic::options::OptionKeys::pose_metrics::min_sequence_separation],
43  core::Real contact_cutoffE = basic::options::option[basic::options::OptionKeys::pose_metrics::contact_cutoffE]
44  );
45 
46 
48  std::set< core::Size > const & special_region,
49  core::Size min_sequence_separation = basic::options::option[basic::options::OptionKeys::pose_metrics::min_sequence_separation],
50  core::Real contact_cutoffE = basic::options::option[basic::options::OptionKeys::pose_metrics::contact_cutoffE]
51  );
52 
54  std::set< core::Size > const & special_region1,
55  std::set< core::Size > const & special_region2,
56  core::Size min_sequence_separation = basic::options::option[basic::options::OptionKeys::pose_metrics::min_sequence_separation],
57  core::Real contact_cutoffE = basic::options::option[basic::options::OptionKeys::pose_metrics::contact_cutoffE]
58  );
59 
61 
62 
63 
66 
67 protected:
68 
69  virtual void lookup( std::string const & key, basic::MetricValueBase * valptr ) const;
70  virtual std::string print( std::string const & key ) const;
71  virtual void recompute( core::pose::Pose const & this_pose );
72 
73 
74 private:
75 
82 
85 
87 
88  //how far two residues need to be apart in sequence to count as nonlocal
90 
91  //minimum energy between two residues to count as interacting
93 
94  std::set< core::Size > special_region1_;
95  std::set< core::Size > special_region2_;
96 
97 };
98 
99 
100 } // namespace pose_metric_calculators
101 } // namespace toolbox
102 } // namespace protocols
103 
104 #endif