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
protein.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_PROTEIN_H
6
#define BALL_KERNEL_PROTEIN_H
7
8
#ifndef BALL_KERNEL_CHAINITERATOR_H
9
# include <
BALL/KERNEL/chainIterator.h
>
10
#endif
11
12
#ifndef BALL_KERNEL_MOLECULE_H
13
# include <
BALL/KERNEL/molecule.h
>
14
#endif
15
16
#define BALL_PROTEIN_DEFAULT_ID ""
17
18
namespace
BALL
19
{
28
class
BALL_EXPORT
Protein
29
:
public
Molecule
30
{
31
public
:
32
33
BALL_CREATE_DEEP
(
Protein
)
34
35
38
39
41
enum
Property
42
{
43
NUMBER_OF_PROPERTIES =
Molecule::NUMBER_OF_PROPERTIES
44
};
45
47
50
52
Protein
();
53
55
Protein
(
const
Protein
& protein,
bool
deep =
true
);
56
58
Protein
(
const
String
& name,
const
String
&
id
=
BALL_PROTEIN_DEFAULT_ID
);
59
61
virtual
~
Protein
();
62
64
virtual
void
clear();
65
66
/* Clears the contents of the protein and removes it from all composite structures.
67
*/
68
virtual
void
destroy();
69
71
74
78
void
persistentWrite(
PersistenceManager
& pm,
const
char
* name = 0)
const
;
79
83
void
persistentRead(
PersistenceManager
& pm);
84
86
89
95
void
set
(
const
Protein
& protein,
bool
deep =
true
);
96
101
Protein
& operator = (
const
Protein
& protein);
102
107
void
get
(
Protein
& protein,
bool
deep =
true
)
const
;
108
112
void
swap(
Protein
& protein);
113
115
120
bool
operator == (
const
Protein
& protein)
const
;
121
125
bool
operator != (
const
Protein
& protein)
const
;
126
130
136
Chain
* getChain(
Position
position);
137
143
const
Chain
* getChain(
Position
position)
const
;
144
150
SecondaryStructure
* getSecondaryStructure(
Position
position);
151
157
const
SecondaryStructure
* getSecondaryStructure(
Position
position)
const
;
158
164
Residue
* getResidue(
Position
position);
165
171
const
Residue
* getResidue(
Position
position)
const
;
172
178
Residue
* getResidueByID(
String
residue_ID);
179
185
const
Residue
* getResidueByID(
String
residue_ID)
const
;
186
192
Residue
*
getNTerminal
();
193
199
const
Residue
*
getNTerminal
()
const
;
200
206
Residue
*
getCTerminal
();
207
213
const
Residue
*
getCTerminal
()
const
;
214
220
PDBAtom
* getPDBAtom(
Position
position);
221
227
const
PDBAtom
* getPDBAtom(
Position
position)
const
;
228
232
void
setID(
const
String
&
id
);
233
237
const
String
& getID()
const
;
238
242
Size
countChains()
const
;
243
247
Size
countSecondaryStructures()
const
;
248
252
Size
countResidues()
const
;
253
257
Size
countPDBAtoms()
const
;
258
260
261
using
Molecule::prepend
;
262
using
Molecule::append
;
263
using
Molecule::insert
;
264
using
Molecule::insertBefore
;
265
using
Molecule::insertAfter
;
266
using
Molecule::remove
;
267
using
Molecule::splice
;
268
using
Molecule::spliceBefore
;
269
using
Molecule::spliceAfter
;
270
274
279
virtual
bool
isValid()
const
;
280
287
virtual
void
dump(std::ostream& s = std::cout,
Size
depth = 0)
const
;
288
290
291
// --- EXTERNAL ITERATORS
292
293
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
Chain
)
294
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
SecondaryStructure
)
295
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
Residue
)
296
BALL_KERNEL_DEFINE_ITERATOR_CREATORS
(
PDBAtom
)
297
298
299
private:
300
301
// --- ATTRIBUTES
302
303
String
id_;
304
};
305
}
// namespace BALL
306
307
#endif // BALL_KERNEL_PROTEIN_H
Generated by
1.8.3.1