-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathstruct.h
131 lines (113 loc) · 2.95 KB
/
struct.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#define VER 1.041
#define PI 3.141592
#define ATOM 50000
#define RES 5000
#define AMI 20
#define LIN 256
#define radian 57.29577951308232088
//grid
#define GRINO 20000
/*def の環境設定*/
#define INC 15/*ligand回転の度数*/
#define MOV 1/*ligand移動の度数*/
#define START_RT 0 /*ligand回転のstart*/
#define START_MV 0 /*ligand移動のstart*/
#define FIN_RT 360
#define FIN_MV 0
#define ON 1
#define OFF 0
#define TRUE 0
#define FALSE -1
/*#define MATFILE "result030106"*/ /*スコアマトリクスのファイル*/
#define MATSIZE 1500
//#define MATLEN 600
#define MATAMI 24 /*マトリクスのアミノ酸種類*/
#define CSHNUM 20 /*衝突残基数の制限*/
/*マクロ設定*/
#define X(a) (a)*(a)
#define L(a,b,c,d,e,f) (sqrt((d-a)*(d-a)+(e-b)*(e-b)+(f-c)*(f-c)))/*ベクトル長*/
#define RAS(a) (2.000000*PI*a/360.000000)/*度->ラジアン*/
#define RAD(a) (2.000000*PI*a/360.000000)/*度->ラジアン*/
#define ANG(a) (360.000000*a/(2.000000*PI))/*ラジアン->度*/
#define GAUSS(a,b) 1.00/(sqrt(2.00*PI)*b)*exp(-(a*a)/(2.0*b*b))
/*triangle*/
#define MAXMTX 4
/*結果出力*/
#define TOP 3000
#define NOT_GAUSS 1
#define USE_GAUSS 0
#define VALIABLE 0
#define CONSTANT 1
typedef struct{
//double x,y,z;
float x,y,z;
}COORD;
typedef struct{
char fname[LIN];
int NumOfAtom, NumOfRes;
//int ResNnum[RES];
//int SS[RES];
//int AA2int_data[RES];
//int AA2int_data_real[RES];
//New!! from sakai typeatm.h
int TypeAtomOder[RES][17];
//int AtomOnRes[ATOM], SosuiAtom[ATOM], ConservedAtom[ATOM];
//char TypeAtom[ATOM][4], TypeRes[RES][4], Chain[ATOM][2],RealNum[RES][5];
float *Charge;
COORD *coord;
COORD CAcd[RES];
COORD *CBcd;
COORD *Cen;
COORD *Intra;//interaction
int NumOfIntra;
COORD *Nonin;//non intra
int NumOfNonin;
float *phi,*psi;
//HETATM
char **HET_TypeAtom;
COORD *HET_coord;
int NumOfHet;
int NumOfReal;
int RealResNum[RES];
//New 2012.10.29-----------------
double **xyz;
int *TypeAtomId,*TypeResId;
char **TypeAtom, **TypeRes, *Chain,**RealNum;
int *AtomOnRes, *SosuiAtom, *ConservedAtom;
int *ResOnAtom;
int *ResNum,*AtomNum;
double MaxXyz[3],MinXyz[3];
float *DepthAtom,*DepthRes;
} PDB;
typedef struct{
char filename[LIN];
char symfilename[LIN];
double map_t;
int Nthr;
double dreso,LocalR;
double MaxShift,MergeDist;
double Filter,Dkeep;
int Nround,Ntabu,Nnb,Nsim,Nbeam;
int Mode;
bool Sym,CopyMode;
double Allow;
} CMD;
/*
typedef struct{
char filename[LIN];
double map_t;
int Nthreads;
int xdim,ydim,zdim;
int mx,my,mz;
float xlen,ylen,zlen;
float alpha,beta,gamma;
int mapc,mapr,maps;
int dmin,dmax,dmean,ispg;
int nsymbt;
float orgxyz[3];
int NumVoxels;
float *dens;
float widthx,widthy,widthz;
unsigned int Nact;
} MRC;
*/