Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BinaryRNASilentStruct.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/BinaryRNASilentStruct.hh
12 ///
13 /// @brief
14 /// @author Frank DiMaio
15 /// @author Mike Tyka
16 /// @author Rhiju Das
17 
18 #ifndef INCLUDED_core_io_silent_BinaryRNASilentStruct_hh
19 #define INCLUDED_core_io_silent_BinaryRNASilentStruct_hh
20 
21 // mini headers
22 #include <core/types.hh>
23 #include <core/pose/Pose.fwd.hh>
24 
25 // AUTO-REMOVED #include <core/conformation/Residue.fwd.hh>
26 
27 // AUTO-REMOVED #include <core/io/silent/RNA_SilentStruct.hh>
29 #include <core/kinematics/Jump.hh>
30 
32 
33 // AUTO-REMOVED #include <utility/vector1.hh>
34 
35 // C++ Headers
36 #include <string>
37 
39 #include <utility/vector1.hh>
40 
41 
42 namespace core {
43 namespace io {
44 namespace silent {
45 
47 
48 public:
49 
50  /// @brief Constructors.
51  BinaryRNASilentStruct( Size const nres_in );
52 
54 
56  core::pose::Pose const & pose,
57  std::string tag = "empty_tag"
58  );
59 
60  /// @brief Re-dimension the storage capacity of this BinaryRNASilentStruct to the given number of residues.
61  void resize(
62  Size const nres_in
63  );
64 
65  virtual SilentStructOP clone() const {
66  return new BinaryRNASilentStruct( *this );
67  };
68 
69  // destructor
71 
72  /// @brief Test if this BinaryRNASilentStruct is equal to the given BinaryRNASilentStruct in terms of conformation.
73  /// Doesn't check energies.
74  /* BinaryRNASilentStruct & operator= (
75  BinaryRNASilentStruct const & src
76  ); */
77 
78  /// @brief Initialize object from a set of lines
79  virtual bool init_from_lines(
80  utility::vector1< std::string > const & lines,
81  SilentFileData & container
82  );
83 
84  /// @brief Configure the conformation of the given Pose with the conformational data within this BinaryRNASilentStruct.
85  /// Calls pose.clear() and rebuilds Pose from scratch using FA_STANDARD residue types.
86  virtual void fill_pose(
87  core::pose::Pose & pose
88  ) const ;
89 
90  /// @brief Configure the conformation of the given Pose with the conformational data within
91  /// this BinaryRNASilentStruct. Calls pose.clear() and rebuilds Pose from scratch using the
92  /// user-specified residue types.
93  virtual void fill_pose(
94  core::pose::Pose & pose,
95  core::chemical::ResidueTypeSet const & residue_set
96  ) const;
97 
98  /// @brief opposite of fill_pose
99  virtual void fill_struct( core::pose::Pose const & pose, std::string tag );
100 
101  /// @brief print header information
102  virtual void print_header( std::ostream& out ) const;
103 
104  /// @brief Prints the conformation information within this BinaryRNASilentStruct to the given std::ostream.
105  virtual void print_conformation( std::ostream & output ) const;
106 
107  /// @brief returns the positions of the CA atoms in this RNA_SilentStruct.
108  /// Useful for RMS calculations.
109  virtual ObjexxFCL::FArray2D< Real > get_CA_xyz() const;
110 
111  // model quality-related methods.
112  virtual Real CA_rmsd( RNA_SilentStruct other_pss );
113 
114  /// @brief calculates the RMSD between the C-alpha atoms of a Pose built from the torsions in this
115  /// RNA_SilentStruct and the C-alpha atoms from this RNA_SilentStruct.
116  virtual Real get_debug_rmsd();
117 
118 
119 protected:
121  jumps_.push_back( jump.rt() );
122  }
123 
124  kinematics::RT const & jump( Size jump_num ) const {
125  return jumps_[ jump_num ];
126  }
127 
129  fold_tree_ = f;
130  }
131  kinematics::FoldTree const& fold_tree( ) const {
132  return fold_tree_;
133  }
134 
135  char secstruct( unsigned int seqpos ) const {
136  return secstruct_[seqpos];
137  }
138 
139  void secstruct( unsigned int seqpos, char ss ) {
140  secstruct_[seqpos] = ss;
141  }
142 
143  bool fullatom_;
144 
150 
151 }; // class BinaryRNASilentStruct
152 
153 } // namespace silent
154 } // namespace io
155 } // namespace core
156 
157 #endif