4 /* $Id: blast.h,v 1.2 2006/02/20 08:29:20 akinjo Exp $ */
6 /* data structure for PSI-BLAST profile (PSSM) */
8 /* maximum sequence length */
10 /* secondary structure */
12 #define HALF_WINDOW_S 9
17 #define HALF_WINDOW_N 9
20 /* residue-wise contact order */
22 #define HALF_WINDOW_O 26
26 # define NI_UNITS_S ((2*HALF_WINDOW_S+1)*21 + 40)
27 # define NI_UNITS_N ((2*HALF_WINDOW_N+1)*21 + 40)
28 # define NI_UNITS_O ((2*HALF_WINDOW_O+1)*21 + 40)
29 #elif (NI_LEVEL==1 || NI_LEVEL==2)
30 # define NI_UNITS_S ((2*HALF_WINDOW_S+1)*21 + 20)
31 # define NI_UNITS_N ((2*HALF_WINDOW_N+1)*21 + 20)
32 # define NI_UNITS_O ((2*HALF_WINDOW_O+1)*21 + 20)
34 # define NI_UNITS_S ((2*HALF_WINDOW_S+1)*21)
35 # define NI_UNITS_N ((2*HALF_WINDOW_N+1)*21)
36 # define NI_UNITS_O ((2*HALF_WINDOW_O+1)*21)
39 #define NO_UNITS_S (3)
40 #define NO_UNITS_N (1)
41 #define NO_UNITS_O (1)
43 typedef struct _pssm {
47 double prof[MAXSEQ][21];
48 double compo[20]; /* AA composition */
50 /* site-dependent composition weighted by seq. sep.*/
51 double wlcompo[MAXSEQ][20];
60 double svec[MAXSEQ][NO_UNITS_S];
68 typedef struct _mydata {
71 pssm_t pssm[MAXFILES];
73 char *xxfile[MAXFILES];
76 extern const char amino1[]; /* one-letter amino acid code */
78 extern void read_pssm(const char *file, pssm_t *prof);
79 extern void read_ans(const char *file, ans_t *ans);
80 extern void pssm2iunit(const int window, const int ind, const pssm_t *apssm,
82 extern int read_file_list(char list[], mydata_t *adata);
84 double mymax3(double st[], int *ind);
85 extern void secdp(int len, double y[][3], char psec[]);
86 extern void secmax(int len, double y[][3], char psec[]);
87 #endif /* __blast_h_ */