Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BluePrint.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 ./src/protocols/fldsgn/BluePrint.hh
11 /// @brief the basic idea of BluePrint is on the remodel Possu wrote in rosetta++.
12 /// @author Nobuyasu Koga (nobuyasu@uw.edu)
13 
14 #ifndef INCLUDED_protocols_jd2_parser_BluePrint_HH
15 #define INCLUDED_protocols_jd2_parser_BluePrint_HH
16 
17 // Unit header
19 
20 // Project headers
21 #include <core/types.hh>
22 #include <core/pose/Pose.fwd.hh>
23 
24 // Utility headers
25 #include <utility/pointer/ReferenceCount.hh>
26 
27 #include <string>
28 #include <map>
29 
31 #include <utility/vector1.hh>
32 
33 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
34 
35 namespace protocols {
36 namespace jd2 {
37 namespace parser {
38 
39 
41 public:
42 
43 
45  typedef core::Size Size;
46  typedef core::Real Real;
49 
50 public: // constructor/destructor
51 
52 
53  /// @brief default constructor
54  BluePrint();
55 
56  /// @brief value constructor
57  BluePrint( String const & filename );
58 
59  /// @brief destructor
60  virtual ~BluePrint();
61 
62  /// @brief copy constructor
63  BluePrint( BluePrint const & rval );
64 
65 
66 public: // accessor
67 
68 
69  /// @brief total residue number defined in blueprint file
70  Size total_residue() const;
71 
72  /// @brief total residue number without ligand defined in blueprint file
73  Size total_residue_wolig() const;
74 
75  /// @brief sequence defined in blueprint file
76  String sequence() const;
77 
78  /// @brief a~mino acid type at a position in blueprint file
79  char sequence( Size seqpos ) const;
80 
81  /// @brief secondary structures defined in blueprint file
82  String secstruct() const;
83 
84  /// @brief secondary structure at a position in blueprint file
85  char secstruct( Size seqpos ) const;
86 
87  /// @brief abego defined in bludprint file
89 
90  /// @brief secondary structure at a position in blueprint file
91  String abego( Size seqpos ) const;
92 
93  /// @brief residue number at each position in blueprint file
94  Size resnum( Size seqpos ) const;
95 
96  /// @brief translate residue number of pose to that of blueprint file
97  Size resnum_map( Size resnum_pose ) const;
98 
99  /// @brief return build type at each position
100  char buildtype( Size seqpos ) const;
101 
102  /// @brief return build type at each position
103  String extra( Size seqpos ) const;
104 
105  String insertion( Size i ) const;
106 
107  /// @brief helix pairings defined at the line of HHPAIR in blueprint
108  String helix_pairings() const;
109 
110  /// @brief strand pairings defined at the line of SSPAIR in blueprint
111  String strand_pairings() const;
112 
113  /// @brief strand pairings defined at the line of SSPAIR in blueprint
114  String hss_triplets() const;
115 
116  /// @brief secondary structure information
117  //SS_Info2_OP ssinfo() const;
118 
119 
120 public: //
121 
122 
123  /// @brief reading blueprint files
124  bool read_blueprint( String const & );
125 
126  /// @brief set secondary structure into pose
127  void insert_ss_into_pose( Pose & pose );
128 
129  /// @brief set movemap based on blueprint
130  void set_movemap( MoveMapOP & movemap );
131 
132 
133 private: // to be removed
134 
135 
136  /// @brief set strand pairings
137  /// removed StrandPairings set_strand_pairings( SS_Info2_OP const & ssinfo, StrandPairings const & spairs ) const;
138 
139 
140 private: // data
141 
142  /// @brief total residue number defined in blueprint
144 
145  /// @brief total residue without ligand
147 
148  /// @brief sequence defined in blueprint
150 
151  /// @brief amino acid sequence defined in blueprint
153 
154  /// @brief residue number of each position in blueprint
156 
157  /// @brief amino acid type at a position in blueprint
159 
160  /// @brief secondary structure type defined in blueprint
162 
163  /// @brief abego type defined in blueprint
165 
166  /// @brief build type at each position in blueprint
168 
169  /// @brief extra infomation at each position in blueprint
171 
172  /// @brief pdb file name for insertion
174 
175  /// @brief translate pose residue number to blueprint residue number
176  std::map< Size, Size > resnum_map_;
177 
178  /// @brief secondary structure information
179  // SS_Info2_OP ss_info_;
180 
181  /// @brief strand pairings defined at the line of SSPAIR in blueprint
183 
184  /// @brief helix pairings defined at the line of HHPAIR in blueprint
186 
187  /// @brief helix-strand-strand triple defined at the line of HSSTRIPLE in blueprint
189 
190 
191 }; //BluePrint
192 
193 } // parser
194 } // jd2
195 } // protocols
196 
197 #endif