Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NonSequentialNeighborsFilter.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/simple_filters/NonSequentialNeighborsFilter.hh
11 /// @brief Simple filter that tests whether a file exists. Useful to test whether we're recovering from a checkpoint
12 /// @author Gabi Pszolla & Sarel Fleishman
13 
14 #ifndef INCLUDED_protocols_simple_filters_NonSequentialNeighborsFilter_hh
15 #define INCLUDED_protocols_simple_filters_NonSequentialNeighborsFilter_hh
16 
17 //unit headers
19 
20 // Project Headers
21 #include <core/types.hh>
23 #include <core/pose/Pose.fwd.hh>
26 
27 namespace protocols {
28 namespace simple_filters {
29 
31 {
32 public:
33  //default ctor
35  bool apply( core::pose::Pose const & pose ) const;
37  return new NonSequentialNeighborsFilter( *this );
38  }
40  return new NonSequentialNeighborsFilter();
41  }
42 
43  void report( std::ostream & out, core::pose::Pose const & pose ) const;
44  core::Real report_sm( core::pose::Pose const & pose ) const;
45  core::Real compute( core::pose::Pose const &pose ) const;
48 
52  void neighbor_cutoff( core::Size const n ) { neighbor_cutoff_ = n; }
53  bool bound() const{ return bound_; }
54  void bound( bool const b ) { bound_ = b;}
55  core::Size resnum() const{ return resnum_; }
56  void resnum( core::Size const s ){ resnum_ = s; }
57  void jump( core::Size const j ){ jump_ = j; }
58  core::Size jump() const { return jump_; }
59  core::Size residue_neighbors( core::pose::Pose const & pose, core::Size const resi ) const; // number of residue neighbours outside the sequence neighbours.
60 private:
61  core::Real distance_threshold_; // dflt 8.0A; sphere around the residue
62  core::Size neighbor_cutoff_; // dflt 10; how many residues in the sequence around the target residue to ignore in computing neighbours
63  bool bound_; // dflt false; treat the bound or unbound pose
64  core::Size resnum_; // dflt 0; 0 - means all residues in the pose; any other number targets a particular residue
65  core::Size jump_; // dflt 1;
66 };
67 
68 }
69 }
70 
71 #endif