Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LoopHashSampler.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 protocols/loophash/LoopHashSampler.hh
11 /// @brief
12 /// @author Mike Tyka
13 
14 
15 
16 #ifndef INCLUDED_protocols_loophash_LoopHashSampler_hh
17 #define INCLUDED_protocols_loophash_LoopHashSampler_hh
18 
22 
23 #include <core/types.hh>
24 #include <core/pose/Pose.fwd.hh>
27 #include <utility/pointer/ReferenceCount.hh>
28 #include <string>
29 #include <vector>
30 
31 #include <utility/vector1.hh>
32 
33 
34 
35 namespace protocols {
36 namespace loophash {
37 
38 
39 
41  public:
42 
44  LoopHashLibraryOP library,
45  LocalInserterOP inserter
46  );
47 
48  virtual ~LoopHashSampler();
49 
50  void set_defaults();
51 
52  /// @brief create a set of structures for a the given range of residues and other parameters stored int his class.
53  void build_structures(
54  const core::pose::Pose& start_pose,
55  std::vector< core::io::silent::SilentStructOP > &lib_structs
56  );
57 
58  /// @brief create a set of structures with closed gaps
59  void close_gaps(
60  const core::pose::Pose& start_pose,
61  std::vector< core::pose::Pose > &lib_structs,
62  core::Size loop_size
63  );
64 
65  void set_start_res( core::Size value ) { start_res_ = value; }
66  void set_stop_res ( core::Size value ) { stop_res_ = value; }
67  void set_min_bbrms( core::Real value ) { min_bbrms_ = value; }
68  void set_max_bbrms( core::Real value ) { max_bbrms_ = value; }
69  void set_min_rms ( core::Real value ) { min_rms_ = value; }
70  void set_max_rms ( core::Real value ) { max_rms_ = value; }
71  void set_max_radius ( core::Size value ) { max_radius_ = value; }
72  void set_max_struct ( core::Size value ) { max_struct_ = value; }
74  void set_max_nstruct ( core::Size value ) { max_nstruct_ = value; }
75  void set_nonideal ( bool value ) { nonideal_ = value; }
76  void set_filter_by_phipsi ( bool value) { filter_by_phipsi_ = value; }
77  // This is meant for model creation, not mpi refinement!
78 
87 
88  //fpd pre-filter structures with a scorefunction
89  //fpd this is done using a chainbroken pose (before constraint minimization!)
90  //fpd useful for experimentally derived scorefunctions (eg density)
92  score_filt_ = score_filt;
93  nprefilter_ = nstruct;
94  }
95 
96  private:
97 
98  /// @brief pointer to the library used for insertion
100 
101  /// @brief pointer to the insertion functor which provides the peptide insertion facility
103 
104  /// @brief parameters for insertion positions
115  bool nonideal_;
117 
118  /// @brief (fpd) pre-filtering options
121 };
122 
123 
124 
125 
126 
127 }
128 }
129 
130 #endif