Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StepWiseJobParameters.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
11 /// @brief
12 /// @detailed
13 ///
14 /// @author Rhiju Das
15 /// @author Parin Sripakdeevong
16 
17 
18 #ifndef INCLUDED_protocols_swa_StepWiseJobParameters_HH
19 #define INCLUDED_protocols_swa_StepWiseJobParameters_HH
20 
21 #include <core/pose/Pose.fwd.hh>
22 #include <core/types.hh>
23 #include <utility/vector1.hh>
24 #include <utility/pointer/ReferenceCount.hh>
25 
26 #include <ObjexxFCL/FArray1D.hh>
27 #include <ObjexxFCL/FArray1D.fwd.hh>
28 
29 #include <string>
30 #include <map>
31 
32 namespace protocols {
33 namespace swa {
34 
36  public:
37 
38  //constructor!
40 
41  //destructor -- necessary?
42  virtual ~StepWiseJobParameters();
43 
44  std::string const & sequence() const;
45  std::string const & working_sequence() const;
47 
50 
51  Size actually_moving_res() const;
52 
53  ObjexxFCL::FArray1D< core::Size > const & is_working_res() const;
54  ObjexxFCL::FArray1D< core::Size > const & is_moving_res() const;
55  std::map< core::Size, core::Size > & full_to_sub();
56  std::map< core::Size, core::Size > & sub_to_full();
57 
59  Size const & which_chain_has_moving_res() const;
60  Size const & gap_size() const;
61  Size const & first_chain_break_res() const;
62 
63  bool const & Is_prepend() const;
64  bool const & Is_internal() const;
65 
66  ObjexxFCL::FArray1D< bool > const & partition_definition() const;
67 
74 
75  void set_sequence( std::string const & setting );
76  void set_working_sequence( std::string const & setting );
78 
81 
82  void set_is_working_res( ObjexxFCL::FArray1D< core::Size > const & setting );
83  void set_is_moving_res( ObjexxFCL::FArray1D< core::Size > const & setting );
84  void set_full_to_sub( std::map< core::Size, core::Size > const & setting );
85 
86  std::map< core::Size, core::Size >
87  create_sub_to_full_map(std::map< core::Size, core::Size > const & full_to_sub) const;
88 
89  void set_chain_boundaries( utility::vector1< std::pair< core::Size, core::Size > > const & setting );
90  void set_which_chain_has_moving_res( Size const & setting );
91  void set_gap_size( Size const & setting );
92  void set_first_chain_break_res( Size const & setting );
93 
94  void set_Is_prepend( bool const & setting );
95  void set_Is_internal( bool const & setting );
96  void set_partition_definition( ObjexxFCL::FArray1D< bool > const & setting );
97 
99  void set_working_fixed_res( utility::vector1< core::Size > const & working_fixed_res);
100  void set_working_terminal_res( utility::vector1< core::Size > const & working_terminal_res);
101  void set_working_superimpose_res( utility::vector1< core::Size > const & working_superimpose_res);
102  void set_working_calc_rms_res( utility::vector1< core::Size > const & working_calc_rms_res);
103  void set_working_bridge_res( utility::vector1< core::Size > const & working_bridge_res);
104  void set_moving_pos( utility::vector1< core::Size > const & moving_pos);
105 
107 
109 
112 
113  Size
114  apply_full_to_sub_mapping( Size const res ) const;
115 
116  private:
117 
120 
122 
125 
126  ObjexxFCL::FArray1D< core::Size > is_working_res_;
127  ObjexxFCL::FArray1D< core::Size > is_moving_res_;
128  std::map< core::Size, core::Size > full_to_sub_;
129  std::map< core::Size, core::Size > sub_to_full_;
130 
135 
138 
139  ObjexxFCL::FArray1D< bool > partition_definition_;
140 
142 
149 
150  };
151 
152 } //swa
153 } // protocols
154 
155 #endif
156