Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SetSecStructEnergies.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/fldsgn/potentials/SetSecStructEnergies.hh
11 /// @brief mover for setting centroid score of secondary structure through parser
12 /// @author Nobuyasu Koga ( nobuyasu@uw.edu )
13 
14 #ifndef INCLUDED_protocols_fldsgn_potentials_SetSecStructEnergies_hh
15 #define INCLUDED_protocols_fldsgn_potentials_SetSecStructEnergies_hh
16 
17 // unit headers
21 
22 // type headers
23 #include <core/types.hh>
24 
25 // project headers
27 #include <core/pose/Pose.fwd.hh>
30 #include <protocols/moves/Mover.hh>
31 
32 // C++ headers
33 #include <string>
34 
35 #include <utility/tag/Tag.fwd.hh>
36 
37 #include <utility/vector1.hh>
38 
39 
40 namespace protocols {
41 namespace fldsgn {
42 namespace potentials {
43 
44 
46 
47 
48 private: // typedefs
49 
50 
52 
53 
54 public: // typedefs
55 
56 
58 
59  typedef core::Real Real;
60  typedef core::Size Size;
65 
69 
71 
76 
81 
82 
83 public: // construct/destruct
84 
85 
86  /// @brief default constructor
88 
89  /// @brief value constructor
90  SetSecStructEnergies( ScoreFunctionOP const sfx, String const & filename, bool const ss_from_blueprint=true );
91 
92  /// @brief value constructor
93  SetSecStructEnergies( ScoreFunctionOP const sfx, BluePrintOP const blueprintOP, bool const ss_from_blueprint=true );
94 
95  /// @brief copy constructor
97 
98  /// @brief default destructor
99  virtual ~SetSecStructEnergies();
100 
101 
102 private: // disallow assignment
103 
104 
105  /// @brief copy assignment
106  /// @remarks Mover base class prevents this from working properly...
108 
109 
110 public: // virtual constructors
111 
112 
113  /// @brief clone this object
114  virtual
115  MoverOP clone() const;
116 
117  /// @brief create this type of object
118  virtual
119  MoverOP fresh_instance() const;
120 
121 
122 public: // mutators
123 
124 
125  /// @brief define secondary structrue by blueprint
126  inline void ss_from_blueprint( bool const flag ){ ss_from_blueprint_ = flag; }
127 
128  /// @brief set the centroid level score function
129  void scorefunction( ScoreFunction const & sfx );
130 
131  /// @brief set the centroid level score function
132  void scorefunction( ScoreFunctionOP sfx );
133 
134  /// @brief set blueprint file by filename
135  void set_blueprint( String const & filename );
136 
137  /// @brief set blueprint file
138  void set_blueprint( BluePrintOP const blp );
139 
140 
141 
142 public: // virtual main methods
143 
144 
145  /// @brief apply defined moves to given Pose
146  virtual
147  void apply( Pose & pose );
148 
149  virtual
150  std::string get_name() const;
151 
152 
153 public: //parser
154 
155 
156  /// @brief parse xml file
157  void parse_my_tag( TagPtr const tag,
158  DataMap & data,
159  Filters_map const &,
160  Movers_map const &,
161  Pose const & );
162 
163 
164 private: // helper functions
165 
166 
167  String symmetric_secstruct( SymmetryInfoOP const syminfo, String const & ss );
168 
169 
170 private: // data
171 
172 
173  /// @brief
174  bool loaded_;
175 
176  /// @brief bluerprint file for setting build instruction
178 
179  /// @brief
181 
182  /// @brief the centroid scorefunction to use, default "remodel_cen"
184 
185  /// @brief weight for helix and helix pairing potential
187 
188  /// @brief weight for heilx and strand pairing potential
190 
191  /// @brief weight for strand and strand pairing potential
193 
194  /// @brief weight for sheet twist potential
196 
197  /// @brief weight for hs_pair
199 
200  /// @brief weight for ss_pair
202 
203  /// @brief weight for strand and strand pairing potential
205 
207 
209 
210 };
211 
212 } // namespace potentials
213 } // namespace fldsgn
214 } // namespace protocols
215 
216 
217 #endif /* INCLUDED_protocols_forge_components_SetSecStructEnergies_HH */