Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DockingHighRes.cc
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 DockingHighRes
11 /// @brief protocols that are specific to high resolution docking
12 /// @detailed
13 /// This contains the functions that create initial positions for docking
14 /// You can either randomize partner 1 or partner 2, spin partner 2, or
15 /// perform a simple perturbation.
16 /// Also contains docking mcm protocol
17 /// @author Monica Berrondo
18 /// @author Modified by Sergey Lyskov
19 /// @author Modified by Sid Chaudhury
20 /// @author Modified by Jacob Corn
21 
22 
23 // Package Headers
26 
27 // Project Headers
28 // AUTO-REMOVED #include <core/pose/Pose.hh>
29 
32 
33 // For some reason, the full header has to be included in the header. since it's there, it doesn't need to be included here too.
34 // Ideally the forward declaration would be included in the header and the full header would be here.
37 
38 // ObjexxFCL Headers
39 
40 //Utility Headers
41 #include <utility/tools/make_vector1.hh>
42 
43 #include <basic/Tracer.hh>
44 
45 #include <utility/vector1.hh>
46 
47 
48 // C++ Headers
49 
50 using basic::T;
51 
52 using basic::Error;
53 using basic::Warning;
54 
55 static basic::Tracer TR("protocols.docking.DockingHighRes");
56 
57 // originally from dock_structure.cc Jeff Gray April 2001
58 
59 using namespace core;
60 
61 namespace protocols {
62 namespace docking {
63 
64 // default constructor
65 DockingHighRes::DockingHighRes() : Mover()
66 {
67  init( utility::tools::make_vector1<core::SSize>(1) ); // operate on the first jump
70 }
71 // default constructor
73  core::Size const rb_jump
74 ) : Mover()
75 {
76  init( utility::tools::make_vector1<core::SSize>(rb_jump) ); // operate on the first jump
79 }
80 
81 // constructor with arguments
82 // only one movable jump
84  core::Size const rb_jump,
86 ) : Mover(), scorefxn_(scorefxn), scorefxn_pack_(scorefxn)
87 {
88  init( utility::tools::make_vector1<core::SSize>(rb_jump) );
89 }
90 
91 // constructor with arguments
92 // only one movable jump, scoring and packing defined
94  core::Size const rb_jump,
96  core::scoring::ScoreFunctionOP scorefxn_pack
97 ) : Mover(), scorefxn_(scorefxn), scorefxn_pack_(scorefxn_pack)
98 {
99  init( utility::tools::make_vector1<core::SSize>(rb_jump) );
100 }
101 
102 // constructor with arguments
103 // vector of movable jumps, scoring and packing defined
105  DockJumps const movable_jumps,
107  core::scoring::ScoreFunctionOP scorefxn_pack
108 ) : Mover(), scorefxn_(scorefxn), scorefxn_pack_(scorefxn_pack)
109 {
110  init( movable_jumps );
111 }
112 
114  //utility::pointer::ReferenceCount(),
115  Mover( old_instance )
116 {
117  sc_min_ = old_instance.sc_min_;
118  rt_min_ = old_instance.rt_min_;
119  partners_ = old_instance.partners_;
120 
121  scorefxn_ = old_instance.scorefxn_->clone();
122  scorefxn_pack_ = old_instance.scorefxn_pack_->clone();
123 
124  movable_jumps_ = old_instance.movable_jumps_;
125  if( old_instance.tf_ ){
126  tf_ = new core::pack::task::TaskFactory( *old_instance.tf_ );
127  }
128  tf2_ = new DockTaskFactory( *old_instance.tf2_ );
129 }
130 
131 void DockingHighRes::init( DockJumps const movable_jumps )
132 {
133  moves::Mover::type( "DockingHighRes" );
134  partners_ = "_";
135  sc_min_ = false;
136  rt_min_ = false;
137  ignore_default_task_ = false; //needs to be false by default
138 
140  tf_ = NULL; //might need this
141  tf2_ = new DockTaskFactory();
142 }
143 
144 //destructor
146 
147 void
149 {
150  tf_ = new core::pack::task::TaskFactory( *tf );
151 }
152 
153 void DockingHighRes::set_ignore_default_task( bool ignore_default_task )
154 {
156 }
157 
159 {
160  return ignore_default_task_;
161 }
162 
164 {
165  return tf2_;
166 }
167 
169 {
171 }
172 
174 {
176 }
177 
179 {
180  tf2_->set_interface_definition_task_operation( interface_definition );
181 }
182 
184 {
185  tf2_->set_additional_task_operarations( additional_task_operations );
186 }
187 
189 {
190  tf2_->add_additional_task_operaration( task_operation );
191 }
192 
194 {
195  return tf2_->get_additional_task_operarations();
196 }
197 
199 {
200  return scorefxn_;
201 }
202 
204 {
205  return scorefxn_pack_;
206 }
207 
209 {
210  return tf_;
211 }
212 
213 
214 } // namespace docking
215 } // namespace protocols
216