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