Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DecoyStruct.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/io/raw_data/DecoyStruct.hh
12 ///
13 /// @brief silent input file reader for mini
14 
15 #ifndef INCLUDED_core_io_raw_data_DecoyStruct_hh
16 #define INCLUDED_core_io_raw_data_DecoyStruct_hh
17 
18 // mini headers
19 #include <core/types.hh>
20 #include <core/pose/Pose.fwd.hh>
21 
22 // AUTO-REMOVED #include <core/chemical/AA.hh>
23 // AUTO-REMOVED #include <core/chemical/VariantType.hh>
24 // AUTO-REMOVED #include <core/chemical/ChemicalManager.hh>
25 
26 // AUTO-REMOVED #include <core/conformation/Residue.fwd.hh>
27 // AUTO-REMOVED #include <core/conformation/ResidueFactory.hh>
28 
30 
32 
33 // Utility headers
34 // AUTO-REMOVED #include <utility/vector1.hh>
35 
36 // Numeric headers
37 #include <numeric/xyzVector.hh>
38 
39 // C++ Headers
40 // AUTO-REMOVED #include <vector>
41 #include <string>
42 #include <map>
43 
44 #include <utility/vector1.hh>
45 
46 
47 namespace core {
48 namespace io {
49 namespace raw_data {
50 
51  class DecoyStruct : public RawStruct {
52  public:
53 
54  // the constructor:
55  DecoyStruct( Size const nres_in )
56  {
57  nres_ = nres_in;
58  fullatom_ = false;
59  resize( nres_in );
60  }
61 
63  {
64  nres_ = 0;
65  fullatom_ = false;
66  decoy_tag_ = "empty";
67  }
68 
70  core::pose::Pose const& pose,
71  std::string tag = "empty_tag",
72  bool fa = false
73  );
74 
75  // resize everything appropriately
76  void resize(
77  Size const nres_in
78  );
79 
80  // destructor
82 
83  //DecoyStruct & operator= (DecoyStruct const & src);
84 
85  void fill_pose(
86  core::pose::Pose & pose
87  );
88 
89  void fill_pose(
90  core::pose::Pose & pose,
91  core::chemical::ResidueTypeSet const& residue_set
92  );
93 
94  // fills the res array
95  //void set_sequence(std::string const & sequence);
96 
97  virtual void print_conformation( std::ostream& output ) const;
98 
99  /// @brief calculates the RMSD between the C-alpha atoms of a Pose built from the torsions in this
100  /// DecoyStruct and the C-alpha atoms from this DecoyStruct.
101  virtual Real get_debug_rmsd();
102 
103  /// @brief data getters/setters
104  bool fullatom() const {
105  return fullatom_;
106  }
107 
108  Real phi( unsigned int seqpos ) const {
109  return phi_[seqpos];
110  }
111 
112  Real psi( unsigned int seqpos ) const {
113  return psi_[seqpos];
114  }
115 
116  Real omega( unsigned int seqpos ) const {
117  return omega_[seqpos];
118  }
119 
120  char secstruct( unsigned int seqpos ) const {
121  return secstruct_[seqpos];
122  }
123 
124  utility::vector1< Real > chi( unsigned int seqpos ) const {
125  return chi_[ seqpos ];
126  }
127 
128  Vector coords( unsigned int seqpos ) const {
129  return coords_[seqpos];
130  }
131 
132 
133  void fullatom( bool fullatom ) {
135  }
136 
137  void phi( unsigned int seqpos, Real phi ) {
138  phi_[seqpos] = phi;
139  }
140 
141  void psi( unsigned int seqpos, Real psi ) {
142  psi_[seqpos] = psi;
143  }
144 
145  void omega( unsigned int seqpos, Real omega ) {
146  omega_[seqpos] = omega;
147  }
148 
149  void secstruct( unsigned int seqpos, char ss ) {
150  secstruct_[seqpos] = ss;
151  }
152 
153  void chi( unsigned int seqpos, utility::vector1< Real > chis ) {
154  chi_[seqpos] = chis;
155  }
156 
157  void coords( unsigned int seqpos, Vector coords ) {
158  coords_[seqpos] = coords;
159  }
160 
161 
162  protected:
163  bool fullatom_;
164 
171 
172  }; // class DecoyStruct
173 } // namespace silent
174 } // namespace io
175 } // namespace core
176 
177 #endif