Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SecstructSRFD.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 // :noTabs=false:tabSize=4:indentSize=4:
4 //
5 // (c) Copyright Rosetta Commons Member Institutions.
6 // (c) This file is part of the Rosetta software suite and is made available under license.
7 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
8 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
9 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
10 
11 /// @file core/fragments/FragData.hh
12 /// @brief A fragment as list of SingleResidue Data
13 /// @author Oliver Lange (olange@u.washington.edu)
14 /// @date Wed Oct 20 12:08:31 2007
15 ///
16 #ifndef INCLUDED_core_fragment_SecstructSRFD_HH
17 #define INCLUDED_core_fragment_SecstructSRFD_HH
18 
19 // Unit Headers
21 
22 // Package Headers
24 
25 // Project Headers
26 #include <core/pose/Pose.fwd.hh>
28 #include <core/types.hh>
29 
30 // AUTO-REMOVED #include <core/kinematics/types.hh>
31 
32 // Utility headers
33 // AUTO-REMOVED #include <utility/vector1.hh>
34 #include <utility/pointer/ReferenceCount.hh>
35 
36 #include <iostream>
37 
38 #include <utility/vector1.hh>
39 
40 
41 namespace core {
42 namespace fragment {
43 
44 //
47 public:
48  SecstructSRFD( char secstruct = 'X', char sequence = 'X')
50  {};
51 
52  //
54  return new SecstructSRFD( *this );
55  };
56 
57  /// @brief create a new instance of this object
58  virtual
60  return new SecstructSRFD();
61  }
62 
63  /// get secstruct for this position
64  virtual char
65  secstruct() const
66  {
67  return secstruct_;
68  }
69 
70  void set_secstruct( char const ss ) {
71  secstruct_ = ss;
72  }
73 
74  virtual bool apply( pose::Pose&, Size seq_pos ) const;
75 
76  /// @brief apply secondary structure fragment data to the pose, movemap has no effect
77  /// @remarks In this version of apply(), by convention MoveMap has no effect
78  /// because a setting for sec.struct currently does not exist within the map.
79  /// @return always true
80  virtual bool apply( kinematics::MoveMap const &, pose::Pose & pose, Size const seqpos ) const;
81 
82  virtual bool apply_ss( std::string&, Size seq_pos) const;
83  virtual bool steal( pose::Pose const&, Size seq_pos );
84  virtual bool is_compatible( SingleResidueFragData const& ) const;
85  virtual bool is_applicable( kinematics::MoveMap const&, Size seq_pos ) const;
86 
87  virtual
88  void show( std::ostream &out ) const;
89 
90  virtual
91  void read_data( std::istream &in );
92 
93  virtual
94  std::string type() const {
95  return "Secstruct";
96  }
97 
99  return "Secstruct";
100  }
101 
102 private:
104 };
105 
106 } //fragment
107 } //core
108 
109 #endif