Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SymRestrictTaskForDocking.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 SymRestrictTaskForDocking.cc
10 /// @brief When passed to a PackerTask, pack/design is limited to the protein interface
11 /// @author Ingemar Andre
12 
14 
16 // AUTO-REMOVED #include <core/pose/Pose.hh>
18 // Symmetry
19 // AUTO-REMOVED #include <core/scoring/ScoreFunctionFactory.hh>
20 // AUTO-REMOVED #include <core/conformation/symmetry/SymmetricConformation.hh>
21 // AUTO-REMOVED #include <core/conformation/symmetry/SymmetryInfo.hh>
22 // AUTO-REMOVED #include <core/pose/symmetry/util.hh>
23 // AUTO-REMOVED #include <core/conformation/symmetry/util.hh>
24 
25 
27 
28 #include <core/kinematics/Jump.hh>
29 #include <utility/vector1.hh>
30 
31 
32 namespace protocols {
33 namespace symmetric_docking {
34 
35 using namespace core;
36 using namespace scoring;
37 using namespace pack;
38 
40  : scorefxn_( 0 ),
41  include_current_( true ),
42  distance_( 0 )
43 {}
44 
47  bool include_current,
49 ) : scorefxn_( scorefxn ),
50  include_current_( include_current ),
51  distance_( distance )
52 {}
53 
55 
56 
58 {
59  return new SymRestrictTaskForDocking( *this );
60 }
61 
62 void
64  core::pose::Pose const & pose,
66 ) const
67 {
69 
70  assert( scorefxn_ != 0 );
71  // (existing comment) /// why is this still necessary???
72 // (*scorefxn_)(pose);
73 // scorefxn_->accumulate_residue_total_energies( pose );
74 
75  runtime_assert( scorefxn_ != 0 );
76  runtime_assert( distance_ );
77 
78  protocols::scoring::Interface interface( 1 );
79  interface.distance( distance_ );
80  interface.calculate( pose );
81  interface.set_symmetric_pack( pose, &task );
82 }
83 
84 } // namespace symmetric_docking
85 } // namespace protocols
86