BALL  1.5.0
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 
20 namespace 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 
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 
76  enum Property
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),
107  const Vector3& force = Vector3(BALL_ATOM_DEFAULT_FORCE),
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 
237  char getBranchDesignator() const;
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
BALL_ATOM_DEFAULT_RADIUS
#define BALL_ATOM_DEFAULT_RADIUS
Definition: atom.h:31
BALL_ATOM_DEFAULT_CHARGE
#define BALL_ATOM_DEFAULT_CHARGE
Definition: atom.h:26
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
BALL::PDBAtom::PDBAtom
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.
BALL::PDBAtom::PDBAtom
PDBAtom(const String &name)
Constructor.
BALL::Chain
Definition: chain.h:32
BALL_ATOM_DEFAULT_TYPE_NAME
#define BALL_ATOM_DEFAULT_TYPE_NAME
Definition: atom.h:29
BALL::PDBAtom::setBranchDesignator
void setBranchDesignator(char branch_designator)
BALL_ATOM_DEFAULT_TYPE
#define BALL_ATOM_DEFAULT_TYPE
Definition: atom.h:32
BALL::PDBAtom::getRemotenessIndicator
char getRemotenessIndicator() const
BALL::operator!=
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
BALL::Bond
Definition: bond.h:57
BALL_ATOM_DEFAULT_VELOCITY
#define BALL_ATOM_DEFAULT_VELOCITY
Definition: atom.h:33
BALL::PDBAtom::setTemperatureFactor
void setTemperatureFactor(float temperature_factor)
BALL::PDBAtom::destroy
virtual void destroy()
BALL::PDBAtom::PDBAtom
PDBAtom()
Default constructor.
BALL::Atom
Definition: atom.h:90
BALL_CREATE_DEEP
#define BALL_CREATE_DEEP(name)
Definition: create.h:26
BALL::PersistenceManager
Definition: persistenceManager.h:73
BALL::PDBAtom
Definition: PDBAtom.h:40
BALL::Residue
Definition: residue.h:38
BALL::Element
Definition: PTE.h:55
BALL::PDBAtom::getProtein
Protein * getProtein()
BALL_ATOM_DEFAULT_POSITION
#define BALL_ATOM_DEFAULT_POSITION
Definition: atom.h:30
BALL::String
Definition: string.h:57
BALL::Protein
Definition: protein.h:30
BALL_PDBATOM_DEFAULT_OCCUPANCY
#define BALL_PDBATOM_DEFAULT_OCCUPANCY
Definition: PDBAtom.h:16
BALL::Atom::NUMBER_OF_PROPERTIES
@ NUMBER_OF_PROPERTIES
Definition: atom.h:132
BALL::PDBAtom::setAlternateLocationIndicator
void setAlternateLocationIndicator(char alternate_location_indicator)
BALL
Definition: constants.h:13
BALL::PDBAtom::RemotenessIndicator
RemotenessIndicator
Definition: PDBAtom.h:54
BALL::PDBAtom::getChain
Chain * getChain()
BALL::PDBAtom::PDBAtom
PDBAtom(const PDBAtom &pdb_atom, bool deep=true)
Copy constructor.
BALL::PDBAtom::get
void get(PDBAtom &pdb_atom, bool deep=true) const
BALL::PDBAtom::set
void set(const PDBAtom &pdb_atom, bool deep=true)
BALL::Vector3
TVector3< float > Vector3
Definition: vector3.h:1084
BALL_SIZE_TYPE
BALL::TVector3< float >
BALL::PDBAtom::swap
void swap(PDBAtom &pdb_atom)
BALL_PDBATOM_DEFAULT_BRANCH_DESIGNATOR
#define BALL_PDBATOM_DEFAULT_BRANCH_DESIGNATOR
Definition: PDBAtom.h:13
BALL::PDBAtom::getResidue
Residue * getResidue()
atom.h
BALL_ATOM_DEFAULT_FORCE
#define BALL_ATOM_DEFAULT_FORCE
Definition: atom.h:34
BALL::PDBAtom::getChain
const Chain * getChain() const
BALL::PDBAtom::persistentRead
void persistentRead(PersistenceManager &pm)
BALL::PDBAtom::persistentWrite
void persistentWrite(PersistenceManager &pm, const char *name=0) const
BALL::PDBAtom::getAlternateLocationIndicator
char getAlternateLocationIndicator() const
BALL::PDBAtom::getProtein
const Protein * getProtein() const
BALL::operator==
BALL_EXPORT bool operator==(const String &s1, const String &s2)
BALL::PDBAtom::getTemperatureFactor
float getTemperatureFactor() const
BALL::PDBAtom::dump
virtual void dump(std::ostream &s=std::cout, Size depth=0) const
BALL::PDBAtom::getOccupancy
float getOccupancy() const
BALL_PDBATOM_DEFAULT_ALTERNATE_LOCATION_INDICATOR
#define BALL_PDBATOM_DEFAULT_ALTERNATE_LOCATION_INDICATOR
Definition: PDBAtom.h:15
BALL::PDBAtom::getResidue
const Residue * getResidue() const
BALL::PDBAtom::~PDBAtom
virtual ~PDBAtom()
Destructor.
BALL_PDBATOM_DEFAULT_TEMPERATURE_FACTOR
#define BALL_PDBATOM_DEFAULT_TEMPERATURE_FACTOR
Definition: PDBAtom.h:17
BALL::PDBAtom::getBranchDesignator
char getBranchDesignator() const
BALL::PDBAtom::clear
virtual void clear()
BALL_PDBATOM_DEFAULT_REMOTENESS_INDICATOR
#define BALL_PDBATOM_DEFAULT_REMOTENESS_INDICATOR
Definition: PDBAtom.h:14
BALL::PDBAtom::setOccupancy
void setOccupancy(float occupancy)
BALL::Atom::Type
short Type
Definition: atom.h:103
BALL::Atom::Property
Property
Definition: atom.h:131
BALL::PDBAtom::setRemotenessIndicator
void setRemotenessIndicator(char remoteness_indicator)