Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SameSequenceGrouper.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 // :noTabs=false:tabSize=4:indentSize=4:
4 //
5 // (c) Copyright Rosetta Commons Member Institutions.
6 // (c) This file is part of the Rosetta software suite and is made available under license.
7 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
8 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
9 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
10 
11 /// @file protocols/match/output/SameSequenceGrouper.hh
12 /// @brief
13 /// @author Alex Zanghellini (zanghell@u.washington.edu)
14 /// @author Andrew Leaver-Fay (aleaverfay@gmail.com), porting to mini
15 
16 #ifndef INCLUDED_protocols_match_output_SameSequenceGrouper_hh
17 #define INCLUDED_protocols_match_output_SameSequenceGrouper_hh
18 
19 // Unit headers
21 
22 // Package headers
27 
28 //Project headers
29 #include <core/id/AtomID.fwd.hh>
30 
31 // Utility headers
32 // AUTO-REMOVED #include <utility/OrderedTuple.hh>
33 #include <utility/vector1.hh>
34 
35 // C++ headers
36 #include <map>
37 
38 #include <utility/OrderedTuple.fwd.hh>
39 
40 
41 namespace protocols {
42 namespace match {
43 namespace output {
44 
45 /// @brief Class to group matches that represent the same amino acids at
46 /// the same launch points. E.g. Two matches that both put a cys at launch
47 /// point #33, a ser a launch point #42 and another ser at launch point
48 /// #80 would be grouped together -- even if they are different rotamers.
50 public:
51  typedef core::Real Real;
52  typedef core::Size Size;
53  typedef std::map< utility::OrderedTuple< utility::vector1< Size > >, Size > SequenceMap;
54 
55 public:
57  SameSequenceGrouper( Size ncst );
58 
59  virtual
61 
62  virtual
63  Size
65  match const & m
66  );
67 
68  virtual
69  Size
71  match_dspos1 const & m
72  );
73 
74  virtual
75  void
76  reset();
77 
78  virtual
79  void
81 
82  void
84 
85 private:
86 
90 
91 };
92 
93 
94 /// @brief class that groups based on same sequence and proximity of the downstream object (based on rms )
95 /// NOTE: right now only the downstream position according to the first geomcst id upstream residue is
96 /// taken into account
98 
99 public:
100  typedef std::map< std::pair< Size, Size >, Size > SequenceLigPosMap;
103 
106 
107  virtual
109 
110  //virtual
111  //Size
112  //assign_group_for_match(
113  // match const & m
114  //);
115 
116  virtual
117  Size
119  match_dspos1 const & m
120  );
121 
122  virtual
123  void
124  reset();
125 
126  virtual
127  void
129 
130  void
131  set_rms_group_cutoff( Real cutoff );
132 
133  void
135  Size geomcst_id,
137  );
138 
139  void
141  utility::vector1< core::id::AtomID > const & relevant_atom_ids
142  );
143 
144 private:
145 
146  Size
148  match_dspos1 const & m
149  );
150 
152 
156  //needed to build the downstream target for rms comparison
158 };
159 
160 }
161 }
162 }
163 
164 #endif