SDA (SDA flex)  7.2
Simulation of Diffusional Association
PDBstructure.hpp
Go to the documentation of this file.
1 
13 #ifndef PROTEINDATABANKSTRUCTURE_HPP_
14 #define PROTEINDATABANKSTRUCTURE_HPP_
15 
16 #include <stdlib.h>
17 #include <sstream>
18 #include <string>
19 
20 // it has to be mentioned before Atom class, since that calls PDB
21 class PDB;
22 
27 class Atom
28 {
29  Atom() {;};
30  ~Atom();
31  friend class PDB;
32  friend class Residue;
33  //friend class iterate;
34  std::string Atom_Type;
36 public:
37  //std::string Atom_Type;
38  struct Coordinates
39  {
40  float X;
41  float Y;
42  float Z;
43  } Coord; // Store the (x,y,z) coordinates of the atoms
44 
45  // If given in pqr file, charge and radii will be assigned!
46  float charge;
47  float radii;
48  //If not pqr, use the default parameters for vdW radii
49  float VdW_Radius ();
51 };
52 
57 class Residue
58 {
59  Residue() {;};
60  ~Residue();
61  friend class PDB;
62  //friend class iterate;
63 
64  std::string Residue_Type;
65 
66 public:
68  Atom * Atoms;
71 };
72 
77 class PDB
78 {
79 private:
80  bool pqr;
81  //friend class iterate;
82 public:
83  //PDB() {;};
84  PDB();
85  PDB(bool);
86  ~PDB();
87 
90  float max_vdw;
93 
94 public:
95  void Read_PDB_File(std::ifstream&);
96  int Center_of_Geometry();
99 };
100 
101 /*class iterate
102 {
103 private:
104  Atom * start;
105  Atom * finish;
106  void * iter;
107  Atom begin();
108  Atom end();
109  iterate (PDB * THIS);
110  Atom operator++ ();
111 };*/
112 
113 #endif /* PROTEINDATABANKSTRUCTURE_HPP_ */
Definition: PDBstructure.hpp:28
float charge
Definition: PDBstructure.hpp:46
struct Atom::Coordinates Coord
float VdW_Radius()
atomic radii
Definition: PDBstructure.cpp:281
~Atom()
Atom destructor.
Definition: PDBstructure.cpp:19
std::string Atom_Type
Definition: PDBstructure.hpp:34
int Read_PDB_File()
int Atom_Number
Atom_type: H, C, O, etc.
Definition: PDBstructure.hpp:35
Atom()
Definition: PDBstructure.hpp:29
float radii
atomic charge
Definition: PDBstructure.hpp:47
Definition: PDBstructure.hpp:78
Atom::Coordinates CoG
Definition: PDBstructure.hpp:97
void Read_PDB_File(std::ifstream &)
Read the pdb file and extract the information.
Definition: PDBstructure.cpp:49
PDB()
flag for pdb or pqr file.
Definition: PDBstructure.cpp:28
float max_vdw
the toral number of atoms in the structure
Definition: PDBstructure.hpp:90
Residue * Residues
the maximum van der Waals value of any atom in the input pdb file.
Definition: PDBstructure.hpp:91
Residue Dummy
Definition: PDBstructure.hpp:92
int Center_of_Geometry()
Measure center of geometry of the structure.
Definition: PDBstructure.cpp:211
bool pqr
Definition: PDBstructure.hpp:80
~PDB()
PDB destructor.
Definition: PDBstructure.cpp:40
int Number_of_Residues
Definition: PDBstructure.hpp:88
int Get_Coordinates()
store the coordinates of Center of Geometry.
int Number_of_Atoms
the total number of residues in the structure
Definition: PDBstructure.hpp:89
Definition: PDBstructure.hpp:58
int Read_PDB_File()
a pointer for a list of Atom instances
Residue()
Definition: PDBstructure.hpp:59
Atom::Coordinates Center_of_Geometry()
Measure residue center of geometry.
Definition: PDBstructure.cpp:259
std::string Residue_Type
Definition: PDBstructure.hpp:64
Atom * Atoms
total number of items of the residue
Definition: PDBstructure.hpp:68
~Residue()
Residue destructor.
Definition: PDBstructure.cpp:22
int Number_of_Atoms
type of residue: ala, ser, tyr, etc..
Definition: PDBstructure.hpp:67
atom id number
Definition: PDBstructure.hpp:39
float X
Definition: PDBstructure.hpp:40
float Z
y coordinate of the atom
Definition: PDBstructure.hpp:42
float Y
x coordinate of the atom
Definition: PDBstructure.hpp:41
Imprint/Privacy