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