Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BuildPosition.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 /// @file BuildPosition.hh
11 /// @brief Class declaration for position where motifs are built in MotifSearch
12 /// @author sthyme (sthyme@gmail.com)
13 
14 #ifndef INCLUDED_protocols_motifs_BuildPosition_hh
15 #define INCLUDED_protocols_motifs_BuildPosition_hh
16 
17 // Unit Headers
19 
20 // Package Headers
23 
24 // Project Headers
27 #include <core/types.hh>
28 
29 // Utility Headers
30 #include <utility/pointer/ReferenceCount.hh>
31 #include <utility/vector1.hh>
32 
33 // C++ Headers
34 #include <set>
35 
36 //Auto Headers
37 #ifdef WIN32
39 #endif
40 
41 
42 namespace protocols {
43 namespace motifs {
44 
46 
47 public:
48 
49  // Constructor that defaults to empty allowed_types (aka, all allowed)
51  Size const seqpos,
53  );
54 
55  // Constructor that requires input of allowed_types for limiting aas
57  Size const seqpos,
58  utility::vector1< Size > const & target_positions,
59  std::set< std::string > const & allowed_types
60  );
61 
62  // Destructor, copy constructor, clone method
63  virtual ~BuildPosition();
64  BuildPosition( BuildPosition const & src );
65  BuildPositionOP clone() const;
66 
67  // Save this rotamer
68  void keep_rotamer(
69  core::conformation::Residue const & res
70  );
71 
72  // Save this motif
73  void keep_motif(
74  Motif const & motif
75  );
76 
77  // Save this motif hit
78  void keep_motifhit(
79  MotifHit const & motifhit
80  );
81 
82  // Clears the best_motifs_ and best_rotamers_
83  void clear_data();
84 
85  // Clears the rots only
86  void clear_rots();
87 
88  // Accessors
89  Size const & seqpos() const { return seqpos_; }
91  std::set< std::string > const & allowed_types() const { return allowed_types_; }
93  MotifCOPs const & best_motifs() const { return best_motifs_; }
94  MotifHitCOPs const & best_motifhits() const { return best_motifhits_; }
95 
96 private:
97 
98  // The particular position associated with motifs and rotamers
100  // Close potential targets for motifs (DNA bases in protein-DNA case)
102  // Residues types (name3 string) allowed at this position
103  std::set< std::string > allowed_types_;
104  // Rotamers that pass cutoffs in the MotifSearch
106  // Motifs that pass cutoffs in the MotifSearch
109 
110 };
111 
112 } // namespace motifs
113 } // namespace protocols
114 
115 #endif // INCLUDED_protocols_motifs_BuildPosition