SLIKMC  1.0
 All Classes Functions Variables Pages
RamachandranPlot.h
1 /*
2  * RamachandranPlot.h
3  *
4  * Created on: Jun 6, 2012
5  * Author: Yajia
6  */
7 
8 #ifndef RAMACHANDRANPLOT_H_
9 #define RAMACHANDRANPLOT_H_
10 
11 #include <string.h>
12 #include <vector.h>
13 #include "PChain.h"
14 #include "DihedralAngle.h"
15 using namespace std;
16 
22 public:
31  RamachandranPlot( int size = 36, char* file_pro = "../Data/RamachandranPlot/pro.txt", char* file_pre_pro = "../Data/RamachandranPlot/pre_pro.txt",
32  char* file_gly = "../Data/RamachandranPlot/gly.txt", char* file_generic = "../Data/RamachandranPlot/gen.txt");
33 
37  virtual ~RamachandranPlot();
38 
44  DihedralAngle* getRandomDihedralAngle( int type);
45 
52  DihedralAngle* getRandomDihedralAngle( string name, string name_next);
53 
60  double getResidueAngleProbability( PChain* chain, int index);
61 
62  static const int PRO = 0;
63  static const int PRE_PRO = 1;
64  static const int GLY = 2;
65  static const int GENERIC = 3;
66 
67 private:
68  //accumulative probabilities
69  double* pro_acc;
70  double* pre_pro_acc;
71  double* gly_acc;
72  double* gen_acc;
73  //pure probabilities
74  double* pro;
75  double* pre_pro;
76  double* gly;
77  double* gen;
78  int size;
79  int gridnum;
80  double gridlength;
81 
87  double* construct( char* filename);
88 };
89 
90 #endif /* RAMACHANDRANPLOT_H_ */