Loading...
Searching...
No Matches
PDBAtom.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_KERNEL_PDBATOM_H
#define BALL_KERNEL_PDBATOM_H
#ifndef BALL_KERNEL_ATOM_H
# include <BALL/KERNEL/atom.h>
#endif
#define BALL_PDBATOM_DEFAULT_BRANCH_DESIGNATOR ' '
#define BALL_PDBATOM_DEFAULT_REMOTENESS_INDICATOR ' '
#define BALL_PDBATOM_DEFAULT_ALTERNATE_LOCATION_INDICATOR ' '
#define BALL_PDBATOM_DEFAULT_OCCUPANCY 1.0
#define BALL_PDBATOM_DEFAULT_TEMPERATURE_FACTOR 0.0
namespace BALL
{
class Chain;
class Protein;
class Residue;
class BALL_EXPORT PDBAtom
: public Atom
{
public:
friend class Bond;
BALL_CREATE_DEEP(PDBAtom)
enum RemotenessIndicator
{
REMOTENESS_INDICATOR__UNKNOWN = BALL_PDBATOM_DEFAULT_REMOTENESS_INDICATOR,
REMOTENESS_INDICATOR__ALPHA = 'A',
REMOTENESS_INDICATOR__alpha = 'a',
REMOTENESS_INDICATOR__BETA = 'B',
REMOTENESS_INDICATOR__beta = 'b',
REMOTENESS_INDICATOR__GAMMA = 'G',
REMOTENESS_INDICATOR__gamma = 'g',
REMOTENESS_INDICATOR__DELTA = 'D',
REMOTENESS_INDICATOR__delta = 'd',
REMOTENESS_INDICATOR__EPSILON = 'E',
REMOTENESS_INDICATOR__epsilon = 'e',
REMOTENESS_INDICATOR__ZETA = 'Z',
REMOTENESS_INDICATOR__zeta = 'z',
REMOTENESS_INDICATOR__ETA = 'H',
REMOTENESS_INDICATOR__eta = 'h',
NUMBER_OF_REMOTENESS_INDICATORS
};
enum Property
{
PROPERTY__HETATM = Atom::NUMBER_OF_PROPERTIES + 1,
NUMBER_OF_PROPERTIES
};
PDBAtom();
PDBAtom(const PDBAtom& pdb_atom, bool deep = true);
PDBAtom(const String& name);
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);
virtual ~PDBAtom();
virtual void destroy();
bool operator == (const PDBAtom& pdb_atom) const;
bool operator != (const PDBAtom& pdb_atom) const;
void persistentWrite(PersistenceManager& pm, const char* name = 0) const;
void persistentRead(PersistenceManager& pm);
void set(const PDBAtom& pdb_atom, bool deep = true);
void get(PDBAtom& pdb_atom, bool deep = true) const;
PDBAtom& operator = (const PDBAtom& pdb_atom);
void swap(PDBAtom& pdb_atom);
virtual void clear();
Protein* getProtein();
const Protein* getProtein() const;
Chain* getChain();
const Chain* getChain() const;
Residue* getResidue();
const Residue* getResidue() const;
void setBranchDesignator(char branch_designator);
char getBranchDesignator() const;
void setRemotenessIndicator(char remoteness_indicator);
char getRemotenessIndicator() const;
void setAlternateLocationIndicator(char alternate_location_indicator);
char getAlternateLocationIndicator() const;
void setOccupancy(float occupancy);
float getOccupancy() const;
void setTemperatureFactor(float temperature_factor);
float getTemperatureFactor() const;
virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
private:
void clear_();
/*_ The PDB branch designator
*/
char branch_designator_;
/*_ The PDB remoteness indicator
*/
char remoteness_indicator_;
/*_ The PDB alternate location indicator
*/
char alternate_location_indicator_;
/*_ The PDB occupancy
*/
float occupancy_;
/*_ The PDB temperature factor
*/
float temperature_factor_;
};
} // namespace BALL
#endif // BALL_KERNEL_PDBATOM_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
BALL_PDBATOM_DEFAULT_TEMPERATURE_FACTOR
#define BALL_PDBATOM_DEFAULT_TEMPERATURE_FACTOR
Definition PDBAtom.h:17
BALL_PDBATOM_DEFAULT_ALTERNATE_LOCATION_INDICATOR
#define BALL_PDBATOM_DEFAULT_ALTERNATE_LOCATION_INDICATOR
Definition PDBAtom.h:15
BALL_PDBATOM_DEFAULT_OCCUPANCY
#define BALL_PDBATOM_DEFAULT_OCCUPANCY
Definition PDBAtom.h:16
BALL_PDBATOM_DEFAULT_REMOTENESS_INDICATOR
#define BALL_PDBATOM_DEFAULT_REMOTENESS_INDICATOR
Definition PDBAtom.h:14
BALL_PDBATOM_DEFAULT_BRANCH_DESIGNATOR
#define BALL_PDBATOM_DEFAULT_BRANCH_DESIGNATOR
Definition PDBAtom.h:13
atom.h
BALL_ATOM_DEFAULT_FORCE
#define BALL_ATOM_DEFAULT_FORCE
Definition atom.h:34
BALL_ATOM_DEFAULT_TYPE_NAME
#define BALL_ATOM_DEFAULT_TYPE_NAME
Definition atom.h:29
BALL_ATOM_DEFAULT_RADIUS
#define BALL_ATOM_DEFAULT_RADIUS
Definition atom.h:31
BALL_ATOM_DEFAULT_POSITION
#define BALL_ATOM_DEFAULT_POSITION
Definition atom.h:30
BALL_ATOM_DEFAULT_VELOCITY
#define BALL_ATOM_DEFAULT_VELOCITY
Definition atom.h:33
BALL_ATOM_DEFAULT_TYPE
#define BALL_ATOM_DEFAULT_TYPE
Definition atom.h:32
BALL_ATOM_DEFAULT_CHARGE
#define BALL_ATOM_DEFAULT_CHARGE
Definition atom.h:26
BALL::Atom::Atom
Atom()
BALL::Atom::Type
short Type
Definition atom.h:103
BALL::Atom::NUMBER_OF_PROPERTIES
@ NUMBER_OF_PROPERTIES
Definition atom.h:132
BALL::Chain
Definition chain.h:32
BALL::Element
Definition PTE.h:55
BALL::PDBAtom::getChain
Chain * getChain()
BALL::PDBAtom::getTemperatureFactor
float getTemperatureFactor() const
BALL::PDBAtom::PDBAtom
PDBAtom(const PDBAtom &pdb_atom, bool deep=true)
Copy constructor.
BALL::PDBAtom::Property
Property
Definition PDBAtom.h:77
BALL::PDBAtom::PROPERTY__HETATM
@ PROPERTY__HETATM
Property which indicates whether the current atom is a HETATM.
Definition PDBAtom.h:79
BALL::PDBAtom::NUMBER_OF_PROPERTIES
@ NUMBER_OF_PROPERTIES
The number of properties in PDBAtom.
Definition PDBAtom.h:82
BALL::PDBAtom::get
void get(PDBAtom &pdb_atom, bool deep=true) const
BALL::PDBAtom::PDBAtom
PDBAtom()
Default constructor.
BALL::PDBAtom::getProtein
const Protein * getProtein() const
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::dump
virtual void dump(std::ostream &s=std::cout, Size depth=0) const
BALL::PDBAtom::persistentWrite
void persistentWrite(PersistenceManager &pm, const char *name=0) const
BALL::PDBAtom::swap
void swap(PDBAtom &pdb_atom)
BALL::PDBAtom::clear
virtual void clear()
BALL::PDBAtom::RemotenessIndicator
RemotenessIndicator
Definition PDBAtom.h:54
BALL::PDBAtom::REMOTENESS_INDICATOR__ZETA
@ REMOTENESS_INDICATOR__ZETA
Definition PDBAtom.h:66
BALL::PDBAtom::REMOTENESS_INDICATOR__eta
@ REMOTENESS_INDICATOR__eta
Definition PDBAtom.h:69
BALL::PDBAtom::REMOTENESS_INDICATOR__zeta
@ REMOTENESS_INDICATOR__zeta
Definition PDBAtom.h:67
BALL::PDBAtom::NUMBER_OF_REMOTENESS_INDICATORS
@ NUMBER_OF_REMOTENESS_INDICATORS
Definition PDBAtom.h:71
BALL::PDBAtom::REMOTENESS_INDICATOR__BETA
@ REMOTENESS_INDICATOR__BETA
Definition PDBAtom.h:58
BALL::PDBAtom::REMOTENESS_INDICATOR__GAMMA
@ REMOTENESS_INDICATOR__GAMMA
Definition PDBAtom.h:60
BALL::PDBAtom::REMOTENESS_INDICATOR__delta
@ REMOTENESS_INDICATOR__delta
Definition PDBAtom.h:63
BALL::PDBAtom::REMOTENESS_INDICATOR__alpha
@ REMOTENESS_INDICATOR__alpha
Definition PDBAtom.h:57
BALL::PDBAtom::REMOTENESS_INDICATOR__ETA
@ REMOTENESS_INDICATOR__ETA
Definition PDBAtom.h:68
BALL::PDBAtom::REMOTENESS_INDICATOR__DELTA
@ REMOTENESS_INDICATOR__DELTA
Definition PDBAtom.h:62
BALL::PDBAtom::REMOTENESS_INDICATOR__ALPHA
@ REMOTENESS_INDICATOR__ALPHA
Definition PDBAtom.h:56
BALL::PDBAtom::REMOTENESS_INDICATOR__epsilon
@ REMOTENESS_INDICATOR__epsilon
Definition PDBAtom.h:65
BALL::PDBAtom::REMOTENESS_INDICATOR__gamma
@ REMOTENESS_INDICATOR__gamma
Definition PDBAtom.h:61
BALL::PDBAtom::REMOTENESS_INDICATOR__beta
@ REMOTENESS_INDICATOR__beta
Definition PDBAtom.h:59
BALL::PDBAtom::REMOTENESS_INDICATOR__UNKNOWN
@ REMOTENESS_INDICATOR__UNKNOWN
Definition PDBAtom.h:55
BALL::PDBAtom::REMOTENESS_INDICATOR__EPSILON
@ REMOTENESS_INDICATOR__EPSILON
Definition PDBAtom.h:64
BALL::PDBAtom::getResidue
const Residue * getResidue() const
BALL::PDBAtom::getRemotenessIndicator
char getRemotenessIndicator() const
BALL::PDBAtom::getBranchDesignator
char getBranchDesignator() const
BALL::PDBAtom::destroy
virtual void destroy()
BALL::PDBAtom::~PDBAtom
virtual ~PDBAtom()
Destructor.
BALL::PDBAtom::setOccupancy
void setOccupancy(float occupancy)
BALL::PDBAtom::PDBAtom
PDBAtom(const String &name)
Constructor.
BALL::PDBAtom::setAlternateLocationIndicator
void setAlternateLocationIndicator(char alternate_location_indicator)
BALL::PDBAtom::setTemperatureFactor
void setTemperatureFactor(float temperature_factor)
BALL::PDBAtom::setBranchDesignator
void setBranchDesignator(char branch_designator)
BALL::PDBAtom::set
void set(const PDBAtom &pdb_atom, bool deep=true)
BALL::PDBAtom::getProtein
Protein * getProtein()
BALL::PDBAtom::Bond
friend class Bond
Definition PDBAtom.h:43
BALL::PDBAtom::getChain
const Chain * getChain() const
BALL::PDBAtom::getOccupancy
float getOccupancy() const
BALL::PDBAtom::setRemotenessIndicator
void setRemotenessIndicator(char remoteness_indicator)
BALL::PDBAtom::getAlternateLocationIndicator
char getAlternateLocationIndicator() const
BALL::PDBAtom::getResidue
Residue * getResidue()
BALL::PDBAtom::persistentRead
void persistentRead(PersistenceManager &pm)
BALL::PersistenceManager
Definition persistenceManager.h:73
BALL::Protein
Definition protein.h:30
BALL::Residue
Definition residue.h:38
BALL::String
Definition string.h:57
BALL_CREATE_DEEP
#define BALL_CREATE_DEEP(name)
Definition create.h:26
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::Vector3
TVector3< float > Vector3
Definition vector3.h:1084