Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ProteinInterfaceMultiStateDesignMover.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 ProteinInterfaceMultiStateDesignMover.hh
11 /// @brief
12 /// @author Sarel Fleishman (sarelf@uw.edu)
13 
14 #ifndef INCLUDED_protocols_protein_interface_design_movers_ProteinInterfaceMultiStateDesignMover_hh
15 #define INCLUDED_protocols_protein_interface_design_movers_ProteinInterfaceMultiStateDesignMover_hh
18 
20 // AUTO-REMOVED #include <protocols/genetic_algorithm/GeneticAlgorithm.hh>
22 
23 #include <core/pose/Pose.fwd.hh>
27 #include <utility/tag/Tag.fwd.hh>
28 
30 #include <utility/vector0.hh>
31 #include <utility/vector1.hh>
32 
33 
34 namespace protocols {
35 namespace protein_interface_design {
36 namespace movers {
37 
38 ///@brief wraps protein-interface specific considerations around the general multistate design / genetic algorithm framework
40 public:
45 
46 public:
49  virtual void apply( Pose & );
50  virtual std::string get_name() const;
51  void output_results( Pose & );
52 
53  virtual void parse_my_tag(
54  TagPtr const,
57  moves::Movers_map const &,
58  Pose const & );
59  virtual moves::MoverOP fresh_instance() const;
60  virtual moves::MoverOP clone() const;
61  void restrict_sequence_profile( core::pose::Pose const & pose, core::pack::task::PackerTaskOP const ptask ) const;
62  unsigned long sequence_space( core::pack::task::PackerTaskCOP ptask ) const;
63  void output_alternative_states( core::pose::Pose const & output_pose ) const;
64 
65 private:
66  void initialize( Pose & );
67 
69  void run();
70 /// @brief add target and competitor states
71  void add_states( Pose const & );
72 
73 private:
75  // direct use of MultiStatePacker is only for outputting results
76  // (GeneticAlgorithm also holds pointer to it and uses it heavily)
78  // option flags/parameters: constructor defaults to command line options
79  // parse_my_tag method may change them
84  // checkpointing options
88 
90  bool use_unbound_for_sequence_profile_;// use a poly-ala unbound state to decide which residues to allow at each position
91  core::Real bump_threshold_; //for residues to be allowed in seq_profile
92  bool compare_energy_to_ground_state_; // set internally by the mover
93 ///states
95  utility::vector1< core::pose::PoseOP > saved_state_poses_; /// for dumping out pdbs of negative states at the end
99  utility::vector1< core::pack::task::TaskFactoryCOP > state_task_factory_; // a state-specific task factory that will be applied to each state in addition to the task factory that is implied by the design process
101 };
102 
103 } //namespace movers
104 } // namespace protein_interface_design
105 } // namespace protocols
106 
107 #endif