Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MotifSearch.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 MotifSearch.hh
11 /// @brief Class declaration for motif searching protocol
12 /// @author sthyme (sthyme@gmail.com)
13 
14 #ifndef INCLUDED_protocols_motifs_MotifSearch_hh
15 #define INCLUDED_protocols_motifs_MotifSearch_hh
16 
17 // Unit Headers
19 
20 // Package Headers
26 
27 // Project Headers
30 #include <core/pose/Pose.fwd.hh>
31 #include <core/types.hh>
32 
33 // Utility Headers
34 #include <utility/pointer/ReferenceCount.hh>
35 #include <utility/vector1.hh>
36 
37 // C++ Headers
38 #include <map>
39 #include <set>
40 #include <string>
41 
42 #ifdef WIN32
44 #endif
45 
46 namespace protocols {
47 namespace motifs {
48 
50 {
51 
52 public:
53 
54  typedef core::Real Real;
55  typedef core::Size Size;
60 
61  // Constructor
62  MotifSearch();
63 
64  // Destructor
65  virtual ~MotifSearch();
66 
67  // Copy constructor
69  MotifSearch const & src
70  );
71 
72  MotifSearch const &
74  MotifSearch const & src
75  );
76 
77  //
78  void run(
79  Pose & pose,
80  Sizes & input_BPs
81  );
82 
83  //
84  void initialize(
85  Pose & pose,
86  Sizes & input_BPs
87  );
88 
89  void
91  Pose const & pose
92  );
93 
96  Size const seqpos
97  );
98 
100  bp_motifhits(
101  Size const seqpos
102  );
103 
104 
105  bool
107 
108  void
110  Pose const & pose
111  );
112 
113  void
115  Pose const & pose,
116  Sizes & build_positions
117  );
118 
120  Pose const & pose
121  );
122 
123  void
125  Pose const & pose,
126  Size const input_BP
127  );
128 
129  void
131  Pose const & pose,
133  );
134 
135  void
137  Pose const & pose,
139  );
140 
143  std::map< Size, std::set< std::string > > mappositions
144  );
145 
148  Pose const & pose,
149  Size const bp,
150  Sizes & full_tl
151  );
152 
153  void
155  Pose const & pose,
156  Sizes & build_positions,
158  );
159 
160  void
162  Pose const & pose,
163  Sizes & build_positions,
165  Sizes & short_tl
166  );
167 
168  void
170  Real const & r1,
171  Real const & z1,
172  Real const & r2,
173  Real const & z2,
174  Real const & d1,
175  Size const & rlevel,
176  bool const bpdata,
177  bool const bump_check
178  );
179 
180  void
182 
183  void
185  MotifLibrary & motiflibrary
186  );
187 
188  // Accessors
189  MotifCOPs const & motif_library() const { return motif_library_; }
190  Sizes const & dna_positions() const { return dna_positions_; }
191  Sizes const & protein_positions() const { return protein_positions_; }
192  std::map< Size, std::set< std::string > > const & target_positions() const { return target_positions_; }
194  std::map< std::string, core::conformation::ResidueOPs > const & target_conformers_map() const { return target_conformers_map_; }
195  Real const & ztest_cutoff_1() const { return ztest_cutoff_1_;}
196  Real const & ztest_cutoff_2() const { return ztest_cutoff_2_;}
197  Real const & rmsd_cutoff_1() const { return rmsd_cutoff_1_;}
198  Real const & rmsd_cutoff_2() const { return rmsd_cutoff_2_;}
199  Real const & dtest_cutoff() const { return dtest_cutoff_;}
200  Size const & rot_level() const { return rot_level_;}
201  bool const & minimize() const { return minimize_;}
202 
203 private:
204  void init_options();
205 
206 private:
210  std::map< Size, std::set< std::string > > target_positions_;
212  std::map< std::string, core::conformation::ResidueOPs > target_conformers_map_;
213 
214  // inputs used for scoring motif, 1s are broader first limit and 2s are a tighter cutoff for final selection
220 
221  // input rotamer level (4 = all chis explosion, 8 is extra deviations of explosion on all 4 chis)
223 
224  bool minimize_;
225 
226  // options set in init_options
227  bool bpdata_;
229  bool output_;
231  bool data_;
240 
241 };
242 
243 } // namespace motifs
244 } // namespace protocols
245 
246 #endif // INCLUDED_protocols_motifs_MotifSearch