Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Ubiquitin_E2C_Modeler.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
6 // (c) under license. The Rosetta software is developed by the contributing
7 // (c) members of the Rosetta Commons. For more information, see
8 // (c) http://www.rosettacommons.org. Questions about this can be addressed to
9 // (c) University of Washington UW TechTransfer, email:license@u.washington.edu
10 
11 /// @file Ubiquitin_E2C_Modeler.hh
12 /// @brief Build model for di-ubiquitin and e2c enzyme complex
13 /// @detailed
14 ///
15 ///
16 /// @author Aroop Sircar
17 
18 
19 #ifndef INCLUDED_protocols_antibody_Ubiquitin_E2C_Modeler_hh
20 #define INCLUDED_protocols_antibody_Ubiquitin_E2C_Modeler_hh
21 #include <core/types.hh>
24 #include <core/pose/Pose.fwd.hh>
26 
28 #include <protocols/moves/Mover.hh>
29 
30 #include <utility/vector1.hh>
31 
32 namespace protocols {
33 namespace ub_e2c {
34 
36 public:
37 
38  // default constructor
40 
41  // default destructor
43 
44  void set_default();
45 
46  virtual void apply( core::pose::Pose & pose_in );
47  virtual std::string get_name() const;
48 
49  virtual protocols::moves::MoverOP clone() const;
50 
51  // find out domain ends and center of masses
52  void
53  setup_key_residues( const core::pose::Pose & pose_in );
54 
55  void setup_move_maps();
56 
58  core::pose::Pose & pose_in,
59  bool trim = false );
60 
62 
64  core::Size jumppoint1,
65  core::Size cutpoint,
66  core::Size jumppoint2,
67  core::Size nres,
68  core::pose::Pose & pose_in );
69 
70  void trim_cter( core::pose::Pose & pose_in );
71 
72  void restore_cter(
73  core::pose::Pose & pose_in,
74  core::pose::Pose without_cter );
75 
76  void init_k48r_perturbation( core::pose::Pose & pose_in );
77 
78  void init_d77_perturbation( core::pose::Pose & pose_in );
79 
81 
83 
85 
86  void initial_repack( core::pose::Pose & pose_in );
87 
88  void setup_packer_task( core::pose::Pose & pose_in );
89 
91 
93 
95  const core::pose::Pose & pose_in,
96  bool dimer = true );
97 
99  const core::pose::Pose & pose_in,
100  bool non_CSP = false,
101  bool trim = false,
102  bool swap = false );
103 
104  bool centroid_filter( core::pose::Pose & pose_in );
105 
106  bool fullatom_filter( core::pose::Pose & pose_in );
107 
108  core::Real
109  calc_Lrmsd(
110  const core::pose::Pose & pose_in,
111  const core::pose::Pose & native_pose,
112  core::Size ubiquitin );
113 
114  void evaluate_native( core::pose::Pose & pose_in );
115 
116  void optimize_cov_bond( core::pose::Pose & pose_in );
117 
118 private:
119 
120  void compute_trim_CSPs();
121 
122  void compute_swap_trim_CSPs();
123 
124  void assign_CSPs( const core::pose::Pose & pose_in );
125 
126  void assign_non_CSPs( const core::pose::Pose & pose_in );
127 
139 
141 
142  // move maps
153 
154 
155  // jump between E2 G2 and UbK48R
157  // jump between E2 G2 and UbD77
161  std::map < std::string, core::Real > score_map_;
162  // number of flexible c-terminal residues in Ubiquitin
163  // actually its one more than flex_cter residues
164  // so if flex_cter equals 3, then 4 residues are flexible
166  // CA atom index
167  core::Size const CA;
168  // If a decoy does not pass the filters in fullatom perturbation
169  // how many attempts to make before failure
171  // strict constraint cutoffs for fullatom
172  // 0.25 per constraint
174  // CSP Satisfaction Factor
177  // CSP score weights
182  // weighting terms
186  core::Real full_constraint_; // depends on which mode being run
187  // mode
188  bool const refinement_mode_;
190  bool const monoub_mode_;
192  // MTSL PRE Tags
195  // filters
198  // Applied Full Atom Perturbation
200  //packer task
203 
204  //sets up minimization parameters
207  bool nb_list_;
208 
209  // CSPs
213 
214  // non_CSPs
218 
219  // score functions
232 
233  // Mono Ubiquitin Mode Variables
234  void monoub_assign_CSPs(const core::pose::Pose & pose_in );
235 
236  void monoub_apply( core::pose::Pose & pose_in );
237 
238  void monoub_setup_key_residues( const core::pose::Pose & pose_in );
239 
240  void monoub_setup_move_maps();
241 
242  void monoub_fold_tree( core::pose::Pose & pose_in );
243 
245 
247 
249 
251 
253 
255  const core::pose::Pose & pose_in );
256 
258 
259  bool monoub_centroid_filter( core::pose::Pose & pose_in );
260 
261  bool monoub_fullatom_filter( core::pose::Pose & pose_in );
262 
264  const core::pose::Pose & pose_in,
265  const core::pose::Pose & native_pose );
266 
267 
268 
271 
278 
279 }; // class ubi_e2c_modeler
280 
281 
282 } // namespace ub_e2c
283 } // namespace protocols
284 #endif