Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
WidthFirstSlidingWindowLoopClosure.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 src/protocols/abinitio/SlidingWindowLoopClosure.hh
11 /// @brief header file for SlidingWindowLoopClosure protocol
12 /// @detailed
13 /// Contains currently: Classic Abinitio
14 ///
15 ///
16 /// @author Oliver Lange
17 /// @author James Thompson
18 
19 
20 #ifndef INCLUDED_protocols_loops_loop_closure_ccd_WidthFirstSlidingWindowLoopClosure_hh
21 #define INCLUDED_protocols_loops_loop_closure_ccd_WidthFirstSlidingWindowLoopClosure_hh
22 
23 // Unit Headers
26 
27 // Package Headers
28 // AUTO-REMOVED #include <protocols/loops/Loops.hh>
29 
30 // Project Headers
31 #include <core/pose/Pose.fwd.hh>
32 
34 
35 #include <core/types.hh>
36 
40 
41 //#include <protocols/evaluation/PoseEvaluator.hh>
42 // ObjexxFCL Headers
43 
44 // Utility headers
45 #include <utility/pointer/ReferenceCount.hh>
46 
47 //// C++ headers
48 // AUTO-REMOVED #include <cstdlib>
49 #include <string>
50 
51 #include <utility/vector1.hh>
52 
53 namespace protocols {
54 namespace loops {
55 namespace loop_closure {
56 namespace ccd {
57 
58 ///@detail
59 // ths derivation from SlidingWindowLoopClosure changes the order of sampling... instead of all attempts with a certain window size first
60 /// it will switch between different windows. If nothing good is found after one sweep of window sizes we bail out... (assuming that it is fruitless)
61 /// if things look promising more sampling time is spend to find a good loop
64 public:
65  ///@brief constructor: supply fragsets for fragment moves
70  );
71 
72  //@brief just set defaults -- expects fragset, scorefxn and movemap to be set later
74 
75 
76  //@brief run find fragments that close loop (if ideal loop closing: such that the less_cut pose is close RMSD <0.1 to pose more_cut)
77  // returns less_cut and more_cut with best fragment already applied..
78  virtual void sample_loops( core::pose::Pose& more_cut, core::pose::Pose& less_cut );
79  // virtual void select_final_loop( core::pose::Pose& more_cut, core::pose::Pose& less_cut );
80  static void register_options();
81  virtual std::string get_name() const;
82 
83 protected:
84 
85  void set_defaults();
86 
87 
88  core::Real window_acceptance_ratio_; //=0.1; fast_closure must have at least 0.1*nr_fragments succesfully closed loops
90  // to accept this window for further scored (slower) sampling
93 
96 };
97 
98 } // nameaspce ccd
99 } // namespace loop_closure
100 } // namespace loops
101 } // namespace protocols
102 
103 #endif //INCLUDED_protocols_loops_loop_closure_WidthFirstSlidingWindowLoopClosure_hh