BALL 1.5.0
Loading...
Searching...
No Matches
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
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
18namespace BALL
19{
29 : public Molecule
30 {
31 public:
32
34
35
38
39
42 {
43 NUMBER_OF_PROPERTIES = Molecule::NUMBER_OF_PROPERTIES
44 };
45
47
50
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
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
137
143 const Chain* getChain(Position position) const;
144
151
158
165
171 const Residue* getResidue(Position position) const;
172
179
185 const Residue* getResidueByID(String residue_ID) const;
186
193
199 const Residue* getNTerminal() const;
200
207
213 const Residue* getCTerminal() const;
214
221
227 const PDBAtom* getPDBAtom(Position position) const;
228
232 void setID(const String& id);
233
237 const String& getID() const;
238
243
248
253
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 virtual bool isProtein() const { return true; }
276
280
285 virtual bool isValid() const;
286
293 virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
294
296
297 // --- EXTERNAL ITERATORS
298
303
308
309 private:
310
311 // --- ATTRIBUTES
312
313 String id_;
314 };
315} // namespace BALL
316
317#endif // BALL_KERNEL_PROTEIN_H
#define BALL_DECLARE_STD_ITERATOR_WRAPPER(container, type, method_name)
#define BALL_PROTEIN_DEFAULT_ID
Definition protein.h:16
#define BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Type)
Definition iterator.h:25
#define BALL_CREATE_DEEP(name)
Definition create.h:26
void set(const Protein &protein, bool deep=true)
virtual bool isValid() const
virtual void dump(std::ostream &s=std::cout, Size depth=0) const
SecondaryStructure * getSecondaryStructure(Position position)
void persistentWrite(PersistenceManager &pm, const char *name=0) const
const Residue * getCTerminal() const
const Residue * getResidueByID(String residue_ID) const
Protein(const Protein &protein, bool deep=true)
Copy constructor.
Size countSecondaryStructures() const
Residue * getCTerminal()
const Residue * getResidue(Position position) const
const Chain * getChain(Position position) const
virtual void clear()
Clears the contents of the protein.
Protein()
Default constructor.
Protein(const String &name, const String &id=BALL_PROTEIN_DEFAULT_ID)
Detailled constructor.
void swap(Protein &protein)
Size countChains() const
const PDBAtom * getPDBAtom(Position position) const
virtual ~Protein()
Destructor.
void setID(const String &id)
const String & getID() const
Chain * getChain(Position position)
void get(Protein &protein, bool deep=true) const
Residue * getNTerminal()
Residue * getResidueByID(String residue_ID)
virtual bool isProtein() const
Definition protein.h:274
const SecondaryStructure * getSecondaryStructure(Position position) const
void persistentRead(PersistenceManager &pm)
Residue * getResidue(Position position)
Size countResidues() const
Size countPDBAtoms() const
PDBAtom * getPDBAtom(Position position)
const Residue * getNTerminal() const
virtual void destroy()
#define BALL_EXPORT