Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ScoreFileSilentStruct.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/silent/ScoreFileSilentStruct.hh
12 ///
13 /// @brief Representation of rosetta++ protein silent-file structures.
14 /// @author James Thompson
15 
16 #ifndef INCLUDED_core_io_silent_ScoreFileSilentStruct_hh
17 #define INCLUDED_core_io_silent_ScoreFileSilentStruct_hh
18 
19 // mini headers
20 #include <core/types.hh>
21 #include <core/pose/Pose.fwd.hh>
22 
23 // AUTO-REMOVED #include <core/conformation/Residue.fwd.hh>
25 
27 
28 // AUTO-REMOVED #include <utility/vector1.hh>
29 
30 // C++ Headers
31 // AUTO-REMOVED #include <ostream>
32 #include <string>
33 
34 #include <utility/vector1.hh>
35 
36 
37 namespace core {
38 namespace io {
39 namespace silent {
40 
42 
43 public:
44 
45  /// @brief Constructors.
47  decoy_tag( "empty_tag" );
48  }
49 
51  core::pose::Pose const & pose,
52  std::string tag = "empty_tag"
53  );
54 
55  virtual SilentStructOP clone() const {
56  return new ScoreFileSilentStruct( *this );
57  }
58 
59  /// @brief Re-dimension the storage capacity of this ScoreFileSilentStruct to the given number of
60  /// residues.
61  //void resize(Size const nres_in );
62 
63  // destructor
65 
66  /// @brief Test if this ScoreFileSilentStruct is equal to the given ScoreFileSilentStruct in
67  /// terms of conformation. Doesn't check energies.
69  ScoreFileSilentStruct const & src
70  );
71 
72  /// @brief Tells this ScoreFileSilentStruct object to initialize itself from the given set of lines.
73  /// Only initializes energies.
74  virtual bool init_from_lines(
75  utility::vector1< std::string > const & lines,
76  SilentFileData & container
77  );
78 
79  /// @brief Configure the conformation of the given Pose with the
80  /// conformational data within this ScoreFileSilentStruct. Calls pose.clear() and
81  /// rebuilds Pose from scratch using the / user-specified residue types.
82  virtual void fill_pose(
83  core::pose::Pose & pose,
84  core::chemical::ResidueTypeSet const & residue_set
85  ) const;
86 
87  /// @brief opposite of fill_pose
88  virtual void fill_struct(
89  core::pose::Pose const & pose,
90  std::string tag
91  );
92 
93  /// @brief Prints the conformation information within this ScoreFileSilentStruct
94  /// to the given std::ostream.
95  virtual void print_conformation( std::ostream & output ) const;
96 
97  /// @brief Prints the header information within this ScoreFileSilentStruct
98  /// to the given std::ostream.
99  virtual void print_header( std::ostream & out ) const;
100 
101  /// @brief returns the positions of the CA atoms in this ScoreFileSilentStruct.
102  /// Useful for RMS calculations.
103  virtual ObjexxFCL::FArray2D< Real > get_CA_xyz() const;
104 
105  /// @brief calculates the RMSD between the C-alpha atoms of a Pose built from the torsions in this
106  /// ScoreFileSilentStruct and the C-alpha atoms from this ScoreFileSilentStruct.
107  virtual Real get_debug_rmsd();
108 
109 }; // class ScoreFileSilentStruct
110 
111 } // namespace silent
112 } // namespace io
113 } // namespace core
114 
115 #endif