UnityMol  1.0.25beta
cpdb.h
Go to the documentation of this file.
1 //
2 // cpdb.h
3 // cpdb
4 //
5 // Created by Gokhan SELAMET on 28/09/2016.
6 // Copyright © 2016 Gokhan SELAMET. All rights reserved.
7 //
8 
9 #ifndef cpdb_h
10 #define cpdb_h
11 
12 
13 #include <stdio.h>
14 #include <stdlib.h>
15 #include <string.h>
16 #include <math.h>
17 
18 
19 #define COMMIT_CPDB COMMITSHA1
20 
21 typedef struct pdb pdb;
22 typedef struct chain chain;
23 typedef struct residue residue;
24 typedef struct atom atom;
25 //typedef struct cl_float3 cl_float3;
26 
27 pdb* initPDB(void);
28 int parsePDB (char *pdbFilePath, pdb *P , char *options);
29 /*
30  by default, parsePDB function do not parse 'Hydrogene' atoms and 'Alternate Location' atoms.
31  To parse these atoms you can pass `options` variable with these characters
32  h: for parsing hydrogen atoms
33  l: for parsing alternate locations
34  a: is equal to h and l both on
35 */
36 
37 
38 struct float4
39 {
40  float x;
41  float y;
42  float z;
43  float w;
44 };
45 struct float3
46 {
47  float x;
48  float y;
49  float z;
50 };
51 struct int3
52 {
53  int x;
54  int y;
55  int z;
56 };
57 struct int2
58 {
59  int x;
60  int y;
61 };
62 
63 
64 int writePDB (const char *filename, const pdb *P);
65 int writeFilePDB (FILE *F, const pdb *P);
66 int printPDB (pdb *P);
67 void freePDB (pdb *P);
68 
69 void appendChaintoPdb (pdb *P, chain newChain);
70 void appendResiduetoChain (chain *C, residue newResidue);
71 void appendAtomtoResidue (residue *R, atom newAtom);
72 
73 atom* getAtom (residue *resA, char *atomType);
74 float distanceAtom (atom *A, atom*B);
75 //char isInteract (residue *A, residue *B, float limitDistance, int limitChainDistance);
76 //int intraInteractionCount (chain *C, float distanceLimit, int limitChainDistance);
77 
78 
79 struct atom {
80  int id;
81  int idx;
82  char type[5];
83  char element[3];
88 };
89 
90 struct residue {
91  int id;
92  int idx;
93  char type[5];
95  int size;
98 };
99 
100 struct chain {
101  char id;
103  int size;
105 };
106 
107 struct pdb {
109  int size;
111  char name[32];
112 };
113 
114 
115 
116 
117 #endif /* cpdb_h */
float z
Definition: MarchingCubes.h:37
residue * prev
Definition: cpdb.h:97
void freePDB(pdb *P)
Definition: cpdb.cpp:194
char type[5]
Definition: cpdb.h:82
residue * res
Definition: cpdb.h:87
float tfactor
Definition: cpdb.h:85
Definition: MarchingCubes.h:34
int writePDB(const char *filename, const pdb *P)
Definition: cpdb.cpp:159
int y
Definition: cpdb.h:60
float w
Definition: cpdb.h:43
Definition: MarchingCubes.h:28
int writeFilePDB(FILE *F, const pdb *P)
Definition: cpdb.cpp:172
int idx
Definition: cpdb.h:81
Definition: cpdb.h:107
float x
Definition: cpdb.h:40
Definition: cpdb.h:79
char type[5]
Definition: cpdb.h:93
Definition: cpdb.h:57
pdb * initPDB(void)
Definition: cpdb.cpp:30
Definition: cpdb.h:100
float distanceAtom(atom *A, atom *B)
Definition: utils.cpp:23
Definition: cpdb.h:38
int size
Definition: cpdb.h:103
atom * next
Definition: cpdb.h:86
chain * chains
Definition: cpdb.h:108
residue * residues
Definition: cpdb.h:102
Definition: cpdb.h:90
int size
Definition: cpdb.h:109
void appendChaintoPdb(pdb *P, chain newChain)
Definition: cpdb.cpp:276
int printPDB(pdb *P)
Definition: cpdb.cpp:189
float y
Definition: MarchingCubes.h:36
char name[32]
Definition: cpdb.h:111
float y
Definition: cpdb.h:41
atom * prev
Definition: cpdb.h:86
int __capacity
Definition: cpdb.h:104
int id
Definition: cpdb.h:80
int parsePDB(char *pdbFilePath, pdb *P, char *options)
Definition: cpdb.cpp:34
char id
Definition: cpdb.h:101
float3 coor
Definition: cpdb.h:84
char element[3]
Definition: cpdb.h:83
int x
Definition: cpdb.h:59
int __capacity
Definition: cpdb.h:96
float z
Definition: cpdb.h:42
void appendResiduetoChain(chain *C, residue newResidue)
Definition: cpdb.cpp:294
int __capacity
Definition: cpdb.h:110
int y
Definition: MarchingCubes.h:30
float occupancy
Definition: cpdb.h:85
atom * getAtom(residue *resA, char *atomType)
Definition: utils.cpp:12
int z
Definition: MarchingCubes.h:31
residue * next
Definition: cpdb.h:97
atom * atoms
Definition: cpdb.h:94
int x
Definition: MarchingCubes.h:29
int id
Definition: cpdb.h:91
float x
Definition: MarchingCubes.h:35
void appendAtomtoResidue(residue *R, atom newAtom)
Definition: cpdb.cpp:318
int size
Definition: cpdb.h:95
int idx
Definition: cpdb.h:92