Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JointSequenceOperation.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/toolbox/task_operations/JointSequenceOperation.hh
11 /// @brief set every position to be designable to residues observed in a set of structures
12 /// @author Rocco Moretti, rmoretti@u.washington.edu
13 
14 #ifndef INCLUDED_protocols_toolbox_task_operations_JointSequenceOperation_hh
15 #define INCLUDED_protocols_toolbox_task_operations_JointSequenceOperation_hh
16 
17 // unit headers
19 
20 //package headers
22 // AUTO-REMOVED #include <core/pack/rotamer_set/UnboundRotamersOperation.hh>
23 
24 //project headers
25 // AUTO-REMOVED #include <core/chemical/AA.hh>
28 #include <core/types.hh>
29 // AUTO-REMOVED #include <protocols/ddg/ddGData.fwd.hh>
30 
31 // Utility Headers
32 #include <utility/tag/Tag.fwd.hh>
33 #include <utility/vector1.hh>
34 
35 // AUTO-REMOVED #include <iostream>
36 
38 
39 
40 using namespace core::pack::task;
41 
42 namespace protocols{
43 namespace toolbox{
44 namespace task_operations{
45 
47 public:
48 
50  typedef core::Real Real;
57 
58 public:
59 
60  /// @brief default constructor
62 
63  /// @brief destructor
65 
66  /// @brief make clone
67  virtual TaskOperationOP clone() const;
68 
69 public:
70 
71  void parse_tag( TagPtr tag );
72  void parse_def( utility::lua::LuaObject const & def );
73 
74  /// @brief apply
75  virtual void apply( Pose const & pose, PackerTask & task ) const;
76 
77  /// @brief Add the sequence from the given filename to the set of allowed aas.
78  void add_pdb( std::string filename );
79 
80  /// @brief Add the sequence from the given pose to the set of allowed aas.
81  void add_pose( Pose const & pose );
82 
83  /// @brief Add the sequence from the given filename to the set of allowed aas
84  /// and add the rotamers to the set of possible rotamers
85  void add_native_pdb( std::string filename );
86 
87  /// @brief Add the sequence from the given pose to the set of allowed aas
88  /// and add the rotamers to the set of possible rotamers
89  void add_native_pose( core::pose::PoseCOP posecop );
90 
91  /// @brief Should the current pose (pose supplied to apply) be used in addition to the other ones?
92  void use_current_pose( bool ucp );
93 
94  /// @brief Should the rotamers for the native poses be used?
95  void use_natro( bool unr );
96 
97  /// @brief Return which chain to operate on with 0 meaning all
98  void set_chain(core::Size chain);
99 
100  /// @brief Add the sequence from the given fasta filename to the set of allowed aas
101  void add_native_fasta( std::string fasta_file );
102 
103 private:
104 
106  bool use_natro_; // set only with use_natro(), bookkeeping of ubr_
107  bool use_fasta_;
109  std::vector<core::sequence::SequenceOP> sequences_;
110  /// @brief Which chain to operate on
112 };
113 
114 
115 } // TaskOperations
116 } // toolbox
117 } // protocols
118 #endif