Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SaltBridgeCalculator.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 SaltBridgeCalculator
11 ///
12 /// @brief
13 /// How many salt bridge interactions are there?
14 ///
15 /// @detailed
16 /// Not much detailed here. Iterate through the oxygens of acidic residues and compare that to
17 /// the distance of the polar hydrogens in basic residues. 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 sb_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( "sb_metric", sb_calculator );
23 /// To actually get the metric, you have to print it. For example:
24 /// core::pose::Pose pose;
25 /// pose.print_metric("sb_metric", "salt_bridge")
26 /// Where sb_metric is the name that it is registered under and "salt_bridge" is the key, seen below.
27 ///
28 ///
29 ///
30 /// @author
31 /// Steven Combs
32 ///
33 /// @last_modified October 22 2010
34 /////////////////////////////////////////////////////////////////////////
35 
36 #ifndef INCLUDED_protocols_toolbox_pose_metric_calculators_SaltBridgeCalculator_hh
37 #define INCLUDED_protocols_toolbox_pose_metric_calculators_SaltBridgeCalculator_hh
38 
40 #include <core/pose/Pose.fwd.hh>
41 #include <core/types.hh>
42 #include <basic/MetricValue.fwd.hh>
43 
44 #include <utility/vector1.hh>
45 
46 
47 
48 namespace protocols{
49 namespace toolbox {
50 namespace pose_metric_calculators {
51 
53 public:
54  //default constructor where distance_cutoff is = to 3.2
56 
57  //constructor where you define what the distance cutoff is for the Hydrogen and Acceptor atoms
58  SaltBridgeCalculator(core::Real dist_cutoff);
59 
62 
63 private:
64  core::Real distance_cutoff_; //distance cutoff between the Hydrogen and Acceptor atoms. Default is 3.2
66 
67 protected:
68  virtual void lookup( std::string const & key, basic::MetricValueBase * valptr ) const;
69  virtual std::string print( std::string const & key ) const;
70  virtual void recompute( core::pose::Pose const & this_pose );
71 
72 };
73 
74 
75 
76 
77 }
78 }
79 }
80 
81 
82 
83 
84 
85 
86 #endif