BALL 1.5.0
Loading...
Searching...
No Matches
PDBAtom.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_PDBATOM_H
6#define BALL_KERNEL_PDBATOM_H
7
8#ifndef BALL_KERNEL_ATOM_H
9# include <BALL/KERNEL/atom.h>
10#endif
11
12
13#define BALL_PDBATOM_DEFAULT_BRANCH_DESIGNATOR ' '
14#define BALL_PDBATOM_DEFAULT_REMOTENESS_INDICATOR ' '
15#define BALL_PDBATOM_DEFAULT_ALTERNATE_LOCATION_INDICATOR ' '
16#define BALL_PDBATOM_DEFAULT_OCCUPANCY 1.0
17#define BALL_PDBATOM_DEFAULT_TEMPERATURE_FACTOR 0.0
18
19
20namespace BALL
21{
22 class Chain;
23 class Protein;
24 class Residue;
25
39 : public Atom
40 {
41 public:
42
43 friend class Bond;
44
46
47
50
51
54 {
55 REMOTENESS_INDICATOR__UNKNOWN = BALL_PDBATOM_DEFAULT_REMOTENESS_INDICATOR,
56 REMOTENESS_INDICATOR__ALPHA = 'A',
57 REMOTENESS_INDICATOR__alpha = 'a',
58 REMOTENESS_INDICATOR__BETA = 'B',
59 REMOTENESS_INDICATOR__beta = 'b',
60 REMOTENESS_INDICATOR__GAMMA = 'G',
61 REMOTENESS_INDICATOR__gamma = 'g',
62 REMOTENESS_INDICATOR__DELTA = 'D',
63 REMOTENESS_INDICATOR__delta = 'd',
64 REMOTENESS_INDICATOR__EPSILON = 'E',
65 REMOTENESS_INDICATOR__epsilon = 'e',
66 REMOTENESS_INDICATOR__ZETA = 'Z',
67 REMOTENESS_INDICATOR__zeta = 'z',
68 REMOTENESS_INDICATOR__ETA = 'H',
69 REMOTENESS_INDICATOR__eta = 'h',
70
71 NUMBER_OF_REMOTENESS_INDICATORS
72 };
73
77 {
79 PROPERTY__HETATM = Atom::NUMBER_OF_PROPERTIES + 1,
80
82 NUMBER_OF_PROPERTIES
83 };
85
89
92
94 PDBAtom(const PDBAtom& pdb_atom, bool deep = true);
95
97 PDBAtom(const String& name);
98
101 (Element& element,
102 const String& name,
103 const String& type_name = BALL_ATOM_DEFAULT_TYPE_NAME,
105 const Vector3& position = Vector3(BALL_ATOM_DEFAULT_POSITION),
106 const Vector3& velocity = Vector3(BALL_ATOM_DEFAULT_VELOCITY),
108 float charge = BALL_ATOM_DEFAULT_CHARGE,
109 float radius = BALL_ATOM_DEFAULT_RADIUS,
110 char branch_designator =BALL_PDBATOM_DEFAULT_BRANCH_DESIGNATOR,
111 char remoteness_indicator =BALL_PDBATOM_DEFAULT_REMOTENESS_INDICATOR,
112 char alternate_location_indicator = BALL_PDBATOM_DEFAULT_ALTERNATE_LOCATION_INDICATOR,
113 float occupancy = BALL_PDBATOM_DEFAULT_OCCUPANCY,
114 float temperature_factor = BALL_PDBATOM_DEFAULT_TEMPERATURE_FACTOR);
115
117 virtual ~PDBAtom();
118
121 virtual void destroy();
122
124
127
131 bool operator == (const PDBAtom& pdb_atom) const;
132
136 bool operator != (const PDBAtom& pdb_atom) const;
137
139
142
147 void persistentWrite(PersistenceManager& pm, const char* name = 0) const;
148
153
155
158
164 void set(const PDBAtom& pdb_atom, bool deep = true);
165
170 void get(PDBAtom& pdb_atom, bool deep = true) const;
171
177 PDBAtom& operator = (const PDBAtom& pdb_atom);
178
182 void swap(PDBAtom& pdb_atom);
183
186 virtual void clear();
187
189
192
198
203 const Protein* getProtein() const;
204
210
215 const Chain* getChain() const;
216
222
227 const Residue* getResidue() const;
228
232 void setBranchDesignator(char branch_designator);
233
238
242 void setRemotenessIndicator(char remoteness_indicator);
243
248
252 void setAlternateLocationIndicator(char alternate_location_indicator);
253
258
262 void setOccupancy(float occupancy);
263
267 float getOccupancy() const;
268
272 void setTemperatureFactor(float temperature_factor);
273
277 float getTemperatureFactor() const;
278
280
283
290 virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
291
293
294 private:
295
296 void clear_();
297
298 /*_ The PDB branch designator
299 */
300 char branch_designator_;
301
302 /*_ The PDB remoteness indicator
303 */
304 char remoteness_indicator_;
305
306 /*_ The PDB alternate location indicator
307 */
308 char alternate_location_indicator_;
309
310 /*_ The PDB occupancy
311 */
312 float occupancy_;
313
314 /*_ The PDB temperature factor
315 */
316 float temperature_factor_;
317
318 };
319} // namespace BALL
320
321#endif // BALL_KERNEL_PDBATOM_H
#define BALL_ATOM_DEFAULT_FORCE
Definition atom.h:34
#define BALL_ATOM_DEFAULT_TYPE_NAME
Definition atom.h:29
#define BALL_ATOM_DEFAULT_RADIUS
Definition atom.h:31
#define BALL_ATOM_DEFAULT_POSITION
Definition atom.h:30
#define BALL_ATOM_DEFAULT_VELOCITY
Definition atom.h:33
#define BALL_ATOM_DEFAULT_TYPE
Definition atom.h:32
#define BALL_ATOM_DEFAULT_CHARGE
Definition atom.h:26
#define BALL_PDBATOM_DEFAULT_TEMPERATURE_FACTOR
Definition PDBAtom.h:17
#define BALL_PDBATOM_DEFAULT_ALTERNATE_LOCATION_INDICATOR
Definition PDBAtom.h:15
#define BALL_PDBATOM_DEFAULT_OCCUPANCY
Definition PDBAtom.h:16
#define BALL_PDBATOM_DEFAULT_REMOTENESS_INDICATOR
Definition PDBAtom.h:14
#define BALL_PDBATOM_DEFAULT_BRANCH_DESIGNATOR
Definition PDBAtom.h:13
#define BALL_CREATE_DEEP(name)
Definition create.h:26
short Type
Definition atom.h:103
Chain * getChain()
float getTemperatureFactor() const
PDBAtom(const PDBAtom &pdb_atom, bool deep=true)
Copy constructor.
void get(PDBAtom &pdb_atom, bool deep=true) const
PDBAtom()
Default constructor.
const Protein * getProtein() const
PDBAtom(Element &element, const String &name, const String &type_name=BALL_ATOM_DEFAULT_TYPE_NAME, Atom::Type atom_type=BALL_ATOM_DEFAULT_TYPE, const Vector3 &position=Vector3(BALL_ATOM_DEFAULT_POSITION), const Vector3 &velocity=Vector3(BALL_ATOM_DEFAULT_VELOCITY), const Vector3 &force=Vector3(BALL_ATOM_DEFAULT_FORCE), float charge=BALL_ATOM_DEFAULT_CHARGE, float radius=BALL_ATOM_DEFAULT_RADIUS, char branch_designator=BALL_PDBATOM_DEFAULT_BRANCH_DESIGNATOR, char remoteness_indicator=BALL_PDBATOM_DEFAULT_REMOTENESS_INDICATOR, char alternate_location_indicator=BALL_PDBATOM_DEFAULT_ALTERNATE_LOCATION_INDICATOR, float occupancy=BALL_PDBATOM_DEFAULT_OCCUPANCY, float temperature_factor=BALL_PDBATOM_DEFAULT_TEMPERATURE_FACTOR)
Detailed constructor.
virtual void dump(std::ostream &s=std::cout, Size depth=0) const
void persistentWrite(PersistenceManager &pm, const char *name=0) const
void swap(PDBAtom &pdb_atom)
virtual void clear()
const Residue * getResidue() const
char getRemotenessIndicator() const
char getBranchDesignator() const
virtual void destroy()
virtual ~PDBAtom()
Destructor.
void setOccupancy(float occupancy)
PDBAtom(const String &name)
Constructor.
void setAlternateLocationIndicator(char alternate_location_indicator)
void setTemperatureFactor(float temperature_factor)
void setBranchDesignator(char branch_designator)
void set(const PDBAtom &pdb_atom, bool deep=true)
Protein * getProtein()
const Chain * getChain() const
float getOccupancy() const
void setRemotenessIndicator(char remoteness_indicator)
char getAlternateLocationIndicator() const
Residue * getResidue()
void persistentRead(PersistenceManager &pm)
#define BALL_EXPORT