Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MatchResidues.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 protocolsoped 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 protocols/fldsgn/MatchResidues.hh
11 /// @brief header file for MatchResidues class
12 // @brief returns the RMSD between a subset of residues of the movered pose against a list of residues in the reference pose.
13 /// @author Javier Castellanos ( javiercv@uw.edu )
14 
15 
16 #ifndef INCLUDED_protocols_fldsgn_MatchResidues_hh
17 #define INCLUDED_protocols_fldsgn_MatchResidues_hh
18 
19 // Unit Headers
20 
21 // Package Headers
23 
24 // Project Headers
25 #include <core/pose/Pose.hh>
28 
29 // Parser headers
32 #include <utility/tag/Tag.fwd.hh>
33 
34 // Boost headers
35 #include <boost/tuple/tuple.hpp>
36 
37 
38 namespace protocols {
39 namespace fldsgn {
40 
42 public:
43 
46  typedef core::Real Real;
47  typedef core::Size Size;
49 
56 
57 
58 public:// constructor/destructor
59 
60  // @brief default constructor
61  MatchResidues();
62 
63  virtual ~MatchResidues();
64 
65 
66 
67 public:// parser
68 
69  void parse_my_tag( TagPtr const tag,
70  DataMap &,
71  Filters_map const &,
72  Movers_map const &,
73  Pose const & );
74 
75 
76 public:
77  core::Real compute( core::pose::Pose const & pose, VecSize & best_fit ) const;
78  core::Real compute_comb( core::pose::Pose const & pose, VecSize const & comb ) const;
79  core::Real superimpose_comb( core::pose::Pose & pose, VecSize const & comb ) const;
80  core::Real threshold() const { return threshold_; }
81  void threshold(core::Real value) { threshold_ = value; }
82 
83 private:
84 
85  std::map< std::string, boost::tuple<Size, Size> > map_ss_segments( std::string const & ss) const;
86 
87  void cart_product( VecVecSize& rvvi, VecSize& rvi, VecVecSize::const_iterator me, VecVecSize::const_iterator end ) const;
88  VecVecSize cart_product( VecVecSize const & input) const;
89 
90 private:
94 
96 
97 };
98 
99 } // fldsgn
100 } // protocols
101 
102 #endif