Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RestrictDesignToProteinDNAInterface.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 RestrictDesignToProteinDNAInterface.hh
11 /// @brief When operated on a PackerTask, pack/design is limited to the protein-DNA interface
12 /// @author ashworth
13 
14 #ifndef INCLUDED_protocols_dna_RestrictDesignToProteinDNAInterface_hh
15 #define INCLUDED_protocols_dna_RestrictDesignToProteinDNAInterface_hh
16 
19 
22 
23 #include <core/types.hh>
24 #include <core/pose/Pose.fwd.hh>
26 
28 #include <utility/vector1.hh>
29 
30 
31 namespace protocols {
32 namespace dna {
33 
35 {
36 public:
43 
44 public:
47 
48  virtual TaskOperationOP clone() const;
49 
50  virtual void apply( Pose const & pose, PackerTask & ptask ) const;
51 
52  void copy_dna_chains( DnaChainsCOP chains );
53  DnaChainsCOP dna_chains() const;
54 
56  DnaDesignDefOPs const & targeted_dna() const;
57 
60 
61  void set_reference_pose( PoseCOP pose );
62  PoseCOP reference_pose() const;
63 
64  void set_base_only( bool value ) { base_only_ = value; }
65  bool base_only() const { return base_only_; }
66 
69 
70  virtual void parse_tag( TagPtr );
71 
72 private:
73  // reference pose: sometimes the input pose is not actually 'native,' and it is useful to make the Task aware of an alternative 'native' pose (such as for reverting mutations that did not occur in a local context)
74  mutable DnaChainsOP dna_chains_; // mutable to allow on-the-fly generation of default, and nulling to prevent accumulation of state
76  mutable DnaInterfaceFinderOP interface_; // mutable to allow on-the-fly generation of default, and nulling to prevent accumulation of state
78  bool base_only_;
79  bool forget_chains_and_interface_; // WARNING: default true, false at own risk
80  mutable core::Real z_cutoff_; // mutable to allow lazy default initialization
82 };
83 
84 } // namespace dna
85 } // namespace protocols
86 
87 #endif