Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LoopAnalyzerMover.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/analysis/LoopAnalyzerMover.hh
11 /// @brief LoopAnalyzerMover examines loop structures and packages extra scores into a Job object
12 /// @author Steven Lewis
13 
14 #ifndef INCLUDED_protocols_analysis_LoopAnalyzerMover_hh
15 #define INCLUDED_protocols_analysis_LoopAnalyzerMover_hh
16 
17 // Unit Headers
19 
20 // Project Headers
21 #include <core/pose/Pose.fwd.hh>
23 #include <protocols/moves/Mover.hh>
25 
26 // Utility Headers
27 #include <core/types.hh>
28 // AUTO-REMOVED #include <utility/vector1.hh>
29 
30 #include <utility/vector1.hh>
31 
32 
33 namespace protocols {
34 namespace analysis {
35 
37 
38 public:
39 
40  LoopAnalyzerMover( protocols::loops::Loops const & loops, bool const tracer = false );
41 
42  virtual ~LoopAnalyzerMover();
43 
44  ///@brief do not use a default constructor with this class - function exists as part of the remove #include drive
46 
47  LoopAnalyzerMover( LoopAnalyzerMover const & rhs );
48 
49 private:
50  ///@brief not implemented and deliberately uncallable - the tracer boolean can't be reset; why do you need this anyway?
52 
53 public:
54  ///@brief apply function will calculate data about the input pose. It is not intended to modify the pose itself (conformation and energies objects) although it may toss data into the DataCache or a Job object.
55  virtual void apply( core::pose::Pose & input_pose );
56 
57  virtual std::string get_name() const;
58 
59 private:
60  ///@brief places cutpoints in the loops, scores chainbreak, removes cutpoints
62 
63  ///@brief ctor helper: create scorefunction
64  void set_sf();
65 
66  ///@brief convert loops into positions (must wait until pose, thus not in ctor)
67  void find_positions( core::pose::Pose const & pose );
68 
69 private:
70  ///@brief used to store a copy of the input loops
72 
73  ///@brief output to tracer or PDB/silent file
74  bool const tracer_;
75 
76  ///@brief used to calculate positions to examine - loops +- 1 position are interesting, but vary w/termini, etc
78 
79  ///@brief scorefunction used to apply multiple individual terms at once, not as a cohesive unit
81 
82  ///@brief scorefunction for chainbreak score
84 
85  ///brief remember chainbreak scores
87 
88 }; //class LoopAnalyzerMover
89 
90 }//analysis
91 }//protocols
92 
93 #endif //INCLUDED_protocols_analysis_LoopAnalyzerMover_HH