BALL
1.4.2
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
BALL
KERNEL
secondaryStructure.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
5
#ifndef BALL_KERNEL_SECONDARYSTRUCTURE_H
6
#define BALL_KERNEL_SECONDARYSTRUCTURE_H
7
8
#ifndef BALL_KERNEL_RESIDUE_H
9
# include <
BALL/KERNEL/residue.h
>
10
#endif
11
12
#ifndef BALL_KERNEL_RESIDUEITERATOR_H
13
# include <
BALL/KERNEL/residueIterator.h
>
14
#endif
15
16
#ifndef BALL_KERNEL_ATOMCONTAINER_H
17
# include <
BALL/KERNEL/atomContainer.h
>
18
#endif
19
20
namespace
BALL
21
{
29
class
BALL_EXPORT
SecondaryStructure
30
:
public
AtomContainer
31
{
32
public
:
33
34
BALL_CREATE_DEEP
(
SecondaryStructure
)
35
36
39
42
enum
Type
43
{
45
HELIX
,
47
COIL
,
49
STRAND
,
51
TURN
,
53
UNKNOWN
,
55
NUMBER_OF_TYPES
56
};
57
59
60
64
66
SecondaryStructure
();
67
69
SecondaryStructure
(
const
SecondaryStructure
& secondary_structure,
bool
deep =
true
);
70
72
SecondaryStructure
(
const
String
& name);
73
75
virtual
~
SecondaryStructure
();
76
78
virtual
void
clear();
79
81
virtual
void
destroy();
83
91
bool
operator == (
const
SecondaryStructure
& secondary_structure)
const
;
92
96
bool
operator != (
const
SecondaryStructure
& secondary_structure)
const
;
98
102
106
void
persistentWrite(
PersistenceManager
& pm,
const
char
* name = 0)
const
;
107
111
void
persistentRead(
PersistenceManager
& pm);
113
117
123
void
set
(
const
SecondaryStructure
& secondary_structure,
bool
deep =
true
);
124
130
SecondaryStructure
& operator = (
const
SecondaryStructure
& secondary_structure);
131
137
void
get
(
SecondaryStructure
& secondary_structure,
bool
deep =
true
)
const
;
138
142
void
swap(
SecondaryStructure
& secondary_structure);
144
148
150
Type
getType
()
const
{
return
type_; }
151
153
void
setType
(
Type
type) { type_ = type; }
154
159
Protein
* getProtein();
160
165
const
Protein
* getProtein()
const
;
166
171
Chain
* getChain();
172
177
const
Chain
* getChain()
const
;
178
184
Residue
* getResidue(
Position
position);
185
191
const
Residue
* getResidue(
Position
position)
const
;
192
198
Residue
*
getNTerminal
();
199
205
const
Residue
*
getNTerminal
()
const
;
206
212
Residue
*
getCTerminal
();
213
219
const
Residue
*
getCTerminal
()
const
;
220
226
PDBAtom
* getPDBAtom(
Position
position);
227
233
const
PDBAtom
* getPDBAtom(
Position
position)
const
;
234
238
Size
countResidues()
const
;
239
243
Size
countPDBAtoms()
const
;
244
248
void
prepend(
Residue
& residue);
249
253
void
append(
Residue
& residue);
254
258
void
insert(
Residue
& residue);
259
264
void
insertBefore(
Residue
& residue,
Composite
& before);
265
270
void
insertAfter(
Residue
& residue,
Composite
& after);
271
275
bool
remove
(
Residue
& residue);
276
281
void
spliceBefore(
SecondaryStructure
& secondary_structure);
282
287
void
spliceAfter(
SecondaryStructure
& secondary_structure);
288
292
void
splice(
SecondaryStructure
& secondary_structure);
294
298
303
virtual
bool
isValid()
const
;
304
311
virtual
void
dump(std::ostream& s = std::cout,
Size
depth = 0)
const
;
312
314
315
// --- EXTERNAL ITERATORS
316
317
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
Residue
)
318
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
PDBAtom
)
319
320
protected:
321
323
Type
type_;
324
325
private:
326
327
Fragment
* getFragment(
Position
position);
328
329
const
Fragment
* getFragment(
Position
position) const;
330
331
Atom
* getAtom(
Position
position);
332
333
const
Atom
* getAtom(
Position
position) const;
334
335
void
prepend(
Atom
& atom);
336
337
void
append(
Atom
& atom);
338
339
void
insert(
Atom
& atom);
340
341
void
insertBefore(
Atom
& atom,
Composite
& before);
342
343
void
insertAfter(
Atom
& atom,
Composite
& after);
344
345
bool
remove(
Atom
& atom);
346
347
void
prepend(
AtomContainer
& atom_container);
348
349
void
append(
AtomContainer
& atom_container);
350
351
void
insert(
AtomContainer
& atom_container);
352
353
void
insertBefore(
AtomContainer
& atom_container,
Composite
& before);
354
355
void
insertAfter(
AtomContainer
& atom_container,
Composite
& after);
356
357
void
spliceBefore(
AtomContainer
& atom_container);
358
359
void
spliceAfter(
AtomContainer
& atom_container);
360
361
void
splice(
AtomContainer
& atom_container);
362
363
bool
remove(
AtomContainer
& atom_container);
364
365
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
AtomContainer
)
366
367
};
368
369
}
// namespace BALL
370
371
#endif // BALL_KERNEL_SECONDARYSTRUCTURE_H
Generated by
1.8.3.1