Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SetupNCSMover.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 // 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 SetupNCSMover.hh
10 /// @brief Sets up NCS restraints
11 /// @author Frank DiMaio
12 
13 
14 #ifndef INCLUDED_protocols_simple_moves_symmetry_SetupNCSMover_hh
15 #define INCLUDED_protocols_simple_moves_symmetry_SetupNCSMover_hh
16 
18 #include <protocols/moves/Mover.hh>
19 #include <core/pose/Pose.fwd.hh>
20 
21 #include <utility/vector1.hh>
22 
23 
24 namespace protocols {
25 namespace simple_moves {
26 namespace symmetry {
27 
28 ///////////////////////////////////////////////////////////////////////////////
29 
31 public:
32  // default constructor
33  SetupNCSMover();
34 
35  // initialize using a single NCS pair
37 
38  // one->many
40 
41  // many->many
43 
45 
46  // add an ncs group
47  void add_group( std::string src, std::string tgt );
48  void add_groupE( std::string src, std::string tgt );
49  void add_groupD( std::string src, std::string tgt );
50 
51 
52  void set_defaults();
53 
54  // clear all groups
55  // Undefined, commenting out to fix PyRosetta build void clear();
56 
57  moves::MoverOP clone() const { return( protocols::moves::MoverOP( new SetupNCSMover( *this ) ) ); }
58 
59  virtual void apply( core::pose::Pose & pose );
60 
61  virtual void parse_my_tag(
62  utility::tag::TagPtr const tag,
63  moves::DataMap &data,
64  filters::Filters_map const &filters,
65  moves::Movers_map const &movers,
66  core::pose::Pose const & pose );
67 
68  virtual std::string get_name() const;
69 
70  // getters/setters
71  void set_bb( bool bb_in ) { bb_ = bb_in; }
72  bool bb( ) { return bb_; }
73  void set_chi( bool chi_in ) { chi_ = chi_in; }
74  bool chi( ) { return chi_; }
75  void set_symmetric_sequence( bool symmetric_sequence_in ) { symmetric_sequence_ = symmetric_sequence_in; } //to symmetrize sequence
77  bool distance_pair( ) { return distance_pair_; }
78 
79  void set_limit( core::Real limit_in) { limit_ = limit_in; }
80  core::Real limit( ) { return limit_; }
81  void set_weight( core::Real wt_in) { wt_ = wt_in; }
82  core::Real weight( ) { return wt_; }
83 
84  void set_sd( core::Real sd_in) { sd_ = sd_in; }
85  core::Real sd( ) { return sd_; }
86 
87 private:
94 
96 
98 };
99 
100 } // symmetry
101 } // moves
102 } // rosetta
103 #endif