Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SheetFoldTypeManager.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 // This file is part of the Rosetta software suite and is made available under license.
5 // The Rosetta software is developed by the contributing members of the Rosetta Commons consortium.
6 // Copyright in the Rosetta software belongs to the developers and their institutions.
7 // For more information, see www.rosettacommons.org.
8 
9 /// @file ./src/protocols/fldsgn/SheetFoldTypeManager.hh
10 /// @brief
11 /// @author Nobuyasu Koga ( nobuyasu@u.washington.edu )
12 
13 // unit headers
14 
15 #ifndef INCLUDED_protocols_fldsgn_topology_SheetFoldTypeManager_hh
16 #define INCLUDED_protocols_fldsgn_topology_SheetFoldTypeManager_hh
17 
18 // project headers
19 // AUTO-REMOVED #include <core/types.hh>
20 
21 // utility headers
22 // AUTO-REMOVED #include <utility/vector1.hh>
23 
24 // C++ headers
25 #include <iostream>
26 #include <map>
27 // AUTO-REMOVED #include <string>
28 
29 #include <utility/vector1_bool.hh>
30 
31 
32 namespace protocols {
33 namespace fldsgn {
34 namespace topology {
35 
36 /// @brief List of topologies determined by strand pairings
38 
39  // 2strands
40  BABx1 = 1, // beta-aplpha-beta motif
41 
42  /// 3strands
43  // parallel
46  BABx2, // repeat beta-aplpha-beta motif twice
47 
48  // mixture
49  Thio, // part of structure of thioredoxin-fold
50  BFr,
51  EFr,
52 
53  // anti-parallel
54  CFr,
55  DFr,
56 
57  /// 4strands
58  // parallel
59  Rsmn2x2, /// rossmann2x2
60  Rsmn3x3_Half, /// Half structure of Rossmann3x3
61  BABx3, // repeat beta-aplpha-beta motif 3 times
62 
63  // mixture
66  //L30E_like,
70 
71  // anti-parallel
72  Fd_like, /// ferredoxin-like
73  RFd_like, /// reverse ferredoxin-like
77 
78  /// 5strands
79  // parallel
82 
83  /// mixture
85 
86  // anti-parallel
88 
89  /// 6 strands
92 
93  ///
95 
96  ///
98 
99  ///
101 
103 
104 };
105 
106 ////////////////////////////////////////////////////////////////////////////////////////////////////////////
108 public:
109 
110 
112 
113 
114 public:
115 
117 
118 
119 public:
120 
122  foldtype_from_name( std::string const & name );
123 
124 
126  name_from_foldtype( SheetFoldType score_type );
127 
128 
129  bool
130  is_foldtype( std::string const & name );
131 
132 
134  foldtype_from_spairs( std::string const & spairs );
135 
136 
139 
140 
141  bool
142  is_sparis_foldtype( std::string const & spairs );
143 
144 private:
145 
146  /// @brief
147  void initialize();
148 
149 
150  /// @brief initialize the SheetFoldType name vector and map
151  void setup_foldtype_names();
152 
153 
154 /// @brief initialize the map of strand pairings and SheetFoldType
156 
157 
158 private:
159 
161 
162  std::map< String, SheetFoldType > name2foldtype_;
164 
165  std::map< String, SheetFoldType > spairs2foldtype_;
167 
168 };
169 
170 
171 } // namespace topology
172 } // namespace fldsgn
173 } // namespace protocols
174 
175 
176 #endif