39 #include <basic/datacache/BasicDataCache.hh>
42 #include <basic/datacache/BasicDataCache.hh>
46 #include <utility/exit.hh>
47 #include <basic/prof.hh>
48 #include <basic/Tracer.hh>
55 static basic::Tracer
TR(
"protocols.SurfaceDocking.SlideIntoSurface");
58 namespace surface_docking {
60 using namespace protocols;
62 using namespace core::scoring;
63 using namespace protocols::moves;
79 ) :
Mover(), rb_jump_(rb_jump)
93 using namespace moves;
109 mover->trans_axis(-1*surfaceParams.slideaxis);
110 ( *scorefxn_ )( pose );
113 TR <<
"Moving away" << std::endl;
118 && counter <= counter_breakpoint ) {
119 mover->apply( pose );
120 ( *scorefxn_ )( pose );
125 if( counter > counter_breakpoint ){
126 TR<<
"failed moving away with original vector.Aborting SlideIntoSurface"
133 TR <<
"Moving together" << std::endl;
137 mover->apply( pose );
140 ( *scorefxn_ )( pose );
144 if( counter > counter_breakpoint ){
145 TR<<
"moving together failed. Aborting SlideIntoSurface"<<std::endl;
150 mover->trans_axis().negate();
151 mover->apply( pose );
155 return "SlideIntoSurface";
186 using namespace core::scoring;
209 TR<<
"SlideAxis Vector:"<<surfaceParams.slideaxis<<std::endl;
210 trans_mover->trans_axis(-1*surfaceParams.slideaxis);
212 (*scorefxn_)( pose );
214 bool are_touching =
false;
221 trans_mover->trans_axis( trans_mover->trans_axis().negate() );
222 trans_mover->step_size(stepsize);
227 trans_mover->apply( pose );
228 (*scorefxn_)( pose );
231 are_touching = (std::abs(initial_fa_rep - push_together_fa_rep) > 1e-4);
237 }
while( counter <= counter_breakpoint && !are_touching );
238 if( counter > counter_breakpoint ){
239 TR<<
"Failed Fadocking Slide Together. Aborting."<<std::endl;
242 trans_mover->trans_axis( trans_mover->trans_axis().negate() );
243 trans_mover->apply( pose );
249 return "FaSlideIntoSurface";
281 using namespace core::scoring;
291 TR<<
"SlideAxis Vector:"<<surfaceParams.slideaxis<<std::endl;
292 trans_mover->trans_axis(-1*surfaceParams.slideaxis);
294 (*scorefxn_)( pose );
300 TR<<
"Moving Away"<<std::endl;
301 trans_mover->trans_axis( trans_mover->trans_axis() );
302 trans_mover->step_size(100);
303 trans_mover->apply( pose );
339 return "FaSlideAwayFromSurface";