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
core
fragment
picking_old
vall
gen
SecStructGen.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 core/fragment/picking_old/vall/gen/SecStructGen.hh
11
/// @brief Generator that requires fragments to have a specific secondary
12
/// structure string.
13
/// @author Yih-En Andrew Ban (yab@u.washington.edu)
14
15
#ifndef INCLUDED_core_fragment_picking_old_vall_gen_SecStructGen_hh
16
#define INCLUDED_core_fragment_picking_old_vall_gen_SecStructGen_hh
17
18
// unit headers
19
#include <
core/fragment/picking_old/vall/gen/SecStructGen.fwd.hh
>
20
#include <
core/fragment/picking_old/vall/gen/VallFragmentGen.hh
>
21
22
#include <utility/vector1.hh>
23
24
25
// C++ headers
26
27
28
namespace
core {
29
namespace
fragment {
30
namespace
picking_old {
31
namespace
vall {
32
namespace
gen {
33
34
35
/// @brief Generator that requires fragments to have a specific secondary
36
/// structure string.
37
/// @remarks assumes that Pages in the Book are stored in a container
38
/// capable of returning a RandomAccessIterator, such as std::vector
39
class
SecStructGen
:
public
VallFragmentGen
{
40
41
42
private
:
// typedefs
43
44
45
typedef
VallFragmentGen
Super
;
46
47
48
public
:
// typedefs
49
50
51
typedef
Super::Size
Size
;
52
typedef
std::string
String
;
53
54
55
public
:
// concept typedefs
56
57
58
/// @brief typedef for ExtentGenerator concept
59
typedef
Super::Extent
Extent
;
60
61
62
/// @brief typedef for ExtentGenerator concept
63
typedef
Super::PageIterator
PageIterator
;
64
65
66
public
:
// concept translation typedefs
67
68
69
typedef
PageIterator
VallResidueIterator
;
70
71
72
public
:
// construct/destruct
73
74
75
/// @brief default constructor
76
SecStructGen
();
77
78
79
/// @brief secondary structure string constructor
80
/// @param[in] ss the required secondary structure string of the fragment
81
SecStructGen
(
String
const
& ss );
82
83
84
/// @brief copy constructor
85
SecStructGen
(
SecStructGen
const
& rval );
86
87
88
/// @brief default destructor
89
virtual
90
~SecStructGen
();
91
92
93
public
:
// copy assignment
94
95
96
/// @brief copy assignment
97
SecStructGen
&
operator =
(
SecStructGen
const
& rval );
98
99
100
public
:
// virtual constructors
101
102
103
/// @brief clone this object
104
virtual
105
VallFragmentGenOP
clone
()
const
;
106
107
108
public
:
// extent generation
109
110
111
/// @brief return the desired fragment extent w/ length equal to the
112
/// secondary structure string
113
/// @return Valid (true) extent if the extent has exactly the required
114
/// secondary structure string and the end of the extent does not go past
115
/// section_end. Invalid (false) extent otherwise.
116
/// @remarks we assume VallResidueIterator is a type of RandomAccessIterator, such as
117
/// those used in std::vector
118
virtual
119
Extent
operator ()
(
VallResidueIterator
extent_begin,
VallResidueIterator
section_end )
const
;
120
121
122
private
:
// data
123
124
125
/// @brief the required secondary structure of desired fragment
126
String
ss_
;
127
128
};
129
130
131
}
// namespace gen
132
}
// namespace vall
133
}
// namespace picking_old
134
}
// namespace fragment
135
}
// namespace core
136
137
#endif
/* INCLUDED_core_fragment_picking_old_vall_gen_SecStructGen_HH */
Generated on Sat Jun 1 2013 11:32:41 for Rosetta 3.5 by
1.8.4