Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GreedyOptMutationMover.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 // (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 protocols/design_opt/GreedyOptMutationMover.hh
11 /// @author Chris King (chrisk1@uw.edu)
12 
13 #ifndef INCLUDED_protocols_design_opt_GreedyOptMutationMover_hh
14 #define INCLUDED_protocols_design_opt_GreedyOptMutationMover_hh
17 #include <core/types.hh>
18 #include <core/pose/Pose.hh>
19 #include <utility/tag/Tag.fwd.hh>
21 #include <protocols/moves/Mover.hh>
26 
27 #include <utility/vector1.hh>
28 
30 
31 namespace protocols {
32 namespace design_opt{
33 
35 {
36 public:
38 public:
47  bool dump_pdb = false,
48  bool dump_table = false,
49  bool parallel = false,
50  bool stop_before_condition = false,
51  bool skip_best_check = false,
52  bool rtmin = false,
53  bool shuffle_order = false,
55  );
56 
57  bool pose_coords_are_same( core::pose::Pose const & pose1, core::pose::Pose const & pose2 );
59  void clear_cached_data();
61  void dump_scoring_table( std::string filename, core::pose::Pose const & ref_pose ) const;
62  void apply( Pose & pose );
64  virtual std::string get_name() const;
66 
68  void add_filter(
70  std::string const sample_type,
71  core::Real filter_delta
72  );
73  virtual ~GreedyOptMutationMover();
75  void task_factory( core::pack::task::TaskFactoryOP task_factory );
81  void relax_mover( protocols::moves::MoverOP relax_mover );
82  bool dump_pdb() const;
83  void dump_pdb( bool const dump_pdb );
84  bool dump_table() const;
85  void dump_table( bool const dump_table );
86  bool parallel() const;
87  void parallel( bool const parallel );
89  void sample_types( utility::vector1< std::string > const sample_types );
91  void filter_deltas( utility::vector1< core::Real > const filter_deltas );
94  bool stop_before_condition() const;
96  bool skip_best_check() const;
97  void skip_best_check( bool const skip_best_check );
100  bool rtmin() const;
101  void rtmin( bool const b );
102  bool shuffle_order() const;
103  void shuffle_order( bool const b );
104 
105 private:
111  bool dump_pdb_;
113  bool parallel_;
114  protocols::filters::FilterOP stopping_condition_; // dflt NULL ; if defined, stops greedy optimization when the filter's apply evaluates to true;
116  std::pair< core::chemical::AA, utility::vector1< core::Real > > > > > seqpos_aa_vals_vec_;
126  bool rtmin_; //dflt false; should we rtmin after packing?
127  core::Real design_shell_;//dflt -1 to only allow pointmutations, higher allows suroundings to be designed as well
129  bool shuffle_order_; //randomize the order that mutations are attempted?
130 };
131 
132 
133 } // design_opt
134 } // protocols
135 
136 
137 #endif /*INCLUDED_protocols_design_opt_GreedyOptMutationMover_HH*/