Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FilterScan.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 sw=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/filters/FilterScan.hh
11 /// @brief Scans a task factory, mutates to each designable residue and evaluates a filter. Mutations that pass the filter are output in a resfile format
12 /// @author Sarel Fleishman (sarelf@uw.edu)
13 
14 #ifndef INCLUDED_protocols_protein_interface_design_filters_FilterScan_hh
15 #define INCLUDED_protocols_protein_interface_design_filters_FilterScan_hh
16 
17 
18 // Project Headers
20 #include <core/pose/Pose.fwd.hh>
21 #include <utility/tag/Tag.fwd.hh>
26 
28 #include <utility/vector1.hh>
29 #include <core/chemical/AA.hh>
31 
32 // Unit headers
33 
34 namespace protocols {
35 namespace protein_interface_design{
36 namespace filters {
37 
39 {
40 private:
42 public:
43  /// @brief default ctor
45  virtual ~FilterScanFilter();
46 
47  ///@brief Constructor with a single target residue
48  virtual bool apply( core::pose::Pose const & pose ) const;
49  virtual void report( std::ostream & out, core::pose::Pose const & pose ) const;
50  virtual core::Real report_sm( core::pose::Pose const & pose ) const;
51  virtual protocols::filters::FilterOP clone() const;
53  /// Undefined, commenting out to fix PyRosetta build core::Real compute( core::pose::Pose const & pose ) const;
58  std::string resfile_name() const;
62 
71  void parse_my_tag( utility::tag::TagPtr const tag,
75  core::pose::Pose const & );
76  bool unbound() const;
77  void unbound( bool const u );
78  core::Size jump() const;
79  void jump( core::Size const j );
80  bool delta() const;
81  void delta( bool const d );
82  bool report_all() const;
83  void report_all( bool const ra );
84  void dump_pdb( bool const d );
85  bool dump_pdb() const;
86  bool rtmin() const{ return rtmin_; }
87  void rtmin( bool const r ){ rtmin_ = r; }
88  void single_substitution( core::pose::Pose & pose, core::Size const resi, core::chemical::AA const target_aa ) const;
91 private:
93  protocols::filters::FilterOP triage_filter_;//dflt null; mutations that are categorically rejected, no matter what
94  protocols::filters::FilterOP filter_;//dflt null; a filter to use for its report functionality to probe the pose's state
97  std::string resfile_general_property_; //dflt nataa; what to write in the resfile above the 'start' line
98  protocols::moves::MoverOP relax_mover_; //dflt nullmover; what to do after mutation
99  core::scoring::ScoreFunctionOP scorefxn_; // which scorefxn to use during packing
100  bool delta_; // dflt false; compute as delta? If true, all values are reported relative to the baseline input pose's filter evaluation.
101  bool unbound_;
104  void unbind( core::pose::Pose & ) const; //utility function for unbinding the pose
105  bool dump_pdb_; // dflt false; dump a pdb for each substitution (with extensions signifying the substitution).
106  bool rtmin_; //dflt false; shall we do rtmin after each mutation (and at baseline)?
108 };
109 
110 } // filters
111 } //protein_interface_design
112 } // protocols
113 
114 #endif //INCLUDED_protocols_Filters_FilterScanFilter_HH_
115