Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
protocols
fldsgn
topology
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
37
enum
SheetFoldType
{
38
39
// 2strands
40
BABx1
= 1,
// beta-aplpha-beta motif
41
42
/// 3strands
43
// parallel
44
RosI
,
45
RosO
,
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
64
PG_like
,
65
Thioredoxin
,
66
//L30E_like,
67
BAB_CFr
,
68
DFr_BAB
,
69
BEFr
,
70
71
// anti-parallel
72
Fd_like
,
/// ferredoxin-like
73
RFd_like
,
/// reverse ferredoxin-like
74
CDFr
,
75
HPN_CFr
,
76
DFr_HPN
,
77
78
/// 5strands
79
// parallel
80
Flavodoxin
,
81
Ploop2x3
,
82
83
/// mixture
84
RNAseH
,
85
86
// anti-parallel
87
Top7
,
88
89
/// 6 strands
90
Rsmn3x3
,
91
Ploop3x3
,
92
93
///
94
UNFOLD
,
95
96
///
97
NO_STRANDS
,
98
99
///
100
UNKNOWN
,
101
102
n_fold_types
=
UNKNOWN
103
104
};
105
106
////////////////////////////////////////////////////////////////////////////////////////////////////////////
107
class
SheetFoldTypeManager
{
108
public
:
109
110
111
typedef
std::string
String
;
112
113
114
public
:
115
116
SheetFoldTypeManager
();
117
118
119
public
:
120
121
SheetFoldType
122
foldtype_from_name
(
std::string
const
& name );
123
124
125
std::string
126
name_from_foldtype
(
SheetFoldType
score_type );
127
128
129
bool
130
is_foldtype
(
std::string
const
& name );
131
132
133
SheetFoldType
134
foldtype_from_spairs
(
std::string
const
& spairs );
135
136
137
std::string
138
spairs_from_foldtype
(
SheetFoldType
foldtype );
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
155
void
setup_foldtype_strand_pairings
();
156
157
158
private
:
159
160
bool
initialized_
;
161
162
std::map< String, SheetFoldType >
name2foldtype_
;
163
utility::vector1< String >
foldtype2name_
;
164
165
std::map< String, SheetFoldType >
spairs2foldtype_
;
166
utility::vector1< String >
foldtype2spairs_
;
167
168
};
169
170
171
}
// namespace topology
172
}
// namespace fldsgn
173
}
// namespace protocols
174
175
176
#endif
Generated on Sat Jun 1 2013 11:50:16 for Rosetta 3.5 by
1.8.4