Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CatPiCalculator.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 /// @begin CatPiCalculator
11 ///
12 /// @brief
13 /// How many cation-pi interactions are there?
14 ///
15 /// @detailed
16 /// Not much detailed here. Iterate through the carbons of aromatic rings and compare that to
17 /// the distance of the polar hydrogens in basic residues...histidine not considered. Default distance is 3.2A.
18 /// Wait, you want to know how to use this? Well, within your protocol, you need to do the following:
19 /// First, create the calculator. To do this, see below:
20 /// core::pose::metrics::PoseMetricCalculatorOP cat_pi_calculator = new protocols::toolbox::pose_metric_calculators::SaltBridgeCalculator();
21 /// Then you must register this so that the pose understands it. See below:
22 /// core::pose::metrics::CalculatorFactory::Instance().register_calculator( "cat_pi_metric", cat_pi_calculator );
23 /// To actually get the metric, you have to print it. For example:
24 /// core::pose::Pose pose;
25 /// pose.print_metric("cat_pi_metric", "cat_pi")
26 /// Where cat_pi_metric is the name that it is registered under and "cat_pi" is the key, seen below.
27 ///
28 ///
29 ///
30 /// @author
31 /// Steven Combs
32 ///
33 /// @last_modified October 22 2010
34 /////////////////////////////////////////////////////////////////////////
35 #ifndef INCLUDED_protocols_toolbox_pose_metric_calculators_CatPiCalculator_hh
36 #define INCLUDED_protocols_toolbox_pose_metric_calculators_CatPiCalculator_hh
37 
38 
39 
41 #include <core/pose/Pose.fwd.hh>
42 #include <core/types.hh>
43 #include <basic/MetricValue.fwd.hh>
44 
45 #include <utility/vector1.hh>
46 
47 
48 
49 namespace protocols{
50 namespace toolbox {
51 namespace pose_metric_calculators {
52  // inherit from structure dependent calculator because this is a structure dependent calculator
54 public:
55  //default constructor where distance_cutoff is = to 3.2
57 
58  //constructor where you define what the distance cutoff is for the Hydrogen and Acceptor atoms
59  CatPiCalculator(core::Real dist_cutoff);
60 
63 
64 private:
65  core::Real distance_cutoff_; //distance cutoff between the Hydrogen and Acceptor atoms. Default is 3.2
67 
68 protected:
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 
75 
76 
77 
78 }
79 }
80 }
81 
82 
83 
84 
85 
86 #endif