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
chain.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_CHAIN_H
6
#define BALL_KERNEL_CHAIN_H
7
8
#ifndef BALL_KERNEL_RESIDUE_H
9
# include <
BALL/KERNEL/residue.h
>
10
#endif
11
12
#ifndef BALL_KERNEL_SECONDARYSTRUCTUREITERATOR_H
13
# include <
BALL/KERNEL/secondaryStructureIterator.h
>
14
#endif
15
16
17
#define BALL_CHAIN_DEFAULT_NAME ' '
18
19
namespace
BALL
20
{
21
class
Protein;
22
30
class
BALL_EXPORT
Chain
31
:
public
AtomContainer
32
{
33
public
:
34
35
BALL_CREATE_DEEP
(
Chain
)
36
37
40
43
enum
Property
44
{
45
NUMBER_OF_PROPERTIES =
AtomContainer::NUMBER_OF_PROPERTIES
46
};
47
49
52
54
Chain
();
55
57
Chain
(
const
Chain
& chain,
bool
deep =
true
);
58
60
Chain
(
const
String
& name);
61
63
virtual
~
Chain
();
64
66
69
73
void
persistentWrite(
PersistenceManager
& pm,
const
char
* name = 0)
const
;
74
78
void
persistentRead(
PersistenceManager
& pm);
79
81
84
90
void
set
(
const
Chain
& chain,
bool
deep =
true
);
91
98
Chain
& operator = (
const
Chain
& chain);
99
105
void
get
(
Chain
& chain,
bool
deep =
true
)
const
;
106
110
void
swap(
Chain
& chain);
111
113
118
bool
operator == (
const
Chain
& chain)
const
;
119
123
bool
operator != (
const
Chain
& chain)
const
;
124
125
129
134
Protein
* getProtein();
135
140
const
Protein
* getProtein()
const
;
141
148
SecondaryStructure
* getSecondaryStructure(
Position
position);
149
156
const
SecondaryStructure
* getSecondaryStructure(
Position
position)
const
;
157
163
Residue
* getResidue(
Position
position);
164
170
const
Residue
* getResidue(
Position
position)
const
;
171
177
Residue
*
getNTerminal
();
178
184
const
Residue
*
getNTerminal
()
const
;
185
191
Residue
*
getCTerminal
();
192
198
const
Residue
*
getCTerminal
()
const
;
199
205
PDBAtom
* getPDBAtom(
Position
position);
206
212
const
PDBAtom
* getPDBAtom(
Position
position)
const
;
213
217
Size
countSecondaryStructures()
const
;
218
222
Size
countResidues()
const
;
223
227
Size
countPDBAtoms()
const
;
228
232
void
prepend(
SecondaryStructure
& secondary_structure);
233
237
void
append(
SecondaryStructure
& secondary_structure);
238
242
void
insert(
SecondaryStructure
& secondary_structure);
243
248
void
insertBefore(
SecondaryStructure
& secondary_structure,
Composite
& before);
249
254
void
insertAfter(
SecondaryStructure
& secondary_structure,
Composite
& after);
255
259
bool
remove
(
SecondaryStructure
& secondary_structure);
260
264
void
prepend(
Residue
& residue);
265
269
void
append(
Residue
& residue);
270
274
void
insert(
Residue
& residue);
275
280
void
insertBefore(
Residue
& residue,
Composite
& before);
281
286
void
insertAfter(
Residue
& residue,
Composite
& after);
287
291
bool
remove
(
Residue
& residue);
292
296
void
spliceBefore(
Chain
& chain);
297
301
void
spliceAfter(
Chain
&chain);
302
306
void
splice(
Chain
&chain);
307
309
312
319
virtual
void
dump(std::ostream& s = std::cout,
Size
depth = 0)
const
320
;
321
323
324
// --- EXTERNAL ITERATORS
325
326
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
SecondaryStructure
)
327
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
Residue
)
328
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
PDBAtom
)
329
330
protected:
331
332
private:
333
AtomContainer
* getAtomContainer(
Position
position);
334
335
const
AtomContainer
* getAtomContainer(
Position
position) const;
336
337
Atom
* getAtom(
Position
position);
338
339
const
Atom
* getAtom(
Position
position) const;
340
341
void
prepend(
Atom
& atom);
342
343
void
append(
Atom
& atom);
344
345
void
insert(
Atom
& atom);
346
347
void
insertBefore(
Atom
& atom,
Composite
& before);
348
349
void
insertAfter(
Atom
& atom,
Composite
& after);
350
351
bool
remove(
Atom
& atom);
352
353
void
prepend(
AtomContainer
& atom_container);
354
355
void
append(
AtomContainer
& atom_container);
356
357
void
insert(
AtomContainer
& atom_container);
358
359
void
insertBefore(
AtomContainer
& atom_container,
Composite
& before);
360
361
void
insertAfter(
AtomContainer
& atom_container,
Composite
& after);
362
363
void
spliceBefore(
AtomContainer
& atom_container);
364
365
void
spliceAfter(
AtomContainer
& atom_container);
366
367
void
splice(
AtomContainer
& atom_container);
368
369
bool
remove(
AtomContainer
& atom_container);
370
371
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
AtomContainer
)
372
};
373
}
// namespace BALL
374
375
#endif // BALL_KERNEL_CHAIN_H
Generated by
1.8.3.1