Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SymFoldandDockSlideTrialMover.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 // This file is part of the Rosetta software suite and is made available under license.
5 // The Rosetta software is developed by the contributing members of the Rosetta Commons consortium.
6 // (C) 199x-2009 Rosetta Commons participating institutions and developers.
7 // For more information, see http://www.rosettacommons.org/.
8 
9 /// @file MinMover.cc
10 /// @brief
11 /// @author Ingemar Andre
12 
13 // Unit headers
15 
16 // Package headers
20 
23 // AUTO-REMOVED #include <core/conformation/symmetry/util.hh>
24 
25 
26 // options
27 #include <basic/options/option.hh>
28 #include <basic/options/keys/fold_and_dock.OptionKeys.gen.hh>
29 
30 // ObjexxFCL Headers
31 
32 // C++ Headers
33 
34 // Utility Headers
35 #include <basic/Tracer.hh>
36 
38 #include <core/pose/Pose.hh>
40 #include <utility/vector1.hh>
41 
42 
43 namespace protocols {
44 namespace symmetric_docking {
45 
46 static basic::Tracer TR("protocols.moves.symmetry.SymFoldandDockSlideTrialMover");
47 
49  : Mover("SymFoldandDockSlideTrialMover") {}
50 
52 
53 void
55 {
57  setup.apply( pose );
58 
59  using namespace core::conformation::symmetry;
60  using namespace protocols::symmetric_docking;
61  using namespace basic::options;
62 
63  assert( core::pose::symmetry::is_symmetric( pose ));
64  SymmetricConformation & symm_conf (
65  dynamic_cast<SymmetricConformation & > ( pose.conformation()) );
66 
67  SymSlideInfo const & slide_info( symm_conf.Symmetry_Info()->get_slide_info() );
68 
69  TR.Debug << "Slide into contact mover..." << std::endl;
70  if ( option[ OptionKeys::fold_and_dock::rotate_anchor_to_x ].user() ) {
71  TR.Debug << "Rotate anchor to x axis.." << std::endl;
73  }
74 
75  if ( slide_info.get_slide_type() == SEQUENTIAL ) {
77  slide_info.get_SlideCriteriaType(),
78  slide_info.get_SlideCriteriaVal() );
79  symm_slider.apply( pose );
80  }
81  if ( slide_info.get_slide_type() == ORDERED_SEQUENTIAL ) {
83  slide_info.get_SlideCriteriaType(),
84  slide_info.get_SlideCriteriaVal(),
85  slide_info.get_slide_order() );
86  symm_slider.apply( pose );
87  }
88  if ( slide_info.get_slide_type() == RANDOM ) {
90  slide_info.get_SlideCriteriaType(),
91  slide_info.get_SlideCriteriaVal() );
92  symm_slider.apply( pose );
93  }
94 
95 }
96 
99  return "SymFoldandDockSlideTrialMover";
100 }
101 
102 } // symmetric_docking
103 } // protocols